compiler: cleanup usings.
parent
68b662c44c
commit
c65877104e
|
@ -1,16 +1,10 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel math namespaces assocs hashtables sequences arrays
|
||||
accessors words vectors combinators combinators.short-circuit
|
||||
sets classes layouts fry locals cpu.architecture
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.def-use
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.representations.preferred ;
|
||||
USING: accessors arrays assocs combinators.short-circuit
|
||||
compiler.cfg.comparisons compiler.cfg.instructions
|
||||
compiler.cfg.representations.preferred compiler.cfg.rpo
|
||||
compiler.cfg.utilities cpu.architecture fry kernel locals math
|
||||
namespaces sequences sets ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.alias-analysis
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators combinators.short-circuit compiler.utilities
|
||||
compiler.cfg compiler.cfg.instructions compiler.cfg.rpo
|
||||
compiler.cfg.predecessors compiler.cfg.utilities kernel math sequences ;
|
||||
USING: accessors combinators combinators.short-circuit
|
||||
compiler.cfg compiler.cfg.predecessors compiler.cfg.rpo
|
||||
compiler.cfg.utilities kernel sequences ;
|
||||
IN: compiler.cfg.block-joining
|
||||
|
||||
! Joining blocks that are not calls and are connected by a single CFG edge.
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
! Copyright (C) 2009, 2011 Doug Coleman, Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: arrays accessors assocs combinators combinators.short-circuit
|
||||
dlists deques kernel locals math math.order sequences
|
||||
sets vectors fry splitting compiler.cfg.def-use compiler.cfg
|
||||
compiler.cfg.rpo compiler.cfg.predecessors compiler.cfg.renaming
|
||||
compiler.cfg.instructions compiler.cfg.utilities ;
|
||||
USING: accessors arrays combinators combinators.short-circuit
|
||||
compiler.cfg compiler.cfg.instructions compiler.cfg.predecessors
|
||||
compiler.cfg.renaming compiler.cfg.rpo compiler.cfg.utilities
|
||||
deques dlists fry kernel locals math sequences sets vectors ;
|
||||
FROM: namespaces => get set ;
|
||||
IN: compiler.cfg.branch-splitting
|
||||
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: namespaces accessors math math.order assocs kernel
|
||||
sequences combinators classes words system fry locals
|
||||
cpu.architecture layouts compiler.cfg compiler.cfg.rpo
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.stack-frame ;
|
||||
USING: accessors compiler.cfg.instructions compiler.cfg.rpo
|
||||
compiler.cfg.stack-frame cpu.architecture kernel layouts locals
|
||||
math math.order namespaces sequences ;
|
||||
IN: compiler.cfg.build-stack-frame
|
||||
|
||||
SYMBOLS: param-area-size allot-area-size allot-area-align
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs arrays layouts math math.order
|
||||
math.parser combinators combinators.short-circuit fry make
|
||||
sequences sequences.generalizations alien alien.private
|
||||
alien.strings alien.c-types alien.libraries classes.struct
|
||||
namespaces kernel strings libc locals quotations words
|
||||
cpu.architecture compiler.utilities compiler.tree compiler.cfg
|
||||
compiler.cfg.builder compiler.cfg.builder.alien.params
|
||||
compiler.cfg.builder.alien.boxing compiler.cfg.builder.blocks
|
||||
compiler.cfg.instructions compiler.cfg.stack-frame
|
||||
compiler.cfg.stacks compiler.cfg.stacks.local
|
||||
compiler.cfg.registers compiler.cfg.hats compiler.errors ;
|
||||
USING: accessors alien alien.c-types alien.libraries
|
||||
alien.strings arrays assocs classes.struct combinators
|
||||
compiler.cfg compiler.cfg.builder
|
||||
compiler.cfg.builder.alien.boxing
|
||||
compiler.cfg.builder.alien.params compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.stacks compiler.cfg.stacks.local compiler.errors
|
||||
compiler.tree cpu.architecture fry kernel layouts make math
|
||||
math.parser namespaces sequences sequences.generalizations
|
||||
strings words ;
|
||||
FROM: compiler.errors => no-such-symbol no-such-library ;
|
||||
IN: compiler.cfg.builder.alien
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien.c-types arrays assocs combinators
|
||||
classes.struct fry kernel layouts locals math namespaces
|
||||
sequences sequences.generalizations system
|
||||
compiler.cfg.builder.alien.params compiler.cfg.hats
|
||||
compiler.cfg.registers compiler.cfg.instructions
|
||||
compiler.cfg.intrinsics.allot cpu.architecture ;
|
||||
USING: accessors alien.c-types arrays assocs classes.struct
|
||||
combinators compiler.cfg.builder.alien.params compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.intrinsics.allot
|
||||
compiler.cfg.registers cpu.architecture fry kernel layouts
|
||||
locals math namespaces sequences system ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
IN: compiler.cfg.builder.alien.boxing
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: cpu.architecture fry kernel layouts math math.order
|
||||
namespaces sequences vectors assocs arrays locals ;
|
||||
USING: arrays assocs cpu.architecture fry kernel layouts locals
|
||||
math math.order namespaces sequences vectors ;
|
||||
IN: compiler.cfg.builder.alien.params
|
||||
|
||||
SYMBOL: stack-params
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays fry kernel make math namespaces sequences
|
||||
compiler.cfg compiler.cfg.instructions compiler.cfg.stacks
|
||||
compiler.cfg.stacks.local ;
|
||||
USING: accessors arrays compiler.cfg compiler.cfg.instructions
|
||||
compiler.cfg.stacks compiler.cfg.stacks.local kernel make math
|
||||
namespaces sequences ;
|
||||
SLOT: in-d
|
||||
SLOT: out-d
|
||||
IN: compiler.cfg.builder.blocks
|
||||
|
||||
: set-basic-block ( basic-block -- )
|
||||
|
|
|
@ -1,25 +1,12 @@
|
|||
! Copyright (C) 2004, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs combinators hashtables kernel
|
||||
math fry namespaces make sequences words byte-arrays
|
||||
layouts alien.c-types
|
||||
stack-checker.inlining cpu.architecture
|
||||
compiler.tree
|
||||
compiler.tree.builder
|
||||
compiler.tree.combinators
|
||||
compiler.tree.propagation.info
|
||||
compiler.cfg
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.intrinsics
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.stack-frame
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.predecessors
|
||||
compiler.cfg.builder.blocks
|
||||
compiler.cfg.stacks
|
||||
compiler.cfg.stacks.local ;
|
||||
USING: accessors assocs combinators compiler.cfg
|
||||
compiler.cfg.builder.blocks compiler.cfg.comparisons
|
||||
compiler.cfg.hats compiler.cfg.instructions
|
||||
compiler.cfg.intrinsics compiler.cfg.registers
|
||||
compiler.cfg.stacks compiler.cfg.stacks.local compiler.tree
|
||||
cpu.architecture fry kernel make math namespaces sequences words
|
||||
;
|
||||
IN: compiler.cfg.builder
|
||||
|
||||
! Convert tree SSA IR to CFG IR. The result is not in SSA form; this is
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel math vectors arrays accessors namespaces ;
|
||||
USING: accessors kernel math namespaces vectors ;
|
||||
IN: compiler.cfg
|
||||
|
||||
TUPLE: basic-block < identity-tuple
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel combinators.short-circuit accessors math sequences
|
||||
sets assocs compiler.cfg.instructions compiler.cfg.rpo
|
||||
compiler.cfg.def-use compiler.cfg.linearization
|
||||
compiler.cfg.utilities compiler.cfg.finalization
|
||||
compiler.utilities ;
|
||||
USING: accessors compiler.cfg.rpo kernel sequences ;
|
||||
IN: compiler.cfg.checker
|
||||
|
||||
ERROR: bad-successors ;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: sets kernel namespaces assocs accessors sequences grouping
|
||||
fry compiler.cfg.def-use compiler.cfg.rpo
|
||||
compiler.cfg.renaming compiler.cfg.instructions
|
||||
compiler.cfg.predecessors compiler.cfg.utilities ;
|
||||
USING: accessors assocs compiler.cfg.def-use
|
||||
compiler.cfg.instructions compiler.cfg.predecessors
|
||||
compiler.cfg.renaming compiler.cfg.rpo compiler.cfg.utilities
|
||||
fry grouping kernel namespaces sequences ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.copy-prop
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs deques dlists kernel locals sequences lexer
|
||||
namespaces functors compiler.cfg.rpo compiler.cfg.utilities
|
||||
compiler.cfg.predecessors compiler.cfg ;
|
||||
USING: accessors assocs compiler.cfg.predecessors
|
||||
compiler.cfg.rpo deques dlists functors kernel lexer locals
|
||||
namespaces sequences ;
|
||||
IN: compiler.cfg.dataflow-analysis
|
||||
|
||||
GENERIC: join-sets ( sets bb dfa -- set )
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov, Daniel Ehrenberg.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs kernel namespaces sequences combinators
|
||||
compiler.cfg.instructions compiler.cfg.def-use
|
||||
compiler.cfg.rpo compiler.cfg.predecessors hash-sets sets ;
|
||||
USING: accessors arrays assocs combinators compiler.cfg.def-use
|
||||
compiler.cfg.instructions compiler.cfg.predecessors
|
||||
compiler.cfg.rpo kernel namespaces sequences sets ;
|
||||
FROM: assocs => change-at ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.dce
|
||||
|
|
|
@ -1,19 +1,17 @@
|
|||
! Copyright (C) 2008, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel words sequences quotations namespaces io vectors
|
||||
arrays hashtables classes.tuple math accessors prettyprint
|
||||
prettyprint.config assocs prettyprint.backend prettyprint.custom
|
||||
prettyprint.sections parser random compiler.tree.builder
|
||||
compiler.tree.optimizer cpu.architecture compiler.cfg.builder
|
||||
compiler.cfg.linearization compiler.cfg.registers
|
||||
compiler.cfg.stack-frame compiler.cfg.linear-scan
|
||||
compiler.cfg.optimizer compiler.cfg.finalization
|
||||
compiler.cfg.instructions compiler.cfg.utilities
|
||||
compiler.cfg.def-use compiler.cfg.rpo
|
||||
compiler.cfg.representations compiler.cfg.gc-checks
|
||||
compiler.cfg.save-contexts compiler.cfg
|
||||
compiler.cfg.representations.preferred
|
||||
compiler.cfg.scheduling compiler.units ;
|
||||
USING: accessors assocs classes.tuple compiler.cfg
|
||||
compiler.cfg.builder compiler.cfg.def-use
|
||||
compiler.cfg.finalization compiler.cfg.gc-checks
|
||||
compiler.cfg.instructions compiler.cfg.linearization
|
||||
compiler.cfg.optimizer compiler.cfg.registers
|
||||
compiler.cfg.representations
|
||||
compiler.cfg.representations.preferred compiler.cfg.rpo
|
||||
compiler.cfg.save-contexts compiler.cfg.scheduling
|
||||
compiler.cfg.utilities compiler.tree.builder
|
||||
compiler.tree.optimizer compiler.units hashtables io kernel math
|
||||
namespaces prettyprint prettyprint.backend prettyprint.custom
|
||||
prettyprint.sections quotations random sequences vectors words ;
|
||||
FROM: compiler.cfg.linearization => number-blocks ;
|
||||
IN: compiler.cfg.debugger
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
! Copyright (C) 2008, 2011 Slava Pestov, Daniel Ehrenberg.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs arrays classes combinators
|
||||
compiler.units fry generalizations sequences.generalizations
|
||||
generic kernel locals namespaces quotations sequences sets slots
|
||||
words compiler.cfg.instructions compiler.cfg.instructions.syntax
|
||||
compiler.cfg.rpo compiler.cfg ;
|
||||
USING: accessors arrays assocs combinators compiler.cfg
|
||||
compiler.cfg.instructions compiler.cfg.instructions.syntax
|
||||
compiler.cfg.rpo compiler.units fry generic kernel namespaces
|
||||
quotations sequences sequences.generalizations sets slots words
|
||||
;
|
||||
FROM: namespaces => set ;
|
||||
FROM: sets => members ;
|
||||
IN: compiler.cfg.def-use
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2009, 2010 Daniel Ehrenberg.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs combinators compiler.cfg.def-use
|
||||
compiler.cfg.instructions compiler.cfg.registers fry kernel locals
|
||||
namespaces sequences sorting make math math.vectors sets vectors ;
|
||||
USING: accessors assocs compiler.cfg.def-use
|
||||
compiler.cfg.instructions fry kernel locals math math.vectors
|
||||
namespaces sequences sets sorting vectors ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.dependence
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs combinators sets math fry kernel math.order
|
||||
dlists deques vectors namespaces sequences sorting locals
|
||||
compiler.cfg.rpo compiler.cfg.predecessors ;
|
||||
USING: accessors assocs combinators compiler.cfg.predecessors
|
||||
compiler.cfg.rpo deques dlists fry kernel locals math math.order
|
||||
namespaces sequences sorting vectors ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.dominance
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel compiler.cfg.representations
|
||||
compiler.cfg.scheduling compiler.cfg.gc-checks
|
||||
compiler.cfg.write-barrier compiler.cfg.save-contexts
|
||||
compiler.cfg.ssa.destruction compiler.cfg.build-stack-frame
|
||||
compiler.cfg.linear-scan compiler.cfg.stacks.vacant
|
||||
compiler.cfg.utilities ;
|
||||
USING: compiler.cfg.build-stack-frame compiler.cfg.gc-checks
|
||||
compiler.cfg.linear-scan compiler.cfg.representations
|
||||
compiler.cfg.save-contexts compiler.cfg.scheduling
|
||||
compiler.cfg.ssa.destruction compiler.cfg.stacks.vacant
|
||||
compiler.cfg.utilities compiler.cfg.write-barrier ;
|
||||
IN: compiler.cfg.finalization
|
||||
|
||||
: finalize-cfg ( cfg -- )
|
||||
|
|
|
@ -1,15 +1,10 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs combinators fry grouping kernel layouts
|
||||
locals math make namespaces sequences cpu.architecture
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.predecessors ;
|
||||
USING: accessors assocs compiler.cfg compiler.cfg.comparisons
|
||||
compiler.cfg.instructions compiler.cfg.predecessors
|
||||
compiler.cfg.registers compiler.cfg.rpo compiler.cfg.utilities
|
||||
cpu.architecture grouping kernel layouts locals make math
|
||||
namespaces sequences ;
|
||||
IN: compiler.cfg.gc-checks
|
||||
|
||||
<PRIVATE
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien arrays byte-arrays classes.algebra
|
||||
combinators.short-circuit kernel layouts math namespaces
|
||||
sequences combinators splitting parser effects words
|
||||
cpu.architecture compiler.constants compiler.cfg.registers
|
||||
compiler.cfg.instructions compiler.cfg.instructions.syntax ;
|
||||
USING: accessors alien byte-arrays classes.algebra combinators
|
||||
compiler.cfg.instructions compiler.cfg.instructions.syntax
|
||||
compiler.cfg.registers compiler.constants effects kernel layouts
|
||||
math namespaces parser sequences splitting words ;
|
||||
IN: compiler.cfg.hats
|
||||
|
||||
<<
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors math namespaces sequences kernel fry
|
||||
compiler.cfg compiler.cfg.registers compiler.cfg.instructions
|
||||
compiler.cfg.rpo ;
|
||||
USING: accessors compiler.cfg.instructions
|
||||
compiler.cfg.registers compiler.cfg.rpo fry kernel math
|
||||
namespaces sequences ;
|
||||
IN: compiler.cfg.height
|
||||
|
||||
! Combine multiple stack height changes into one at the
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
! Copyright (C) 2008, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: assocs accessors arrays kernel sequences namespaces words
|
||||
math math.order layouts classes.union compiler.units alien
|
||||
byte-arrays combinators compiler.cfg.registers
|
||||
compiler.cfg.instructions.syntax ;
|
||||
USING: accessors compiler.cfg.instructions.syntax kernel math
|
||||
namespaces ;
|
||||
IN: compiler.cfg.instructions
|
||||
|
||||
<<
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: classes.tuple classes.tuple.parser kernel words
|
||||
make fry sequences parser accessors effects namespaces
|
||||
combinators splitting classes.parser lexer quotations ;
|
||||
USING: accessors classes.parser classes.tuple combinators
|
||||
effects fry kernel lexer make namespaces parser sequences
|
||||
splitting words ;
|
||||
IN: compiler.cfg.instructions.syntax
|
||||
|
||||
SYMBOLS: def use temp literal ;
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel math math.order sequences accessors arrays
|
||||
byte-arrays layouts classes.tuple.private fry locals
|
||||
compiler.tree.propagation.info compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.stacks
|
||||
compiler.cfg.utilities compiler.cfg.builder.blocks
|
||||
compiler.constants cpu.architecture alien.c-types ;
|
||||
USING: accessors arrays byte-arrays compiler.cfg.builder.blocks
|
||||
compiler.cfg.hats compiler.cfg.instructions compiler.cfg.stacks
|
||||
compiler.constants compiler.tree.propagation.info
|
||||
cpu.architecture fry kernel layouts locals math math.order
|
||||
sequences ;
|
||||
IN: compiler.cfg.intrinsics.allot
|
||||
|
||||
: ##set-slots, ( regs obj class -- )
|
||||
|
|
|
@ -1,17 +1,10 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov, Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: sequences accessors layouts kernel math math.intervals
|
||||
namespaces combinators fry arrays
|
||||
cpu.architecture
|
||||
compiler.tree.propagation.info
|
||||
compiler.cfg
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.stacks
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.builder.blocks
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.comparisons ;
|
||||
USING: accessors arrays combinators compiler.cfg.builder.blocks
|
||||
compiler.cfg.comparisons compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.stacks
|
||||
compiler.tree.propagation.info cpu.architecture fry kernel
|
||||
layouts math math.intervals namespaces sequences ;
|
||||
IN: compiler.cfg.intrinsics.fixnum
|
||||
|
||||
: emit-both-fixnums? ( -- )
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: fry kernel compiler.cfg.stacks compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.utilities ;
|
||||
USING: compiler.cfg.hats compiler.cfg.stacks fry ;
|
||||
IN: compiler.cfg.intrinsics.float
|
||||
|
||||
: emit-float-ordered-comparison ( cc -- )
|
||||
|
|
|
@ -1,34 +1,27 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov, Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: words sequences kernel combinators cpu.architecture assocs
|
||||
math.bitwise
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.stacks
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.intrinsics.alien
|
||||
compiler.cfg.intrinsics.allot
|
||||
compiler.cfg.intrinsics.fixnum
|
||||
compiler.cfg.intrinsics.float
|
||||
compiler.cfg.intrinsics.slots
|
||||
compiler.cfg.intrinsics.strings
|
||||
compiler.cfg.intrinsics.misc
|
||||
compiler.cfg.comparisons ;
|
||||
USING: assocs compiler.cfg.comparisons compiler.cfg.hats
|
||||
compiler.cfg.intrinsics.alien compiler.cfg.intrinsics.allot
|
||||
compiler.cfg.intrinsics.fixnum compiler.cfg.intrinsics.float
|
||||
compiler.cfg.intrinsics.misc compiler.cfg.intrinsics.slots
|
||||
compiler.cfg.intrinsics.strings compiler.cfg.stacks
|
||||
cpu.architecture kernel words ;
|
||||
QUALIFIED: alien
|
||||
QUALIFIED: alien.accessors
|
||||
QUALIFIED: alien.data.private
|
||||
QUALIFIED: alien.c-types
|
||||
QUALIFIED: kernel
|
||||
QUALIFIED: alien.data.private
|
||||
QUALIFIED: arrays
|
||||
QUALIFIED: byte-arrays
|
||||
QUALIFIED: classes.tuple.private
|
||||
QUALIFIED: kernel
|
||||
QUALIFIED: kernel.private
|
||||
QUALIFIED: math.bitwise.private
|
||||
QUALIFIED: math.floats.private
|
||||
QUALIFIED: math.integers.private
|
||||
QUALIFIED: math.libm
|
||||
QUALIFIED: math.private
|
||||
QUALIFIED: slots.private
|
||||
QUALIFIED: strings.private
|
||||
QUALIFIED: classes.tuple.private
|
||||
QUALIFIED: math.private
|
||||
QUALIFIED: math.bitwise.private
|
||||
QUALIFIED: math.integers.private
|
||||
QUALIFIED: math.floats.private
|
||||
QUALIFIED: math.libm
|
||||
IN: compiler.cfg.intrinsics
|
||||
|
||||
ERROR: inline-intrinsics-not-supported word quot ;
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors classes.algebra layouts kernel math namespaces
|
||||
sequences cpu.architecture
|
||||
compiler.tree.propagation.info
|
||||
compiler.cfg.stacks
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.builder.blocks
|
||||
compiler.cfg.utilities ;
|
||||
USING: accessors classes.algebra compiler.cfg.builder.blocks
|
||||
compiler.cfg.comparisons compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.stacks
|
||||
compiler.tree.propagation.info cpu.architecture kernel layouts
|
||||
math namespaces sequences ;
|
||||
FROM: vm => context-field-offset vm-field-offset ;
|
||||
QUALIFIED-WITH: alien.c-types c
|
||||
IN: compiler.cfg.intrinsics.misc
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
! (c)2009 Joe Groff bsd license
|
||||
USING: accessors arrays assocs classes combinators
|
||||
combinators.short-circuit compiler.cfg.builder.blocks
|
||||
compiler.cfg.registers compiler.cfg.stacks
|
||||
compiler.cfg.stacks.local compiler.tree.propagation.info
|
||||
compiler.cfg.instructions
|
||||
cpu.architecture effects fry generalizations
|
||||
kernel locals macros make math namespaces quotations sequences
|
||||
sequences.generalizations splitting stack-checker words ;
|
||||
USING: accessors arrays classes combinators
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.stacks compiler.cfg.stacks.local
|
||||
compiler.tree.propagation.info cpu.architecture fry
|
||||
generalizations kernel locals macros make math quotations
|
||||
sequences sequences.generalizations ;
|
||||
IN: compiler.cfg.intrinsics.simd.backend
|
||||
|
||||
! Selection of implementation based on available CPU instructions
|
||||
|
|
|
@ -1,18 +1,12 @@
|
|||
! Copyright (C) 2009 Slava Pestov, Joe Groff.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien alien.c-types byte-arrays fry
|
||||
classes.algebra cpu.architecture kernel layouts math sequences
|
||||
math.vectors math.vectors.simd.intrinsics
|
||||
macros generalizations combinators combinators.short-circuit
|
||||
arrays locals compiler.tree.propagation.info
|
||||
compiler.cfg.builder.blocks
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.stacks compiler.cfg.stacks.local compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.intrinsics
|
||||
compiler.cfg.intrinsics.alien
|
||||
compiler.cfg.intrinsics.simd.backend
|
||||
specialized-arrays ;
|
||||
USING: accessors alien.c-types arrays byte-arrays combinators
|
||||
combinators.short-circuit compiler.cfg.comparisons
|
||||
compiler.cfg.hats compiler.cfg.instructions
|
||||
compiler.cfg.intrinsics compiler.cfg.intrinsics.alien
|
||||
compiler.cfg.intrinsics.simd.backend compiler.cfg.stacks
|
||||
cpu.architecture fry kernel layouts locals math math.vectors
|
||||
math.vectors.simd.intrinsics sequences specialized-arrays ;
|
||||
FROM: alien.c-types => heap-size char short int longlong float double ;
|
||||
SPECIALIZED-ARRAYS: char uchar short ushort int uint longlong ulonglong float double ;
|
||||
IN: compiler.cfg.intrinsics.simd
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: layouts namespaces kernel accessors sequences math
|
||||
classes.algebra classes.builtin locals combinators
|
||||
combinators.short-circuit cpu.architecture
|
||||
compiler.tree.propagation.info compiler.cfg.stacks
|
||||
compiler.cfg.hats compiler.cfg.registers
|
||||
compiler.cfg.instructions compiler.cfg.utilities
|
||||
compiler.cfg.builder.blocks compiler.constants ;
|
||||
USING: accessors classes.algebra classes.builtin
|
||||
combinators.short-circuit compiler.cfg.builder.blocks
|
||||
compiler.cfg.hats compiler.cfg.instructions
|
||||
compiler.cfg.registers compiler.cfg.stacks
|
||||
compiler.tree.propagation.info cpu.architecture kernel layouts
|
||||
locals math namespaces sequences ;
|
||||
IN: compiler.cfg.intrinsics.slots
|
||||
|
||||
: class-tag ( class -- tag/f )
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: alien.c-types kernel compiler.constants compiler.cfg.hats
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.stacks cpu.architecture ;
|
||||
USING: alien.c-types compiler.cfg.hats compiler.cfg.instructions
|
||||
compiler.cfg.stacks compiler.constants cpu.architecture kernel ;
|
||||
IN: compiler.cfg.intrinsics.strings
|
||||
|
||||
: (string-nth) ( n string -- base offset rep c-type )
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs binary-search combinators
|
||||
combinators.short-circuit heaps kernel namespaces
|
||||
sequences fry locals math math.order arrays sorting
|
||||
compiler.utilities
|
||||
compiler.cfg.linear-scan.live-intervals
|
||||
USING: accessors assocs combinators combinators.short-circuit
|
||||
compiler.cfg.linear-scan.allocation.spilling
|
||||
compiler.cfg.linear-scan.allocation.splitting
|
||||
compiler.cfg.linear-scan.allocation.state ;
|
||||
compiler.cfg.linear-scan.allocation.state
|
||||
compiler.cfg.linear-scan.live-intervals compiler.utilities fry
|
||||
heaps kernel locals math namespaces sequences ;
|
||||
IN: compiler.cfg.linear-scan.allocation
|
||||
|
||||
: active-positions ( new assoc -- )
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs combinators fry hints kernel locals
|
||||
math sequences sets sorting splitting namespaces linked-assocs
|
||||
combinators.short-circuit compiler.utilities
|
||||
compiler.cfg.linear-scan.allocation.state
|
||||
USING: accessors assocs combinators
|
||||
compiler.cfg.linear-scan.allocation.splitting
|
||||
compiler.cfg.linear-scan.live-intervals ;
|
||||
compiler.cfg.linear-scan.allocation.state
|
||||
compiler.cfg.linear-scan.live-intervals compiler.utilities fry
|
||||
kernel linked-assocs locals math namespaces sequences ;
|
||||
IN: compiler.cfg.linear-scan.allocation.spilling
|
||||
|
||||
ERROR: bad-live-ranges interval ;
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs binary-search combinators
|
||||
combinators.short-circuit fry hints kernel locals
|
||||
math math.order sequences sets sorting splitting namespaces
|
||||
USING: accessors binary-search combinators
|
||||
compiler.cfg.linear-scan.allocation.state
|
||||
compiler.cfg.linear-scan.live-intervals ;
|
||||
compiler.cfg.linear-scan.live-intervals fry hints kernel locals
|
||||
math math.order namespaces sequences ;
|
||||
IN: compiler.cfg.linear-scan.allocation.splitting
|
||||
|
||||
: split-range ( live-range n -- before after )
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: arrays accessors assocs combinators cpu.architecture fry
|
||||
heaps kernel math math.order namespaces layouts sequences vectors
|
||||
linked-assocs compiler.cfg compiler.cfg.registers
|
||||
USING: accessors arrays assocs combinators compiler.cfg
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.linear-scan.live-intervals ;
|
||||
compiler.cfg.linear-scan.live-intervals compiler.cfg.registers
|
||||
cpu.architecture fry heaps kernel layouts linked-assocs math
|
||||
math.order namespaces sequences ;
|
||||
FROM: assocs => change-at ;
|
||||
IN: compiler.cfg.linear-scan.allocation.state
|
||||
|
||||
|
|
|
@ -1,19 +1,13 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel math assocs namespaces sequences heaps
|
||||
fry make combinators combinators.short-circuit sets locals arrays
|
||||
cpu.architecture layouts
|
||||
compiler.cfg
|
||||
compiler.cfg.def-use
|
||||
compiler.cfg.liveness
|
||||
compiler.cfg.registers
|
||||
USING: accessors assocs combinators compiler.cfg
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.linearization
|
||||
compiler.cfg.ssa.destruction.leaders
|
||||
compiler.cfg.renaming.functor
|
||||
compiler.cfg.linear-scan.allocation
|
||||
compiler.cfg.linear-scan.allocation.state
|
||||
compiler.cfg.linear-scan.live-intervals ;
|
||||
compiler.cfg.linear-scan.live-intervals
|
||||
compiler.cfg.linearization compiler.cfg.liveness
|
||||
compiler.cfg.registers compiler.cfg.renaming.functor
|
||||
compiler.cfg.ssa.destruction.leaders heaps kernel locals make
|
||||
math namespaces sequences ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.linear-scan.assignment
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel sequences sets arrays math strings fry
|
||||
namespaces prettyprint compiler.cfg.linear-scan.live-intervals
|
||||
compiler.cfg.linear-scan.allocation compiler.cfg assocs ;
|
||||
FROM: namespaces => set ;
|
||||
USING: accessors arrays assocs
|
||||
compiler.cfg.linear-scan.allocation
|
||||
compiler.cfg.linear-scan.live-intervals fry kernel math
|
||||
namespaces prettyprint sequences strings ;
|
||||
IN: compiler.cfg.linear-scan.debugger
|
||||
|
||||
: check-linear-scan ( live-intervals machine-registers -- )
|
||||
|
|
|
@ -1,18 +1,11 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel accessors assocs sequences namespaces make locals
|
||||
cpu.architecture
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.linear-scan.numbering
|
||||
compiler.cfg.linear-scan.live-intervals
|
||||
compiler.cfg.linear-scan.allocation
|
||||
compiler.cfg.linear-scan.allocation.state
|
||||
USING: accessors assocs compiler.cfg.linear-scan.allocation
|
||||
compiler.cfg.linear-scan.assignment
|
||||
compiler.cfg.linear-scan.resolve ;
|
||||
FROM: assocs => change-at ;
|
||||
compiler.cfg.linear-scan.live-intervals
|
||||
compiler.cfg.linear-scan.numbering
|
||||
compiler.cfg.linear-scan.resolve cpu.architecture kernel locals
|
||||
sequences ;
|
||||
IN: compiler.cfg.linear-scan
|
||||
|
||||
! References:
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: namespaces kernel assocs accessors locals sequences math
|
||||
math.order fry combinators binary-search
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.def-use
|
||||
compiler.cfg.liveness
|
||||
compiler.cfg.linearization
|
||||
compiler.cfg.ssa.destruction.leaders
|
||||
compiler.cfg
|
||||
cpu.architecture ;
|
||||
USING: accessors assocs binary-search combinators
|
||||
compiler.cfg.def-use compiler.cfg.instructions
|
||||
compiler.cfg.linearization compiler.cfg.liveness
|
||||
compiler.cfg.registers compiler.cfg.ssa.destruction.leaders
|
||||
cpu.architecture fry kernel locals math math.order namespaces
|
||||
sequences ;
|
||||
IN: compiler.cfg.linear-scan.live-intervals
|
||||
|
||||
TUPLE: live-range from to ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel accessors math sequences grouping namespaces
|
||||
compiler.cfg.linearization ;
|
||||
USING: accessors compiler.cfg.linearization grouping kernel math
|
||||
namespaces sequences ;
|
||||
IN: compiler.cfg.linear-scan.numbering
|
||||
|
||||
: number-instruction ( n insn -- n' )
|
||||
|
|
|
@ -1,20 +1,12 @@
|
|||
! Copyright (C) 2009, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs combinators
|
||||
combinators.short-circuit fry kernel locals namespaces
|
||||
make math sequences hashtables
|
||||
cpu.architecture
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.liveness
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.predecessors
|
||||
compiler.cfg.parallel-copy
|
||||
compiler.cfg.ssa.destruction
|
||||
compiler.cfg.linear-scan.assignment
|
||||
compiler.cfg.linear-scan.allocation.state ;
|
||||
combinators.short-circuit compiler.cfg compiler.cfg.instructions
|
||||
compiler.cfg.linear-scan.allocation.state
|
||||
compiler.cfg.linear-scan.assignment compiler.cfg.parallel-copy
|
||||
compiler.cfg.predecessors compiler.cfg.registers
|
||||
compiler.cfg.rpo compiler.cfg.utilities cpu.architecture fry
|
||||
kernel locals make namespaces sequences ;
|
||||
IN: compiler.cfg.linear-scan.resolve
|
||||
|
||||
TUPLE: location
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs deques dlists hashtables kernel
|
||||
make sorting namespaces sequences combinators
|
||||
combinators.short-circuit fry math compiler.cfg.rpo
|
||||
compiler.cfg.utilities compiler.cfg.loop-detection
|
||||
compiler.cfg.predecessors sets hash-sets ;
|
||||
USING: accessors assocs combinators combinators.short-circuit
|
||||
compiler.cfg.loop-detection compiler.cfg.predecessors
|
||||
compiler.cfg.rpo compiler.cfg.utilities deques dlists fry kernel
|
||||
make math namespaces sequences sets sorting ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.linearization
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: arrays kernel accessors assocs fry locals combinators
|
||||
deques dlists namespaces sequences sets compiler.cfg
|
||||
compiler.cfg.def-use compiler.cfg.instructions
|
||||
compiler.cfg.registers compiler.cfg.ssa.destruction.leaders
|
||||
compiler.cfg.utilities compiler.cfg.predecessors
|
||||
compiler.cfg.rpo cpu.architecture ;
|
||||
USING: accessors assocs combinators compiler.cfg.def-use
|
||||
compiler.cfg.instructions compiler.cfg.predecessors
|
||||
compiler.cfg.registers compiler.cfg.rpo
|
||||
compiler.cfg.ssa.destruction.leaders compiler.cfg.utilities
|
||||
cpu.architecture deques dlists fry kernel locals namespaces
|
||||
sequences sets ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.liveness
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs combinators deques dlists fry kernel
|
||||
namespaces sequences sets compiler.cfg compiler.cfg.predecessors ;
|
||||
USING: accessors assocs compiler.cfg compiler.cfg.predecessors
|
||||
deques dlists fry kernel namespaces sequences sets ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.loop-detection
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: assocs cpu.architecture compiler.cfg.registers
|
||||
compiler.cfg.instructions compiler.cfg.ssa.destruction.leaders
|
||||
deques dlists fry kernel locals namespaces sequences hashtables ;
|
||||
USING: assocs compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.ssa.destruction.leaders cpu.architecture deques
|
||||
dlists fry kernel locals namespaces sequences ;
|
||||
FROM: sets => conjoin ;
|
||||
IN: compiler.cfg.parallel-copy
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel accessors fry sequences assocs compiler.cfg.rpo
|
||||
compiler.cfg.instructions compiler.cfg.utilities ;
|
||||
USING: accessors assocs compiler.cfg.rpo compiler.cfg.utilities
|
||||
fry kernel sequences ;
|
||||
IN: compiler.cfg.predecessors
|
||||
|
||||
<PRIVATE
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors namespaces kernel math parser assocs sequences ;
|
||||
USING: assocs kernel math namespaces parser sequences ;
|
||||
IN: compiler.cfg.registers
|
||||
|
||||
! Virtual registers, used by CFG and machine IRs, are just integers
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
! Copyright (C) 2009, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs fry functors generic.parser
|
||||
kernel lexer namespaces parser sequences slots words sets
|
||||
compiler.cfg.def-use compiler.cfg.instructions
|
||||
compiler.cfg.instructions.syntax ;
|
||||
USING: accessors arrays assocs compiler.cfg.def-use
|
||||
compiler.cfg.instructions compiler.cfg.instructions.syntax fry
|
||||
functors generic.parser kernel lexer namespaces parser sequences
|
||||
sets slots words ;
|
||||
IN: compiler.cfg.renaming.functor
|
||||
|
||||
! Like compiler.cfg.def-use, but for changing operands
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs kernel namespaces sequences
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.renaming.functor ;
|
||||
USING: assocs compiler.cfg.registers
|
||||
compiler.cfg.renaming.functor kernel namespaces ;
|
||||
IN: compiler.cfg.renaming
|
||||
|
||||
SYMBOL: renamings
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors byte-arrays combinators
|
||||
combinators.short-circuit kernel layouts locals make math
|
||||
namespaces sequences cpu.architecture compiler.cfg.registers
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.representations.rewrite
|
||||
compiler.cfg.representations.selection ;
|
||||
combinators.short-circuit compiler.cfg.instructions
|
||||
compiler.cfg.registers compiler.cfg.representations.rewrite
|
||||
compiler.cfg.representations.selection cpu.architecture kernel
|
||||
layouts locals make math namespaces sequences ;
|
||||
IN: compiler.cfg.representations.peephole
|
||||
|
||||
! Representation selection performs some peephole optimizations
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel accessors sequences arrays fry namespaces generic
|
||||
words sets combinators generalizations sequences.generalizations
|
||||
cpu.architecture compiler.units compiler.cfg.utilities
|
||||
compiler.cfg compiler.cfg.rpo compiler.cfg.instructions
|
||||
compiler.cfg.def-use ;
|
||||
USING: accessors arrays combinators compiler.cfg.def-use
|
||||
compiler.cfg.instructions compiler.units cpu.architecture fry
|
||||
generic kernel namespaces sequences sequences.generalizations
|
||||
sets words ;
|
||||
FROM: compiler.cfg.instructions.syntax => insn-def-slots
|
||||
insn-use-slots insn-temp-slots scalar-rep ;
|
||||
FROM: namespaces => set ;
|
||||
|
|
|
@ -2,15 +2,14 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING:
|
||||
compiler.cfg
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.predecessors
|
||||
compiler.cfg.loop-detection
|
||||
compiler.cfg.representations.rewrite
|
||||
compiler.cfg.representations.peephole
|
||||
compiler.cfg.representations.selection
|
||||
compiler.cfg.predecessors
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.representations.coalescing
|
||||
compiler.cfg.utilities
|
||||
kernel ;
|
||||
compiler.cfg.representations.peephole
|
||||
compiler.cfg.representations.rewrite
|
||||
compiler.cfg.representations.selection
|
||||
compiler.cfg.utilities ;
|
||||
IN: compiler.cfg.representations
|
||||
|
||||
! Virtual register representation selection. This is where
|
||||
|
|
|
@ -1,16 +1,10 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs combinators
|
||||
combinators.short-circuit layouts kernel locals make math
|
||||
namespaces sequences
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.renaming.functor
|
||||
USING: arrays assocs compiler.cfg.instructions
|
||||
compiler.cfg.registers compiler.cfg.renaming.functor
|
||||
compiler.cfg.representations.conversion
|
||||
compiler.cfg.representations.preferred
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.utilities
|
||||
cpu.architecture ;
|
||||
compiler.cfg.representations.preferred compiler.cfg.rpo kernel
|
||||
locals make namespaces sequences ;
|
||||
IN: compiler.cfg.representations.rewrite
|
||||
|
||||
! Insert conversions. This introduces new temporaries, so we need
|
||||
|
|
|
@ -1,18 +1,13 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs byte-arrays combinators
|
||||
disjoint-sets fry kernel locals math math.functions
|
||||
namespaces sequences sets
|
||||
compiler.cfg
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.loop-detection
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.representations.preferred
|
||||
compiler.cfg compiler.cfg.instructions
|
||||
compiler.cfg.loop-detection compiler.cfg.registers
|
||||
compiler.cfg.representations.coalescing
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.utilities
|
||||
compiler.utilities
|
||||
cpu.architecture ;
|
||||
compiler.cfg.representations.preferred compiler.cfg.rpo
|
||||
compiler.cfg.utilities compiler.utilities cpu.architecture
|
||||
disjoint-sets fry kernel locals math math.functions namespaces
|
||||
sequences sets ;
|
||||
FROM: assocs => change-at ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.representations.selection
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel accessors namespaces make math sequences sets
|
||||
assocs fry compiler.cfg compiler.cfg.instructions ;
|
||||
USING: accessors compiler.cfg fry kernel make sequences sets ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.rpo
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.rpo cpu.architecture kernel sequences vectors
|
||||
combinators.short-circuit ;
|
||||
USING: accessors combinators.short-circuit
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.rpo cpu.architecture kernel sequences ;
|
||||
IN: compiler.cfg.save-contexts
|
||||
|
||||
! Insert context saves.
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
! Copyright (C) 2009, 2010 Daniel Ehrenberg.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs compiler.cfg.def-use compiler.cfg.dependence
|
||||
compiler.cfg.instructions compiler.cfg.linear-scan.numbering compiler.cfg.rpo
|
||||
cpu.architecture fry kernel make math namespaces sequences sets splitting ;
|
||||
USING: accessors arrays assocs compiler.cfg.dependence
|
||||
compiler.cfg.instructions compiler.cfg.linear-scan.numbering
|
||||
compiler.cfg.rpo fry kernel make math namespaces sequences
|
||||
splitting ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.scheduling
|
||||
|
||||
|
|
|
@ -1,16 +1,11 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: namespaces kernel accessors sequences fry assocs
|
||||
sets math combinators deques dlists
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.def-use
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.dominance
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.renaming
|
||||
compiler.cfg.renaming.functor
|
||||
compiler.cfg.ssa.construction.tdmsc ;
|
||||
USING: accessors assocs combinators compiler.cfg
|
||||
compiler.cfg.def-use compiler.cfg.dominance
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.renaming.functor compiler.cfg.rpo
|
||||
compiler.cfg.ssa.construction.tdmsc deques dlists fry kernel
|
||||
math namespaces sequences sets ;
|
||||
FROM: assocs => change-at ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.ssa.construction
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs bit-arrays bit-sets combinators compiler.cfg
|
||||
compiler.cfg.dominance compiler.cfg.rpo compiler.cfg.utilities fry
|
||||
hashtables hints kernel locals math namespaces sequences sets ;
|
||||
USING: accessors arrays assocs bit-sets compiler.cfg
|
||||
compiler.cfg.dominance compiler.cfg.rpo compiler.cfg.utilities
|
||||
fry hashtables kernel locals math namespaces sequences sets ;
|
||||
FROM: namespaces => set ;
|
||||
FROM: assocs => change-at ;
|
||||
IN: compiler.cfg.ssa.construction.tdmsc
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
! Copyright (C) 2009, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs kernel locals fry make namespaces
|
||||
sequences cpu.architecture
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.predecessors
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.instructions ;
|
||||
USING: accessors assocs compiler.cfg compiler.cfg.instructions
|
||||
compiler.cfg.predecessors compiler.cfg.registers
|
||||
compiler.cfg.rpo compiler.cfg.utilities fry kernel locals make
|
||||
namespaces sequences ;
|
||||
FROM: assocs => change-at ;
|
||||
IN: compiler.cfg.ssa.cssa
|
||||
|
||||
|
|
|
@ -1,21 +1,13 @@
|
|||
! Copyright (C) 2009, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs combinators fry locals kernel
|
||||
make namespaces sequences sequences.deep sets vectors
|
||||
cpu.architecture
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.def-use
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.dominance
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.liveness
|
||||
compiler.cfg.ssa.cssa
|
||||
USING: accessors arrays assocs combinators compiler.cfg.def-use
|
||||
compiler.cfg.dominance compiler.cfg.instructions
|
||||
compiler.cfg.liveness compiler.cfg.parallel-copy
|
||||
compiler.cfg.registers compiler.cfg.rpo compiler.cfg.ssa.cssa
|
||||
compiler.cfg.ssa.destruction.leaders
|
||||
compiler.cfg.ssa.interference
|
||||
compiler.cfg.ssa.interference.live-ranges
|
||||
compiler.cfg.parallel-copy
|
||||
compiler.cfg.utilities
|
||||
compiler.utilities ;
|
||||
compiler.cfg.ssa.interference.live-ranges cpu.architecture
|
||||
kernel locals make namespaces sequences sets ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.ssa.destruction
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs combinators
|
||||
combinators.short-circuit fry kernel math math.order sorting
|
||||
sorting.slots namespaces sequences locals compiler.cfg.def-use
|
||||
compiler.cfg.dominance compiler.cfg.ssa.interference.live-ranges ;
|
||||
USING: accessors arrays combinators combinators.short-circuit
|
||||
compiler.cfg.dominance compiler.cfg.ssa.interference.live-ranges
|
||||
kernel locals math math.order sequences sorting.slots ;
|
||||
IN: compiler.cfg.ssa.interference
|
||||
|
||||
! Interference testing using SSA properties.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs fry kernel namespaces sequences math
|
||||
arrays compiler.cfg.def-use compiler.cfg.instructions
|
||||
compiler.cfg.liveness compiler.cfg.rpo
|
||||
compiler.cfg.dominance compiler.cfg ;
|
||||
USING: assocs compiler.cfg compiler.cfg.def-use
|
||||
compiler.cfg.dominance compiler.cfg.instructions
|
||||
compiler.cfg.liveness compiler.cfg.rpo kernel math namespaces
|
||||
sequences ;
|
||||
IN: compiler.cfg.ssa.interference.live-ranges
|
||||
|
||||
! Live ranges for interference testing
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: math math.order namespaces accessors kernel layouts
|
||||
combinators assocs sequences cpu.architecture
|
||||
words compiler.cfg.instructions ;
|
||||
USING: accessors kernel math namespaces ;
|
||||
IN: compiler.cfg.stack-frame
|
||||
|
||||
TUPLE: stack-frame
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: namespaces assocs kernel fry accessors sequences make math locals
|
||||
combinators compiler.cfg compiler.cfg.hats compiler.cfg.instructions
|
||||
compiler.cfg.utilities compiler.cfg.rpo compiler.cfg.stacks.local
|
||||
USING: accessors assocs compiler.cfg compiler.cfg.instructions
|
||||
compiler.cfg.predecessors compiler.cfg.rpo
|
||||
compiler.cfg.stacks.global compiler.cfg.stacks.height
|
||||
compiler.cfg.predecessors ;
|
||||
compiler.cfg.stacks.local compiler.cfg.utilities fry kernel
|
||||
locals make math sequences ;
|
||||
IN: compiler.cfg.stacks.finalize
|
||||
|
||||
! This pass inserts peeks and replaces.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: assocs kernel combinators compiler.cfg.dataflow-analysis
|
||||
compiler.cfg.stacks.local ;
|
||||
USING: assocs combinators compiler.cfg.dataflow-analysis
|
||||
compiler.cfg.stacks.local kernel ;
|
||||
IN: compiler.cfg.stacks.global
|
||||
|
||||
: transfer-peeked-locs ( assoc bb -- assoc' )
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs fry kernel math
|
||||
namespaces compiler.cfg.registers ;
|
||||
USING: accessors assocs compiler.cfg.registers fry kernel math
|
||||
namespaces ;
|
||||
IN: compiler.cfg.stacks.height
|
||||
|
||||
! Global stack height tracking done while constructing CFG.
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs kernel math math.order namespaces sets make
|
||||
sequences combinators fry
|
||||
compiler.cfg
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.stacks.height
|
||||
compiler.cfg.parallel-copy ;
|
||||
USING: accessors assocs combinators compiler.cfg
|
||||
compiler.cfg.instructions compiler.cfg.parallel-copy
|
||||
compiler.cfg.registers compiler.cfg.stacks.height kernel make
|
||||
math math.order namespaces sequences sets ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.cfg.stacks.local
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: math sequences kernel namespaces accessors biassocs compiler.cfg
|
||||
compiler.cfg.instructions compiler.cfg.registers compiler.cfg.hats
|
||||
compiler.cfg.predecessors compiler.cfg.stacks.local
|
||||
compiler.cfg.stacks.height compiler.cfg.stacks.global
|
||||
compiler.cfg.stacks.finalize ;
|
||||
USING: accessors biassocs compiler.cfg compiler.cfg.registers
|
||||
compiler.cfg.stacks.finalize compiler.cfg.stacks.global
|
||||
compiler.cfg.stacks.height compiler.cfg.stacks.local kernel math
|
||||
namespaces sequences ;
|
||||
IN: compiler.cfg.stacks
|
||||
|
||||
: begin-stack-analysis ( -- )
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: accessors arrays assocs classes.tuple compiler.cfg.dataflow-analysis
|
||||
compiler.cfg.instructions compiler.cfg.registers fry kernel math math.order
|
||||
sequences sets ;
|
||||
USING: accessors arrays compiler.cfg.dataflow-analysis
|
||||
compiler.cfg.instructions compiler.cfg.registers fry kernel math
|
||||
math.order sequences sets ;
|
||||
IN: compiler.cfg.stacks.vacant
|
||||
|
||||
! Utils
|
||||
|
|
|
@ -1,13 +1,9 @@
|
|||
! Copyright (C) 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators.short-circuit kernel math
|
||||
namespaces sequences fry combinators
|
||||
compiler.utilities
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.utilities ;
|
||||
USING: accessors combinators combinators.short-circuit
|
||||
compiler.cfg compiler.cfg.instructions compiler.cfg.rpo
|
||||
compiler.cfg.utilities compiler.utilities fry kernel math
|
||||
namespaces sequences ;
|
||||
IN: compiler.cfg.tco
|
||||
|
||||
! Tail call optimization.
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel accessors sequences math combinators
|
||||
combinators.short-circuit vectors compiler.cfg
|
||||
USING: accessors combinators.short-circuit compiler.cfg
|
||||
compiler.cfg.instructions compiler.cfg.rpo
|
||||
compiler.cfg.utilities ;
|
||||
compiler.cfg.utilities kernel sequences vectors ;
|
||||
IN: compiler.cfg.useless-conditionals
|
||||
|
||||
: delete-conditional? ( bb -- ? )
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors assocs combinators combinators.short-circuit
|
||||
cpu.architecture kernel layouts locals make math namespaces sequences
|
||||
sets vectors fry arrays compiler.cfg compiler.cfg.instructions
|
||||
compiler.cfg.rpo compiler.utilities ;
|
||||
USING: accessors assocs combinators.short-circuit compiler.cfg
|
||||
compiler.cfg.instructions compiler.cfg.rpo cpu.architecture fry
|
||||
kernel locals make math namespaces sequences sets ;
|
||||
IN: compiler.cfg.utilities
|
||||
|
||||
: block>cfg ( bb -- cfg )
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators combinators.short-circuit fry
|
||||
kernel make math sequences
|
||||
cpu.architecture
|
||||
compiler.cfg.hats
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.instructions
|
||||
USING: accessors combinators combinators.short-circuit
|
||||
compiler.cfg.hats compiler.cfg.instructions
|
||||
compiler.cfg.utilities compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.math
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.rewrite ;
|
||||
compiler.cfg.value-numbering.rewrite cpu.architecture fry kernel
|
||||
make math sequences ;
|
||||
IN: compiler.cfg.value-numbering.alien
|
||||
|
||||
M: ##box-displaced-alien rewrite
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators kernel math math.order namespaces
|
||||
sequences vectors combinators.short-circuit
|
||||
cpu.architecture
|
||||
compiler.cfg
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.registers
|
||||
USING: accessors combinators combinators.short-circuit
|
||||
compiler.cfg compiler.cfg.comparisons compiler.cfg.instructions
|
||||
compiler.cfg.registers compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.math
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.rewrite ;
|
||||
compiler.cfg.value-numbering.rewrite cpu.architecture kernel
|
||||
math math.order namespaces sequences vectors ;
|
||||
IN: compiler.cfg.value-numbering.comparisons
|
||||
|
||||
! Optimizations performed here:
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays classes classes.algebra combinators fry
|
||||
generic.parser kernel math namespaces quotations sequences slots
|
||||
words make sets
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.instructions.syntax
|
||||
compiler.cfg.value-numbering.graph ;
|
||||
USING: accessors arrays classes.algebra combinators
|
||||
compiler.cfg.instructions compiler.cfg.instructions.syntax
|
||||
compiler.cfg.value-numbering.graph generic.parser kernel make
|
||||
math namespaces quotations sequences sets slots words ;
|
||||
FROM: sequences.private => set-array-nth ;
|
||||
IN: compiler.cfg.value-numbering.expressions
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel layouts math math.bitwise
|
||||
compiler.cfg.instructions
|
||||
USING: accessors compiler.cfg.instructions
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.rewrite ;
|
||||
compiler.cfg.value-numbering.rewrite kernel layouts math
|
||||
math.bitwise ;
|
||||
IN: compiler.cfg.value-numbering.folding
|
||||
|
||||
: binary-constant-fold? ( insn -- ? )
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel math namespaces assocs ;
|
||||
USING: assocs kernel namespaces ;
|
||||
IN: compiler.cfg.value-numbering.graph
|
||||
|
||||
SYMBOL: input-expr-counter
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators combinators.short-circuit
|
||||
cpu.architecture fry kernel layouts locals make math sequences
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.value-numbering.folding
|
||||
compiler.cfg.instructions compiler.cfg.registers
|
||||
compiler.cfg.utilities compiler.cfg.value-numbering.folding
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.rewrite ;
|
||||
compiler.cfg.value-numbering.rewrite cpu.architecture fry kernel
|
||||
layouts locals make math ;
|
||||
IN: compiler.cfg.value-numbering.math
|
||||
|
||||
: f-insn? ( insn -- ? )
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors cpu.architecture kernel
|
||||
compiler.cfg.instructions
|
||||
USING: accessors compiler.cfg.instructions
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.rewrite ;
|
||||
compiler.cfg.value-numbering.rewrite cpu.architecture kernel ;
|
||||
IN: compiler.cfg.value-numbering.misc
|
||||
|
||||
M: ##replace rewrite
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators combinators.short-circuit kernel
|
||||
layouts math cpu.architecture
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.value-numbering.graph ;
|
||||
USING: accessors combinators combinators.short-circuit
|
||||
compiler.cfg.instructions compiler.cfg.value-numbering.graph
|
||||
cpu.architecture kernel layouts math ;
|
||||
IN: compiler.cfg.value-numbering.rewrite
|
||||
|
||||
! Outputs f to mean no change
|
||||
|
|
|
@ -1,18 +1,12 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators combinators.short-circuit arrays
|
||||
fry kernel layouts math namespaces sequences cpu.architecture
|
||||
math.bitwise math.order classes generalizations
|
||||
locals make alien.c-types io.binary grouping
|
||||
math.vectors.simd.intrinsics
|
||||
compiler.cfg
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.instructions
|
||||
USING: accessors alien.c-types combinators
|
||||
combinators.short-circuit compiler.cfg.instructions
|
||||
compiler.cfg.utilities compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.math
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.rewrite ;
|
||||
compiler.cfg.value-numbering.rewrite cpu.architecture
|
||||
generalizations grouping io.binary kernel locals make math
|
||||
sequences ;
|
||||
IN: compiler.cfg.value-numbering.simd
|
||||
|
||||
! Some lame constant folding for SIMD intrinsics. Eventually this
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors combinators.short-circuit cpu.architecture fry
|
||||
kernel math
|
||||
compiler.cfg.instructions
|
||||
USING: accessors compiler.cfg.instructions
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.rewrite ;
|
||||
compiler.cfg.value-numbering.rewrite cpu.architecture fry kernel
|
||||
math ;
|
||||
IN: compiler.cfg.value-numbering.slots
|
||||
|
||||
: simplify-slot-addressing? ( insn -- ? )
|
||||
|
|
|
@ -1,21 +1,20 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs
|
||||
compiler.cfg
|
||||
compiler.cfg.rpo
|
||||
compiler.cfg.def-use
|
||||
compiler.cfg.utilities
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.value-numbering.alien
|
||||
compiler.cfg.value-numbering.comparisons
|
||||
compiler.cfg.value-numbering.graph
|
||||
compiler.cfg.value-numbering.math
|
||||
compiler.cfg.value-numbering.rewrite
|
||||
compiler.cfg.value-numbering.slots
|
||||
compiler.cfg.value-numbering.misc
|
||||
compiler.cfg.value-numbering.expressions
|
||||
cpu.architecture kernel locals namespaces sequences sequences.deep sets
|
||||
sorting ;
|
||||
USING: accessors arrays assocs compiler.cfg compiler.cfg.def-use
|
||||
compiler.cfg.instructions compiler.cfg.rpo
|
||||
compiler.cfg.utilities kernel locals namespaces sequences
|
||||
sequences.deep ;
|
||||
|
||||
USE: compiler.cfg.value-numbering.alien
|
||||
USE: compiler.cfg.value-numbering.comparisons
|
||||
USE: compiler.cfg.value-numbering.expressions
|
||||
USE: compiler.cfg.value-numbering.folding
|
||||
USE: compiler.cfg.value-numbering.graph
|
||||
USE: compiler.cfg.value-numbering.math
|
||||
USE: compiler.cfg.value-numbering.misc
|
||||
USE: compiler.cfg.value-numbering.rewrite
|
||||
USE: compiler.cfg.value-numbering.slots
|
||||
|
||||
IN: compiler.cfg.value-numbering
|
||||
|
||||
GENERIC: process-instruction ( insn -- insn' )
|
||||
|
|
|
@ -1,23 +1,13 @@
|
|||
! Copyright (C) 2008, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: byte-arrays namespaces make math math.order math.parser
|
||||
sequences accessors kernel layouts assocs words summary arrays
|
||||
combinators sets continuations.private fry
|
||||
cpu.architecture classes classes.struct locals slots parser
|
||||
generic.parser strings quotations hashtables
|
||||
sequences.generalizations
|
||||
compiler.constants
|
||||
compiler.cfg
|
||||
compiler.cfg.linearization
|
||||
compiler.cfg.instructions
|
||||
compiler.cfg.comparisons
|
||||
compiler.cfg.stack-frame
|
||||
compiler.cfg.registers
|
||||
compiler.cfg.builder
|
||||
compiler.codegen.gc-maps
|
||||
compiler.codegen.labels
|
||||
compiler.codegen.relocation
|
||||
compiler.utilities ;
|
||||
USING: accessors arrays assocs byte-arrays classes combinators
|
||||
compiler.cfg compiler.cfg.comparisons compiler.cfg.instructions
|
||||
compiler.cfg.linearization compiler.cfg.stack-frame
|
||||
compiler.codegen.gc-maps compiler.codegen.labels
|
||||
compiler.codegen.relocation compiler.constants cpu.architecture
|
||||
fry generic.parser kernel layouts locals make math namespaces
|
||||
parser quotations sequences sequences.generalizations slots
|
||||
words ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.codegen
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
! Copyright (C) 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays assocs bit-arrays classes.tuple combinators
|
||||
combinators.short-circuit compiler.cfg.instructions
|
||||
compiler.codegen.relocation cpu.architecture fry kernel layouts
|
||||
make math math.order namespaces sequences sequences.generalizations ;
|
||||
USING: accessors arrays assocs bit-arrays classes.tuple
|
||||
combinators compiler.codegen.relocation cpu.architecture fry
|
||||
kernel layouts make math math.order namespaces sequences
|
||||
sequences.generalizations ;
|
||||
IN: compiler.codegen.gc-maps
|
||||
|
||||
SYMBOLS: return-addresses gc-maps ;
|
||||
|
|
|
@ -1,26 +1,14 @@
|
|||
! Copyright (C) 2004, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors kernel namespaces arrays sequences io words fry
|
||||
continuations vocabs assocs definitions math graphs generic
|
||||
generic.single combinators macros make source-files.errors
|
||||
combinators.short-circuit classes.algebra vocabs.loader
|
||||
sets
|
||||
|
||||
stack-checker stack-checker.dependencies stack-checker.inlining
|
||||
stack-checker.errors
|
||||
|
||||
compiler.errors compiler.units compiler.utilities compiler.crossref
|
||||
|
||||
compiler.tree.builder
|
||||
compiler.tree.optimizer
|
||||
|
||||
compiler.cfg
|
||||
compiler.cfg.builder
|
||||
compiler.cfg.builder.alien
|
||||
compiler.cfg.optimizer
|
||||
compiler.cfg.finalization
|
||||
|
||||
compiler.codegen ;
|
||||
USING: accessors assocs classes.algebra combinators
|
||||
combinators.short-circuit compiler.cfg compiler.cfg.builder
|
||||
compiler.cfg.finalization compiler.cfg.optimizer
|
||||
compiler.codegen compiler.crossref compiler.errors
|
||||
compiler.tree.builder compiler.tree.optimizer compiler.units
|
||||
compiler.utilities continuations definitions fry generic
|
||||
generic.single io kernel macros make namespaces sequences sets
|
||||
stack-checker.dependencies stack-checker.errors
|
||||
stack-checker.inlining vocabs.loader words ;
|
||||
IN: compiler
|
||||
|
||||
SYMBOL: compiled
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: math kernel layouts system strings words quotations byte-arrays
|
||||
alien arrays literals sequences ;
|
||||
USING: alien arrays byte-arrays kernel layouts literals math
|
||||
quotations sequences strings words ;
|
||||
IN: compiler.constants
|
||||
|
||||
! These constants must match vm/memory.h
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: arrays assocs classes.algebra compiler.units definitions
|
||||
graphs grouping kernel namespaces sequences words fry
|
||||
stack-checker.dependencies combinators sets ;
|
||||
USING: assocs combinators fry graphs grouping kernel namespaces
|
||||
sequences sets stack-checker.dependencies words ;
|
||||
IN: compiler.crossref
|
||||
|
||||
SYMBOL: compiled-crossref
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2007, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors source-files.errors kernel namespaces assocs fry
|
||||
summary command-line ;
|
||||
USING: accessors assocs command-line fry kernel namespaces
|
||||
source-files.errors summary ;
|
||||
IN: compiler.errors
|
||||
|
||||
SYMBOL: +compiler-error+
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays compiler.units kernel stack-checker
|
||||
sequences vocabs words tools.test tools.test.private ;
|
||||
USING: accessors arrays compiler.units kernel sequences
|
||||
stack-checker tools.test vocabs words ;
|
||||
IN: compiler.test
|
||||
|
||||
: decompile ( word -- )
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: fry locals accessors quotations kernel sequences namespaces
|
||||
assocs words arrays vectors hints combinators continuations
|
||||
effects compiler.tree
|
||||
stack-checker
|
||||
stack-checker.state
|
||||
stack-checker.errors
|
||||
stack-checker.visitor
|
||||
stack-checker.backend
|
||||
stack-checker.recursive-state ;
|
||||
USING: accessors combinators compiler.tree continuations hints
|
||||
kernel locals namespaces quotations sequences
|
||||
stack-checker.backend stack-checker.errors
|
||||
stack-checker.recursive-state stack-checker.state
|
||||
stack-checker.visitor vectors words ;
|
||||
IN: compiler.tree.builder
|
||||
|
||||
<PRIVATE
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
! Copyright (C) 2008 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: sequences kernel sets namespaces accessors assocs
|
||||
arrays combinators continuations columns math vectors
|
||||
grouping stack-checker.branches
|
||||
compiler.tree
|
||||
compiler.tree.def-use
|
||||
compiler.tree.recursive
|
||||
compiler.tree.combinators ;
|
||||
USING: accessors arrays assocs columns combinators compiler.tree
|
||||
compiler.tree.combinators compiler.tree.def-use
|
||||
compiler.tree.recursive continuations grouping kernel math
|
||||
namespaces sequences sets vectors ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.tree.checker
|
||||
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: kernel accessors sequences combinators fry
|
||||
classes.algebra namespaces assocs words math math.private
|
||||
math.partial-dispatch math.intervals classes classes.tuple
|
||||
classes.tuple.private layouts definitions stack-checker.dependencies
|
||||
stack-checker.branches
|
||||
compiler.utilities
|
||||
compiler.tree
|
||||
compiler.tree.combinators
|
||||
compiler.tree.propagation.info
|
||||
compiler.tree.propagation.branches ;
|
||||
USING: accessors classes classes.algebra combinators
|
||||
compiler.tree compiler.tree.combinators
|
||||
compiler.tree.propagation.branches
|
||||
compiler.tree.propagation.info compiler.utilities fry kernel
|
||||
layouts math math.intervals math.partial-dispatch math.private
|
||||
namespaces sequences stack-checker.branches
|
||||
stack-checker.dependencies words ;
|
||||
IN: compiler.tree.cleanup
|
||||
|
||||
GENERIC: delete-node ( node -- )
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: assocs combinators combinators.short-circuit fry kernel
|
||||
locals accessors sequences compiler.utilities arrays
|
||||
stack-checker.inlining namespaces compiler.tree math.order ;
|
||||
USING: accessors assocs combinators combinators.short-circuit
|
||||
compiler.tree compiler.utilities kernel locals namespaces
|
||||
sequences stack-checker.inlining ;
|
||||
IN: compiler.tree.combinators
|
||||
|
||||
:: each-node ( ... nodes quot: ( ... node -- ... ) -- ... )
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: math math.order math.intervals assocs combinators ;
|
||||
USING: assocs combinators math math.intervals math.order ;
|
||||
IN: compiler.tree.comparisons
|
||||
|
||||
! Some utilities for working with comparison operations.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
! Copyright (C) 2008, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: sequences namespaces kernel accessors assocs sets fry
|
||||
arrays combinators columns stack-checker.backend
|
||||
stack-checker.branches compiler.tree compiler.tree.combinators
|
||||
compiler.tree.dead-code.liveness compiler.tree.dead-code.simple ;
|
||||
USING: accessors assocs columns combinators compiler.tree
|
||||
compiler.tree.dead-code.liveness compiler.tree.dead-code.simple
|
||||
fry kernel namespaces sequences stack-checker.backend
|
||||
stack-checker.branches ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.tree.dead-code.branches
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
! Copyright (C) 2008 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: fry accessors namespaces assocs deques search-deques
|
||||
dlists kernel sequences compiler.utilities words sets
|
||||
stack-checker.branches compiler.tree compiler.tree.def-use
|
||||
compiler.tree.combinators ;
|
||||
USING: accessors assocs compiler.tree compiler.tree.combinators
|
||||
compiler.tree.def-use compiler.utilities deques dlists kernel
|
||||
namespaces sets stack-checker.branches ;
|
||||
FROM: namespaces => set ;
|
||||
IN: compiler.tree.dead-code.liveness
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue