compiler: cleanup usings.

db4
John Benediktsson 2014-12-13 16:10:21 -08:00
parent 68b662c44c
commit c65877104e
138 changed files with 595 additions and 876 deletions

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 -- )

View File

@ -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

View File

@ -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

View File

@ -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 ;

View File

@ -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

View File

@ -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 )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 -- )

View File

@ -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

View File

@ -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
<<

View File

@ -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

View File

@ -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
<<

View File

@ -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 ;

View File

@ -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 -- )

View File

@ -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? ( -- )

View File

@ -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 -- )

View File

@ -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 ;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 )

View File

@ -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 )

View File

@ -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 -- )

View File

@ -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 ;

View File

@ -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 )

View File

@ -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

View File

@ -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

View File

@ -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 -- )

View File

@ -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:

View File

@ -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 ;

View File

@ -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' )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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' )

View File

@ -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.

View File

@ -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

View File

@ -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 ( -- )

View File

@ -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

View File

@ -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.

View File

@ -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 -- ? )

View File

@ -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 )

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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 -- ? )

View File

@ -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

View File

@ -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 -- ? )

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 -- ? )

View File

@ -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' )

View File

@ -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

View File

@ -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 ;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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+

View File

@ -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 -- )

View File

@ -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

View File

@ -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

View File

@ -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 -- )

View File

@ -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 -- ... ) -- ... )

View File

@ -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.

View File

@ -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

View File

@ -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