From c65877104e75ce73f9f4059dc460bd1c05dbc6a5 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sat, 13 Dec 2014 16:10:21 -0800 Subject: [PATCH] compiler: cleanup usings. --- .../cfg/alias-analysis/alias-analysis.factor | 16 +++------ .../cfg/block-joining/block-joining.factor | 6 ++-- .../branch-splitting/branch-splitting.factor | 9 +++-- .../build-stack-frame.factor | 8 ++--- basis/compiler/cfg/builder/alien/alien.factor | 21 ++++++----- .../cfg/builder/alien/boxing/boxing.factor | 11 +++--- .../cfg/builder/alien/params/params.factor | 4 +-- .../compiler/cfg/builder/blocks/blocks.factor | 8 +++-- basis/compiler/cfg/builder/builder.factor | 27 ++++---------- basis/compiler/cfg/cfg.factor | 2 +- basis/compiler/cfg/checker/checker.factor | 6 +--- basis/compiler/cfg/copy-prop/copy-prop.factor | 8 ++--- .../dataflow-analysis.factor | 6 ++-- basis/compiler/cfg/dce/dce.factor | 6 ++-- basis/compiler/cfg/debugger/debugger.factor | 26 +++++++------- basis/compiler/cfg/def-use/def-use.factor | 10 +++--- .../compiler/cfg/dependence/dependence.factor | 6 ++-- basis/compiler/cfg/dominance/dominance.factor | 6 ++-- .../cfg/finalization/finalization.factor | 11 +++--- basis/compiler/cfg/gc-checks/gc-checks.factor | 15 +++----- basis/compiler/cfg/hats/hats.factor | 9 +++-- basis/compiler/cfg/height/height.factor | 6 ++-- .../cfg/instructions/instructions.factor | 6 ++-- .../cfg/instructions/syntax/syntax.factor | 6 ++-- .../cfg/intrinsics/allot/allot.factor | 11 +++--- .../cfg/intrinsics/fixnum/fixnum.factor | 17 +++------ .../cfg/intrinsics/float/float.factor | 3 +- .../compiler/cfg/intrinsics/intrinsics.factor | 35 ++++++++----------- .../compiler/cfg/intrinsics/misc/misc.factor | 14 +++----- .../intrinsics/simd/backend/backend.factor | 14 ++++---- .../compiler/cfg/intrinsics/simd/simd.factor | 20 ++++------- .../cfg/intrinsics/slots/slots.factor | 13 ++++--- .../cfg/intrinsics/strings/strings.factor | 5 ++- .../linear-scan/allocation/allocation.factor | 11 +++--- .../allocation/spilling/spilling.factor | 9 +++-- .../allocation/splitting/splitting.factor | 7 ++-- .../linear-scan/allocation/state/state.factor | 8 ++--- .../linear-scan/assignment/assignment.factor | 18 ++++------ .../cfg/linear-scan/debugger/debugger.factor | 8 ++--- .../cfg/linear-scan/linear-scan.factor | 17 +++------ .../live-intervals/live-intervals.factor | 16 ++++----- .../linear-scan/numbering/numbering.factor | 6 ++-- .../cfg/linear-scan/resolve/resolve.factor | 20 ++++------- .../cfg/linearization/linearization.factor | 9 +++-- basis/compiler/cfg/liveness/liveness.factor | 12 +++---- .../cfg/loop-detection/loop-detection.factor | 4 +-- .../cfg/parallel-copy/parallel-copy.factor | 6 ++-- .../cfg/predecessors/predecessors.factor | 4 +-- basis/compiler/cfg/registers/registers.factor | 2 +- .../cfg/renaming/functor/functor.factor | 8 ++--- basis/compiler/cfg/renaming/renaming.factor | 5 ++- .../representations/peephole/peephole.factor | 9 +++-- .../preferred/preferred.factor | 9 +++-- .../representations/representations.factor | 13 ++++--- .../representations/rewrite/rewrite.factor | 14 +++----- .../selection/selection.factor | 17 ++++----- basis/compiler/cfg/rpo/rpo.factor | 3 +- .../cfg/save-contexts/save-contexts.factor | 6 ++-- .../compiler/cfg/scheduling/scheduling.factor | 7 ++-- .../cfg/ssa/construction/construction.factor | 17 ++++----- .../cfg/ssa/construction/tdmsc/tdmsc.factor | 6 ++-- basis/compiler/cfg/ssa/cssa/cssa.factor | 12 +++---- .../cfg/ssa/destruction/destruction.factor | 20 ++++------- .../cfg/ssa/interference/interference.factor | 9 +++-- .../live-ranges/live-ranges.factor | 8 ++--- .../cfg/stack-frame/stack-frame.factor | 4 +-- .../cfg/stacks/finalize/finalize.factor | 8 ++--- .../compiler/cfg/stacks/global/global.factor | 4 +-- .../compiler/cfg/stacks/height/height.factor | 6 ++-- basis/compiler/cfg/stacks/local/local.factor | 12 +++---- basis/compiler/cfg/stacks/stacks.factor | 9 +++-- .../compiler/cfg/stacks/vacant/vacant.factor | 6 ++-- basis/compiler/cfg/tco/tco.factor | 12 +++---- .../useless-conditionals.factor | 5 ++- basis/compiler/cfg/utilities/utilities.factor | 7 ++-- .../cfg/value-numbering/alien/alien.factor | 14 +++----- .../comparisons/comparisons.factor | 14 +++----- .../expressions/expressions.factor | 10 +++--- .../value-numbering/folding/folding.factor | 6 ++-- .../cfg/value-numbering/graph/graph.factor | 2 +- .../cfg/value-numbering/math/math.factor | 10 +++--- .../cfg/value-numbering/misc/misc.factor | 5 ++- .../value-numbering/rewrite/rewrite.factor | 7 ++-- .../cfg/value-numbering/simd/simd.factor | 18 ++++------ .../cfg/value-numbering/slots/slots.factor | 7 ++-- .../value-numbering/value-numbering.factor | 31 ++++++++-------- basis/compiler/codegen/codegen.factor | 26 +++++--------- basis/compiler/codegen/gc-maps/gc-maps.factor | 8 ++--- basis/compiler/compiler.factor | 30 +++++----------- basis/compiler/constants/constants.factor | 4 +-- basis/compiler/crossref/crossref.factor | 5 ++- basis/compiler/errors/errors.factor | 4 +-- basis/compiler/test/test.factor | 4 +-- basis/compiler/threads/threads.factor | 2 +- basis/compiler/tree/builder/builder.factor | 14 +++----- basis/compiler/tree/checker/checker.factor | 11 +++--- basis/compiler/tree/cleanup/cleanup.factor | 17 ++++----- .../tree/combinators/combinators.factor | 6 ++-- .../tree/comparisons/comparisons.factor | 2 +- .../tree/dead-code/branches/branches.factor | 8 ++--- .../tree/dead-code/liveness/liveness.factor | 7 ++-- .../tree/dead-code/recursive/recursive.factor | 10 +++--- .../tree/dead-code/simple/simple.factor | 13 +++---- basis/compiler/tree/debugger/debugger.factor | 34 +++++++----------- basis/compiler/tree/def-use/def-use.factor | 8 ++--- .../tree/def-use/simplified/simplified.factor | 4 +-- .../allocations/allocations.factor | 4 +-- .../escape-analysis/branches/branches.factor | 9 +++-- .../tree/escape-analysis/check/check.factor | 6 ++-- .../escape-analysis/escape-analysis.factor | 14 ++++---- .../tree/escape-analysis/nodes/nodes.factor | 7 ++-- .../recursive/recursive.factor | 10 +++--- .../tree/escape-analysis/simple/simple.factor | 12 +++---- .../tree/finalization/finalization.factor | 14 ++++---- .../tree/identities/identities.factor | 8 ++--- .../late-optimizations.factor | 14 +++----- .../modular-arithmetic.factor | 15 ++++---- .../introductions/introductions.factor | 4 +-- .../tree/normalization/normalization.factor | 13 +++---- .../normalization/renaming/renaming.factor | 4 +-- .../tree/propagation/branches/branches.factor | 15 +++----- .../call-effect/call-effect.factor | 12 +++---- .../constraints/constraints.factor | 9 ++--- .../tree/propagation/copy/copy.factor | 10 ++---- .../tree/propagation/info/info.factor | 12 +++---- .../tree/propagation/inlining/inlining.factor | 18 ++++------ .../known-words/known-words.factor | 30 ++++++---------- .../tree/propagation/nodes/nodes.factor | 7 ++-- .../tree/propagation/propagation.factor | 15 ++++---- .../propagation/recursive/recursive.factor | 16 +++------ .../tree/propagation/simd/simd.factor | 9 ++--- .../tree/propagation/simple/simple.factor | 17 ++++----- .../tree/propagation/slots/slots.factor | 9 +++-- .../propagation/transforms/transforms.factor | 19 +++++----- .../compiler/tree/recursive/recursive.factor | 4 +-- basis/compiler/tree/tree.factor | 6 ++-- .../tree/tuple-unboxing/tuple-unboxing.factor | 20 ++++------- basis/compiler/utilities/utilities.factor | 4 +-- 138 files changed, 595 insertions(+), 876 deletions(-) diff --git a/basis/compiler/cfg/alias-analysis/alias-analysis.factor b/basis/compiler/cfg/alias-analysis/alias-analysis.factor index 96945dfad0..b4ddff9fca 100644 --- a/basis/compiler/cfg/alias-analysis/alias-analysis.factor +++ b/basis/compiler/cfg/alias-analysis/alias-analysis.factor @@ -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 diff --git a/basis/compiler/cfg/block-joining/block-joining.factor b/basis/compiler/cfg/block-joining/block-joining.factor index 0649923b16..7ae7631042 100644 --- a/basis/compiler/cfg/block-joining/block-joining.factor +++ b/basis/compiler/cfg/block-joining/block-joining.factor @@ -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. diff --git a/basis/compiler/cfg/branch-splitting/branch-splitting.factor b/basis/compiler/cfg/branch-splitting/branch-splitting.factor index 80f57e116a..bcb0a74ed2 100644 --- a/basis/compiler/cfg/branch-splitting/branch-splitting.factor +++ b/basis/compiler/cfg/branch-splitting/branch-splitting.factor @@ -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 diff --git a/basis/compiler/cfg/build-stack-frame/build-stack-frame.factor b/basis/compiler/cfg/build-stack-frame/build-stack-frame.factor index 7ea0e71f2c..99dc7661d3 100644 --- a/basis/compiler/cfg/build-stack-frame/build-stack-frame.factor +++ b/basis/compiler/cfg/build-stack-frame/build-stack-frame.factor @@ -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 diff --git a/basis/compiler/cfg/builder/alien/alien.factor b/basis/compiler/cfg/builder/alien/alien.factor index fb60cd2c49..29dd64d670 100644 --- a/basis/compiler/cfg/builder/alien/alien.factor +++ b/basis/compiler/cfg/builder/alien/alien.factor @@ -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 diff --git a/basis/compiler/cfg/builder/alien/boxing/boxing.factor b/basis/compiler/cfg/builder/alien/boxing/boxing.factor index 472d12f833..c3c8a7b83f 100644 --- a/basis/compiler/cfg/builder/alien/boxing/boxing.factor +++ b/basis/compiler/cfg/builder/alien/boxing/boxing.factor @@ -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 diff --git a/basis/compiler/cfg/builder/alien/params/params.factor b/basis/compiler/cfg/builder/alien/params/params.factor index 7b45d247c7..6a0c521b77 100644 --- a/basis/compiler/cfg/builder/alien/params/params.factor +++ b/basis/compiler/cfg/builder/alien/params/params.factor @@ -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 diff --git a/basis/compiler/cfg/builder/blocks/blocks.factor b/basis/compiler/cfg/builder/blocks/blocks.factor index b9fdaf9066..f63eb3b6d7 100644 --- a/basis/compiler/cfg/builder/blocks/blocks.factor +++ b/basis/compiler/cfg/builder/blocks/blocks.factor @@ -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 -- ) diff --git a/basis/compiler/cfg/builder/builder.factor b/basis/compiler/cfg/builder/builder.factor index fce6cf2f84..7e61c21992 100644 --- a/basis/compiler/cfg/builder/builder.factor +++ b/basis/compiler/cfg/builder/builder.factor @@ -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 diff --git a/basis/compiler/cfg/cfg.factor b/basis/compiler/cfg/cfg.factor index c8625229bf..8cb56f5639 100644 --- a/basis/compiler/cfg/cfg.factor +++ b/basis/compiler/cfg/cfg.factor @@ -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 diff --git a/basis/compiler/cfg/checker/checker.factor b/basis/compiler/cfg/checker/checker.factor index f4fee8b7b2..23c5b25b6d 100644 --- a/basis/compiler/cfg/checker/checker.factor +++ b/basis/compiler/cfg/checker/checker.factor @@ -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 ; diff --git a/basis/compiler/cfg/copy-prop/copy-prop.factor b/basis/compiler/cfg/copy-prop/copy-prop.factor index 2200831ee8..2dab52fe4a 100644 --- a/basis/compiler/cfg/copy-prop/copy-prop.factor +++ b/basis/compiler/cfg/copy-prop/copy-prop.factor @@ -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 diff --git a/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor b/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor index e227ca0f61..0db7e74483 100644 --- a/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor +++ b/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor @@ -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 ) diff --git a/basis/compiler/cfg/dce/dce.factor b/basis/compiler/cfg/dce/dce.factor index 0cf4b11136..93986fd20d 100644 --- a/basis/compiler/cfg/dce/dce.factor +++ b/basis/compiler/cfg/dce/dce.factor @@ -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 diff --git a/basis/compiler/cfg/debugger/debugger.factor b/basis/compiler/cfg/debugger/debugger.factor index 0799f4b9d5..54958d1de2 100644 --- a/basis/compiler/cfg/debugger/debugger.factor +++ b/basis/compiler/cfg/debugger/debugger.factor @@ -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 diff --git a/basis/compiler/cfg/def-use/def-use.factor b/basis/compiler/cfg/def-use/def-use.factor index 770dfbc46d..de95e5d910 100644 --- a/basis/compiler/cfg/def-use/def-use.factor +++ b/basis/compiler/cfg/def-use/def-use.factor @@ -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 diff --git a/basis/compiler/cfg/dependence/dependence.factor b/basis/compiler/cfg/dependence/dependence.factor index fba39899c1..845364ff38 100644 --- a/basis/compiler/cfg/dependence/dependence.factor +++ b/basis/compiler/cfg/dependence/dependence.factor @@ -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 diff --git a/basis/compiler/cfg/dominance/dominance.factor b/basis/compiler/cfg/dominance/dominance.factor index 7d5ae410fe..c52b0b1372 100644 --- a/basis/compiler/cfg/dominance/dominance.factor +++ b/basis/compiler/cfg/dominance/dominance.factor @@ -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 diff --git a/basis/compiler/cfg/finalization/finalization.factor b/basis/compiler/cfg/finalization/finalization.factor index 64c9d72445..249398da56 100644 --- a/basis/compiler/cfg/finalization/finalization.factor +++ b/basis/compiler/cfg/finalization/finalization.factor @@ -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 -- ) diff --git a/basis/compiler/cfg/gc-checks/gc-checks.factor b/basis/compiler/cfg/gc-checks/gc-checks.factor index 5a353a543c..4835087898 100644 --- a/basis/compiler/cfg/gc-checks/gc-checks.factor +++ b/basis/compiler/cfg/gc-checks/gc-checks.factor @@ -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 context-field-offset vm-field-offset ; QUALIFIED-WITH: alien.c-types c IN: compiler.cfg.intrinsics.misc diff --git a/basis/compiler/cfg/intrinsics/simd/backend/backend.factor b/basis/compiler/cfg/intrinsics/simd/backend/backend.factor index 5c51afb8f9..e8cf71bd41 100644 --- a/basis/compiler/cfg/intrinsics/simd/backend/backend.factor +++ b/basis/compiler/cfg/intrinsics/simd/backend/backend.factor @@ -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 diff --git a/basis/compiler/cfg/intrinsics/simd/simd.factor b/basis/compiler/cfg/intrinsics/simd/simd.factor index 06b8dfbfb9..402b70adac 100644 --- a/basis/compiler/cfg/intrinsics/simd/simd.factor +++ b/basis/compiler/cfg/intrinsics/simd/simd.factor @@ -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 diff --git a/basis/compiler/cfg/intrinsics/slots/slots.factor b/basis/compiler/cfg/intrinsics/slots/slots.factor index 6b72f29846..32753ad3cf 100644 --- a/basis/compiler/cfg/intrinsics/slots/slots.factor +++ b/basis/compiler/cfg/intrinsics/slots/slots.factor @@ -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 ) diff --git a/basis/compiler/cfg/intrinsics/strings/strings.factor b/basis/compiler/cfg/intrinsics/strings/strings.factor index 36ac0307c1..aa94e51f02 100644 --- a/basis/compiler/cfg/intrinsics/strings/strings.factor +++ b/basis/compiler/cfg/intrinsics/strings/strings.factor @@ -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 ) diff --git a/basis/compiler/cfg/linear-scan/allocation/allocation.factor b/basis/compiler/cfg/linear-scan/allocation/allocation.factor index 73feeb898f..47a1809db9 100644 --- a/basis/compiler/cfg/linear-scan/allocation/allocation.factor +++ b/basis/compiler/cfg/linear-scan/allocation/allocation.factor @@ -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 -- ) diff --git a/basis/compiler/cfg/linear-scan/allocation/spilling/spilling.factor b/basis/compiler/cfg/linear-scan/allocation/spilling/spilling.factor index bc1f538a5c..104fbce16e 100644 --- a/basis/compiler/cfg/linear-scan/allocation/spilling/spilling.factor +++ b/basis/compiler/cfg/linear-scan/allocation/spilling/spilling.factor @@ -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 ; diff --git a/basis/compiler/cfg/linear-scan/allocation/splitting/splitting.factor b/basis/compiler/cfg/linear-scan/allocation/splitting/splitting.factor index 0430bfef85..bbcb6154f6 100644 --- a/basis/compiler/cfg/linear-scan/allocation/splitting/splitting.factor +++ b/basis/compiler/cfg/linear-scan/allocation/splitting/splitting.factor @@ -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 ) diff --git a/basis/compiler/cfg/linear-scan/allocation/state/state.factor b/basis/compiler/cfg/linear-scan/allocation/state/state.factor index 000a5f7b41..0460ec2a67 100644 --- a/basis/compiler/cfg/linear-scan/allocation/state/state.factor +++ b/basis/compiler/cfg/linear-scan/allocation/state/state.factor @@ -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 diff --git a/basis/compiler/cfg/linear-scan/assignment/assignment.factor b/basis/compiler/cfg/linear-scan/assignment/assignment.factor index 43feb6c3a3..664f666bc6 100644 --- a/basis/compiler/cfg/linear-scan/assignment/assignment.factor +++ b/basis/compiler/cfg/linear-scan/assignment/assignment.factor @@ -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 diff --git a/basis/compiler/cfg/linear-scan/debugger/debugger.factor b/basis/compiler/cfg/linear-scan/debugger/debugger.factor index d93ebcccf0..cf68e12a4d 100644 --- a/basis/compiler/cfg/linear-scan/debugger/debugger.factor +++ b/basis/compiler/cfg/linear-scan/debugger/debugger.factor @@ -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 -- ) diff --git a/basis/compiler/cfg/linear-scan/linear-scan.factor b/basis/compiler/cfg/linear-scan/linear-scan.factor index 021dc3da46..e30f12fd0a 100644 --- a/basis/compiler/cfg/linear-scan/linear-scan.factor +++ b/basis/compiler/cfg/linear-scan/linear-scan.factor @@ -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: diff --git a/basis/compiler/cfg/linear-scan/live-intervals/live-intervals.factor b/basis/compiler/cfg/linear-scan/live-intervals/live-intervals.factor index ad4ab4fe16..7e598420ab 100644 --- a/basis/compiler/cfg/linear-scan/live-intervals/live-intervals.factor +++ b/basis/compiler/cfg/linear-scan/live-intervals/live-intervals.factor @@ -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 ; diff --git a/basis/compiler/cfg/linear-scan/numbering/numbering.factor b/basis/compiler/cfg/linear-scan/numbering/numbering.factor index bc9c4c4b55..cf61de5ef3 100644 --- a/basis/compiler/cfg/linear-scan/numbering/numbering.factor +++ b/basis/compiler/cfg/linear-scan/numbering/numbering.factor @@ -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' ) @@ -22,4 +22,4 @@ ERROR: bad-numbering bb ; : check-numbering ( cfg -- ) check-numbering? get - [ linearization-order [ check-block-numbering ] each ] [ drop ] if ; \ No newline at end of file + [ linearization-order [ check-block-numbering ] each ] [ drop ] if ; diff --git a/basis/compiler/cfg/linear-scan/resolve/resolve.factor b/basis/compiler/cfg/linear-scan/resolve/resolve.factor index a4990a195e..088064b034 100644 --- a/basis/compiler/cfg/linear-scan/resolve/resolve.factor +++ b/basis/compiler/cfg/linear-scan/resolve/resolve.factor @@ -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 diff --git a/basis/compiler/cfg/linearization/linearization.factor b/basis/compiler/cfg/linearization/linearization.factor index 9cd65426c9..f8dcd831bd 100644 --- a/basis/compiler/cfg/linearization/linearization.factor +++ b/basis/compiler/cfg/linearization/linearization.factor @@ -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 diff --git a/basis/compiler/cfg/liveness/liveness.factor b/basis/compiler/cfg/liveness/liveness.factor index 5eaf3446f7..093639fce1 100644 --- a/basis/compiler/cfg/liveness/liveness.factor +++ b/basis/compiler/cfg/liveness/liveness.factor @@ -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 diff --git a/basis/compiler/cfg/loop-detection/loop-detection.factor b/basis/compiler/cfg/loop-detection/loop-detection.factor index d7c44a25fb..31b3f5f42b 100644 --- a/basis/compiler/cfg/loop-detection/loop-detection.factor +++ b/basis/compiler/cfg/loop-detection/loop-detection.factor @@ -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 diff --git a/basis/compiler/cfg/parallel-copy/parallel-copy.factor b/basis/compiler/cfg/parallel-copy/parallel-copy.factor index d2dcc02b6c..1ec0148244 100644 --- a/basis/compiler/cfg/parallel-copy/parallel-copy.factor +++ b/basis/compiler/cfg/parallel-copy/parallel-copy.factor @@ -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 diff --git a/basis/compiler/cfg/predecessors/predecessors.factor b/basis/compiler/cfg/predecessors/predecessors.factor index a329d3ab6b..9f44a496e0 100644 --- a/basis/compiler/cfg/predecessors/predecessors.factor +++ b/basis/compiler/cfg/predecessors/predecessors.factor @@ -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 insn-def-slots insn-use-slots insn-temp-slots scalar-rep ; FROM: namespaces => set ; diff --git a/basis/compiler/cfg/representations/representations.factor b/basis/compiler/cfg/representations/representations.factor index 42e9e8bf09..91521006d0 100644 --- a/basis/compiler/cfg/representations/representations.factor +++ b/basis/compiler/cfg/representations/representations.factor @@ -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 diff --git a/basis/compiler/cfg/representations/rewrite/rewrite.factor b/basis/compiler/cfg/representations/rewrite/rewrite.factor index b997c35e2e..e8c89d02e9 100644 --- a/basis/compiler/cfg/representations/rewrite/rewrite.factor +++ b/basis/compiler/cfg/representations/rewrite/rewrite.factor @@ -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 diff --git a/basis/compiler/cfg/representations/selection/selection.factor b/basis/compiler/cfg/representations/selection/selection.factor index 45f7a6d77f..d91db52641 100644 --- a/basis/compiler/cfg/representations/selection/selection.factor +++ b/basis/compiler/cfg/representations/selection/selection.factor @@ -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 diff --git a/basis/compiler/cfg/rpo/rpo.factor b/basis/compiler/cfg/rpo/rpo.factor index 0064770421..c64952b899 100644 --- a/basis/compiler/cfg/rpo/rpo.factor +++ b/basis/compiler/cfg/rpo/rpo.factor @@ -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 diff --git a/basis/compiler/cfg/save-contexts/save-contexts.factor b/basis/compiler/cfg/save-contexts/save-contexts.factor index 29989684be..571056e2c8 100644 --- a/basis/compiler/cfg/save-contexts/save-contexts.factor +++ b/basis/compiler/cfg/save-contexts/save-contexts.factor @@ -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. diff --git a/basis/compiler/cfg/scheduling/scheduling.factor b/basis/compiler/cfg/scheduling/scheduling.factor index 3fb5eaf82e..e23726e081 100644 --- a/basis/compiler/cfg/scheduling/scheduling.factor +++ b/basis/compiler/cfg/scheduling/scheduling.factor @@ -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 diff --git a/basis/compiler/cfg/ssa/construction/construction.factor b/basis/compiler/cfg/ssa/construction/construction.factor index 9c32e92377..9d2ef4b7e0 100644 --- a/basis/compiler/cfg/ssa/construction/construction.factor +++ b/basis/compiler/cfg/ssa/construction/construction.factor @@ -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 diff --git a/basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor b/basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor index cc59908ed1..4ddad53f73 100644 --- a/basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor +++ b/basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor @@ -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 diff --git a/basis/compiler/cfg/ssa/cssa/cssa.factor b/basis/compiler/cfg/ssa/cssa/cssa.factor index ff8521ce3a..ce472c8536 100644 --- a/basis/compiler/cfg/ssa/cssa/cssa.factor +++ b/basis/compiler/cfg/ssa/cssa/cssa.factor @@ -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 diff --git a/basis/compiler/cfg/ssa/destruction/destruction.factor b/basis/compiler/cfg/ssa/destruction/destruction.factor index 15225fba18..eb89e40982 100644 --- a/basis/compiler/cfg/ssa/destruction/destruction.factor +++ b/basis/compiler/cfg/ssa/destruction/destruction.factor @@ -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 diff --git a/basis/compiler/cfg/ssa/interference/interference.factor b/basis/compiler/cfg/ssa/interference/interference.factor index 0beb9ef010..722cc3104d 100644 --- a/basis/compiler/cfg/ssa/interference/interference.factor +++ b/basis/compiler/cfg/ssa/interference/interference.factor @@ -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. @@ -172,4 +171,4 @@ PRIVATE> 2dup [ length 1 = ] both? [ sets-interfere-1? ] [ merge-sets dup linear-interference-test [ drop f t ] [ dup update-for-merge f ] if - ] if ; \ No newline at end of file + ] if ; diff --git a/basis/compiler/cfg/ssa/interference/live-ranges/live-ranges.factor b/basis/compiler/cfg/ssa/interference/live-ranges/live-ranges.factor index 01f3467b0e..73d7a492e2 100644 --- a/basis/compiler/cfg/ssa/interference/live-ranges/live-ranges.factor +++ b/basis/compiler/cfg/ssa/interference/live-ranges/live-ranges.factor @@ -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 diff --git a/basis/compiler/cfg/stack-frame/stack-frame.factor b/basis/compiler/cfg/stack-frame/stack-frame.factor index 790d93a907..8901bb054f 100644 --- a/basis/compiler/cfg/stack-frame/stack-frame.factor +++ b/basis/compiler/cfg/stack-frame/stack-frame.factor @@ -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 diff --git a/basis/compiler/cfg/stacks/finalize/finalize.factor b/basis/compiler/cfg/stacks/finalize/finalize.factor index 83322ead2f..72276dd42d 100644 --- a/basis/compiler/cfg/stacks/finalize/finalize.factor +++ b/basis/compiler/cfg/stacks/finalize/finalize.factor @@ -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. diff --git a/basis/compiler/cfg/stacks/global/global.factor b/basis/compiler/cfg/stacks/global/global.factor index 15994c60f4..586993300a 100644 --- a/basis/compiler/cfg/stacks/global/global.factor +++ b/basis/compiler/cfg/stacks/global/global.factor @@ -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' ) diff --git a/basis/compiler/cfg/stacks/height/height.factor b/basis/compiler/cfg/stacks/height/height.factor index 4d91dc614a..3c02ea6c27 100644 --- a/basis/compiler/cfg/stacks/height/height.factor +++ b/basis/compiler/cfg/stacks/height/height.factor @@ -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. @@ -24,4 +24,4 @@ M: ds-loc untranslate-loc [ n>> ] [ ds-heights get at ] bi* + ; M: rs-loc untranslate-loc [ n>> ] [ rs-heights get at ] bi* + ; : untranslate-locs ( assoc bb -- assoc' ) - '[ [ _ untranslate-loc ] dip ] assoc-map ; \ No newline at end of file + '[ [ _ untranslate-loc ] dip ] assoc-map ; diff --git a/basis/compiler/cfg/stacks/local/local.factor b/basis/compiler/cfg/stacks/local/local.factor index 958af12587..1046fd8a9e 100644 --- a/basis/compiler/cfg/stacks/local/local.factor +++ b/basis/compiler/cfg/stacks/local/local.factor @@ -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 diff --git a/basis/compiler/cfg/stacks/stacks.factor b/basis/compiler/cfg/stacks/stacks.factor index b73357c1e9..cbc8ff8360 100644 --- a/basis/compiler/cfg/stacks/stacks.factor +++ b/basis/compiler/cfg/stacks/stacks.factor @@ -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 ( -- ) diff --git a/basis/compiler/cfg/stacks/vacant/vacant.factor b/basis/compiler/cfg/stacks/vacant/vacant.factor index 6a6e859acc..7b6efb157f 100644 --- a/basis/compiler/cfg/stacks/vacant/vacant.factor +++ b/basis/compiler/cfg/stacks/vacant/vacant.factor @@ -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 diff --git a/basis/compiler/cfg/tco/tco.factor b/basis/compiler/cfg/tco/tco.factor index c2117f9317..0d5a3e2b1e 100644 --- a/basis/compiler/cfg/tco/tco.factor +++ b/basis/compiler/cfg/tco/tco.factor @@ -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. diff --git a/basis/compiler/cfg/useless-conditionals/useless-conditionals.factor b/basis/compiler/cfg/useless-conditionals/useless-conditionals.factor index d2f7c1aa2f..fd46a79ab1 100644 --- a/basis/compiler/cfg/useless-conditionals/useless-conditionals.factor +++ b/basis/compiler/cfg/useless-conditionals/useless-conditionals.factor @@ -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 -- ? ) diff --git a/basis/compiler/cfg/utilities/utilities.factor b/basis/compiler/cfg/utilities/utilities.factor index 7b8183f19e..8d24125d02 100644 --- a/basis/compiler/cfg/utilities/utilities.factor +++ b/basis/compiler/cfg/utilities/utilities.factor @@ -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 ) diff --git a/basis/compiler/cfg/value-numbering/alien/alien.factor b/basis/compiler/cfg/value-numbering/alien/alien.factor index d4d5dbd129..dfb0676e3c 100644 --- a/basis/compiler/cfg/value-numbering/alien/alien.factor +++ b/basis/compiler/cfg/value-numbering/alien/alien.factor @@ -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 diff --git a/basis/compiler/cfg/value-numbering/comparisons/comparisons.factor b/basis/compiler/cfg/value-numbering/comparisons/comparisons.factor index e2881c55ac..9cd7d6723b 100644 --- a/basis/compiler/cfg/value-numbering/comparisons/comparisons.factor +++ b/basis/compiler/cfg/value-numbering/comparisons/comparisons.factor @@ -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: diff --git a/basis/compiler/cfg/value-numbering/expressions/expressions.factor b/basis/compiler/cfg/value-numbering/expressions/expressions.factor index 411f682c77..8c9ea85016 100644 --- a/basis/compiler/cfg/value-numbering/expressions/expressions.factor +++ b/basis/compiler/cfg/value-numbering/expressions/expressions.factor @@ -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 diff --git a/basis/compiler/cfg/value-numbering/folding/folding.factor b/basis/compiler/cfg/value-numbering/folding/folding.factor index 9172560d78..e7dea1b329 100644 --- a/basis/compiler/cfg/value-numbering/folding/folding.factor +++ b/basis/compiler/cfg/value-numbering/folding/folding.factor @@ -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 -- ? ) diff --git a/basis/compiler/cfg/value-numbering/graph/graph.factor b/basis/compiler/cfg/value-numbering/graph/graph.factor index 1ea1a52d02..7f550120d0 100644 --- a/basis/compiler/cfg/value-numbering/graph/graph.factor +++ b/basis/compiler/cfg/value-numbering/graph/graph.factor @@ -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 diff --git a/basis/compiler/cfg/value-numbering/math/math.factor b/basis/compiler/cfg/value-numbering/math/math.factor index 027ec6cb25..8ebde6b049 100644 --- a/basis/compiler/cfg/value-numbering/math/math.factor +++ b/basis/compiler/cfg/value-numbering/math/math.factor @@ -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 -- ? ) diff --git a/basis/compiler/cfg/value-numbering/misc/misc.factor b/basis/compiler/cfg/value-numbering/misc/misc.factor index 396d4dd38c..34a87e169c 100644 --- a/basis/compiler/cfg/value-numbering/misc/misc.factor +++ b/basis/compiler/cfg/value-numbering/misc/misc.factor @@ -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 diff --git a/basis/compiler/cfg/value-numbering/rewrite/rewrite.factor b/basis/compiler/cfg/value-numbering/rewrite/rewrite.factor index 4f22c5bec2..b86315f5ef 100644 --- a/basis/compiler/cfg/value-numbering/rewrite/rewrite.factor +++ b/basis/compiler/cfg/value-numbering/rewrite/rewrite.factor @@ -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 diff --git a/basis/compiler/cfg/value-numbering/simd/simd.factor b/basis/compiler/cfg/value-numbering/simd/simd.factor index c0816e8c57..4c8df86998 100644 --- a/basis/compiler/cfg/value-numbering/simd/simd.factor +++ b/basis/compiler/cfg/value-numbering/simd/simd.factor @@ -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 diff --git a/basis/compiler/cfg/value-numbering/slots/slots.factor b/basis/compiler/cfg/value-numbering/slots/slots.factor index 7c2b562a84..8314f9f791 100644 --- a/basis/compiler/cfg/value-numbering/slots/slots.factor +++ b/basis/compiler/cfg/value-numbering/slots/slots.factor @@ -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 -- ? ) diff --git a/basis/compiler/cfg/value-numbering/value-numbering.factor b/basis/compiler/cfg/value-numbering/value-numbering.factor index 920542beda..0188e3e169 100644 --- a/basis/compiler/cfg/value-numbering/value-numbering.factor +++ b/basis/compiler/cfg/value-numbering/value-numbering.factor @@ -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' ) diff --git a/basis/compiler/codegen/codegen.factor b/basis/compiler/codegen/codegen.factor index 3d6ab00d49..87bf534fa5 100755 --- a/basis/compiler/codegen/codegen.factor +++ b/basis/compiler/codegen/codegen.factor @@ -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 diff --git a/basis/compiler/codegen/gc-maps/gc-maps.factor b/basis/compiler/codegen/gc-maps/gc-maps.factor index 4c92429ce9..624abdb717 100644 --- a/basis/compiler/codegen/gc-maps/gc-maps.factor +++ b/basis/compiler/codegen/gc-maps/gc-maps.factor @@ -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 ; diff --git a/basis/compiler/compiler.factor b/basis/compiler/compiler.factor index fc0d6a1f2e..6de9791197 100644 --- a/basis/compiler/compiler.factor +++ b/basis/compiler/compiler.factor @@ -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 diff --git a/basis/compiler/constants/constants.factor b/basis/compiler/constants/constants.factor index fb1a07daa3..c044eddedc 100644 --- a/basis/compiler/constants/constants.factor +++ b/basis/compiler/constants/constants.factor @@ -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 diff --git a/basis/compiler/crossref/crossref.factor b/basis/compiler/crossref/crossref.factor index 5071cc5ea2..c078e7fe35 100644 --- a/basis/compiler/crossref/crossref.factor +++ b/basis/compiler/crossref/crossref.factor @@ -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 diff --git a/basis/compiler/errors/errors.factor b/basis/compiler/errors/errors.factor index ef78a2a0a4..c9ba3c8b77 100644 --- a/basis/compiler/errors/errors.factor +++ b/basis/compiler/errors/errors.factor @@ -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+ diff --git a/basis/compiler/test/test.factor b/basis/compiler/test/test.factor index 0c86a244a2..5fa3ae4f0c 100644 --- a/basis/compiler/test/test.factor +++ b/basis/compiler/test/test.factor @@ -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 -- ) diff --git a/basis/compiler/threads/threads.factor b/basis/compiler/threads/threads.factor index ed79653e54..f87d3a1f15 100644 --- a/basis/compiler/threads/threads.factor +++ b/basis/compiler/threads/threads.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2011 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: alien.private compiler.utilities kernel namespaces -stack-checker.alien threads threads.private ; +stack-checker.alien threads threads.private ; IN: compiler.threads [ yield ] yield-hook set-global diff --git a/basis/compiler/tree/builder/builder.factor b/basis/compiler/tree/builder/builder.factor index 7f7dfdc4b5..3670168c3e 100644 --- a/basis/compiler/tree/builder/builder.factor +++ b/basis/compiler/tree/builder/builder.factor @@ -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 set ; IN: compiler.tree.checker diff --git a/basis/compiler/tree/cleanup/cleanup.factor b/basis/compiler/tree/cleanup/cleanup.factor index 6c9d846da8..e6d3a5149c 100644 --- a/basis/compiler/tree/cleanup/cleanup.factor +++ b/basis/compiler/tree/cleanup/cleanup.factor @@ -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 -- ) diff --git a/basis/compiler/tree/combinators/combinators.factor b/basis/compiler/tree/combinators/combinators.factor index 8b095e9ab5..d41796678c 100644 --- a/basis/compiler/tree/combinators/combinators.factor +++ b/basis/compiler/tree/combinators/combinators.factor @@ -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 -- ... ) -- ... ) diff --git a/basis/compiler/tree/comparisons/comparisons.factor b/basis/compiler/tree/comparisons/comparisons.factor index b8e79e33ca..7b30546844 100644 --- a/basis/compiler/tree/comparisons/comparisons.factor +++ b/basis/compiler/tree/comparisons/comparisons.factor @@ -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. diff --git a/basis/compiler/tree/dead-code/branches/branches.factor b/basis/compiler/tree/dead-code/branches/branches.factor index 5e9a296a9b..2ca4ceaa08 100644 --- a/basis/compiler/tree/dead-code/branches/branches.factor +++ b/basis/compiler/tree/dead-code/branches/branches.factor @@ -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 diff --git a/basis/compiler/tree/dead-code/liveness/liveness.factor b/basis/compiler/tree/dead-code/liveness/liveness.factor index 7e437cbc4e..363fb5c872 100644 --- a/basis/compiler/tree/dead-code/liveness/liveness.factor +++ b/basis/compiler/tree/dead-code/liveness/liveness.factor @@ -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 diff --git a/basis/compiler/tree/dead-code/recursive/recursive.factor b/basis/compiler/tree/dead-code/recursive/recursive.factor index 0c9464374a..c1ea770733 100644 --- a/basis/compiler/tree/dead-code/recursive/recursive.factor +++ b/basis/compiler/tree/dead-code/recursive/recursive.factor @@ -1,12 +1,10 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors arrays assocs sequences kernel locals fry -combinators stack-checker.backend -compiler.tree -compiler.tree.recursive +USING: accessors arrays compiler.tree compiler.tree.dead-code.branches -compiler.tree.dead-code.liveness -compiler.tree.dead-code.simple ; +compiler.tree.dead-code.liveness compiler.tree.dead-code.simple +compiler.tree.recursive kernel locals sequences +stack-checker.backend ; IN: compiler.tree.dead-code.recursive M: #enter-recursive compute-live-values* diff --git a/basis/compiler/tree/dead-code/simple/simple.factor b/basis/compiler/tree/dead-code/simple/simple.factor index 3f93639a3f..d0bbbc47db 100644 --- a/basis/compiler/tree/dead-code/simple/simple.factor +++ b/basis/compiler/tree/dead-code/simple/simple.factor @@ -1,13 +1,10 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel accessors words assocs sequences arrays namespaces -fry locals definitions classes classes.algebra generic math -combinators math.private -stack-checker.dependencies -stack-checker.backend -compiler.tree -compiler.tree.propagation.info -compiler.tree.dead-code.liveness ; +USING: accessors arrays assocs classes.algebra combinators +compiler.tree compiler.tree.dead-code.liveness +compiler.tree.propagation.info fry kernel locals math +math.private namespaces sequences stack-checker.backend +stack-checker.dependencies words ; IN: compiler.tree.dead-code.simple : flushable-call? ( #call -- ? ) diff --git a/basis/compiler/tree/debugger/debugger.factor b/basis/compiler/tree/debugger/debugger.factor index 22eed79c04..be73e2beeb 100644 --- a/basis/compiler/tree/debugger/debugger.factor +++ b/basis/compiler/tree/debugger/debugger.factor @@ -1,26 +1,18 @@ ! Copyright (C) 2006, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel assocs match fry accessors namespaces make effects -sequences sequences.private quotations generic macros arrays -prettyprint prettyprint.backend prettyprint.config -prettyprint.custom prettyprint.sections math words combinators -combinators.short-circuit io sorting hints sets -compiler.tree -compiler.tree.recursive -compiler.tree.normalization -compiler.tree.cleanup -compiler.tree.propagation -compiler.tree.propagation.info -compiler.tree.escape-analysis -compiler.tree.tuple-unboxing -compiler.tree.def-use -compiler.tree.builder -compiler.tree.optimizer -compiler.tree.combinators -compiler.tree.checker -compiler.tree.identities -compiler.tree.dead-code -compiler.tree.modular-arithmetic ; +USING: accessors arrays assocs combinators +combinators.short-circuit compiler.tree compiler.tree.builder +compiler.tree.checker compiler.tree.cleanup +compiler.tree.combinators compiler.tree.dead-code +compiler.tree.def-use compiler.tree.escape-analysis +compiler.tree.identities compiler.tree.modular-arithmetic +compiler.tree.normalization compiler.tree.optimizer +compiler.tree.propagation compiler.tree.propagation.info +compiler.tree.recursive compiler.tree.tuple-unboxing effects fry +generic hints io kernel macros make match math namespaces +prettyprint prettyprint.config prettyprint.custom +prettyprint.sections quotations sequences sequences.private sets +sorting words ; FROM: fry => _ ; FROM: namespaces => set ; RENAME: _ match => __ diff --git a/basis/compiler/tree/def-use/def-use.factor b/basis/compiler/tree/def-use/def-use.factor index 009346d428..f364b64149 100644 --- a/basis/compiler/tree/def-use/def-use.factor +++ b/basis/compiler/tree/def-use/def-use.factor @@ -1,11 +1,7 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: arrays fry namespaces sequences kernel generic assocs -classes vectors accessors combinators sets -stack-checker.state -stack-checker.branches -compiler.tree -compiler.tree.combinators ; +USING: accessors assocs compiler.tree compiler.tree.combinators +fry kernel namespaces sequences stack-checker.branches ; FROM: namespaces => set ; FROM: sets => members ; IN: compiler.tree.def-use diff --git a/basis/compiler/tree/def-use/simplified/simplified.factor b/basis/compiler/tree/def-use/simplified/simplified.factor index 942e8a53a0..d92c42fdbd 100644 --- a/basis/compiler/tree/def-use/simplified/simplified.factor +++ b/basis/compiler/tree/def-use/simplified/simplified.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: sequences kernel fry vectors accessors namespaces assocs sets -stack-checker.branches compiler.tree compiler.tree.def-use ; +USING: accessors compiler.tree compiler.tree.def-use kernel +namespaces sequences sets stack-checker.branches ; FROM: namespaces => set ; IN: compiler.tree.def-use.simplified diff --git a/basis/compiler/tree/escape-analysis/allocations/allocations.factor b/basis/compiler/tree/escape-analysis/allocations/allocations.factor index d52de79872..1f8634efa9 100644 --- a/basis/compiler/tree/escape-analysis/allocations/allocations.factor +++ b/basis/compiler/tree/escape-analysis/allocations/allocations.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors assocs namespaces sequences kernel math -combinators sets disjoint-sets fry stack-checker.values ; +USING: accessors assocs combinators disjoint-sets fry kernel +namespaces sequences stack-checker.values ; FROM: namespaces => set ; IN: compiler.tree.escape-analysis.allocations diff --git a/basis/compiler/tree/escape-analysis/branches/branches.factor b/basis/compiler/tree/escape-analysis/branches/branches.factor index ca41ac59fc..d3511bd8a2 100644 --- a/basis/compiler/tree/escape-analysis/branches/branches.factor +++ b/basis/compiler/tree/escape-analysis/branches/branches.factor @@ -1,11 +1,10 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel namespaces sequences sets fry columns -grouping stack-checker.branches -compiler.tree -compiler.tree.propagation.branches +USING: accessors compiler.tree +compiler.tree.escape-analysis.allocations compiler.tree.escape-analysis.nodes -compiler.tree.escape-analysis.allocations ; +compiler.tree.propagation.branches grouping kernel sequences +stack-checker.branches ; IN: compiler.tree.escape-analysis.branches M: #branch escape-analysis* diff --git a/basis/compiler/tree/escape-analysis/check/check.factor b/basis/compiler/tree/escape-analysis/check/check.factor index e8a96c62f9..c363923fbb 100644 --- a/basis/compiler/tree/escape-analysis/check/check.factor +++ b/basis/compiler/tree/escape-analysis/check/check.factor @@ -1,8 +1,8 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: classes classes.tuple math math.private accessors sequences -combinators.short-circuit kernel compiler.tree -compiler.tree.combinators compiler.tree.propagation.info ; +USING: accessors classes classes.tuple combinators.short-circuit +compiler.tree compiler.tree.propagation.info kernel math +sequences ; IN: compiler.tree.escape-analysis.check GENERIC: run-escape-analysis* ( node -- ? ) diff --git a/basis/compiler/tree/escape-analysis/escape-analysis.factor b/basis/compiler/tree/escape-analysis/escape-analysis.factor index dcad55742b..5bcbb6a348 100644 --- a/basis/compiler/tree/escape-analysis/escape-analysis.factor +++ b/basis/compiler/tree/escape-analysis/escape-analysis.factor @@ -1,12 +1,12 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel namespaces assocs fry sequences -compiler.tree -compiler.tree.escape-analysis.allocations -compiler.tree.escape-analysis.recursive -compiler.tree.escape-analysis.branches -compiler.tree.escape-analysis.nodes -compiler.tree.escape-analysis.simple ; +USING: compiler.tree.escape-analysis.allocations +compiler.tree.escape-analysis.nodes kernel namespaces ; + +USE: compiler.tree.escape-analysis.recursive +USE: compiler.tree.escape-analysis.branches +USE: compiler.tree.escape-analysis.simple + IN: compiler.tree.escape-analysis ! This pass must run after propagation diff --git a/basis/compiler/tree/escape-analysis/nodes/nodes.factor b/basis/compiler/tree/escape-analysis/nodes/nodes.factor index 6fcfa16261..c8dad604c4 100644 --- a/basis/compiler/tree/escape-analysis/nodes/nodes.factor +++ b/basis/compiler/tree/escape-analysis/nodes/nodes.factor @@ -1,9 +1,8 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel sequences fry math namespaces -compiler.tree -compiler.tree.def-use -compiler.tree.escape-analysis.allocations ; +USING: compiler.tree.def-use +compiler.tree.escape-analysis.allocations fry kernel math +namespaces sequences ; IN: compiler.tree.escape-analysis.nodes GENERIC: escape-analysis* ( node -- ) diff --git a/basis/compiler/tree/escape-analysis/recursive/recursive.factor b/basis/compiler/tree/escape-analysis/recursive/recursive.factor index ad6572a35c..26e019e884 100644 --- a/basis/compiler/tree/escape-analysis/recursive/recursive.factor +++ b/basis/compiler/tree/escape-analysis/recursive/recursive.factor @@ -1,13 +1,11 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel sequences math combinators accessors namespaces -fry disjoint-sets -compiler.tree -compiler.tree.recursive +USING: accessors combinators compiler.tree compiler.tree.combinators -compiler.tree.escape-analysis.nodes +compiler.tree.escape-analysis.allocations compiler.tree.escape-analysis.branches -compiler.tree.escape-analysis.allocations ; +compiler.tree.escape-analysis.nodes compiler.tree.recursive +disjoint-sets fry kernel namespaces sequences ; IN: compiler.tree.escape-analysis.recursive : congruent? ( alloc1 alloc2 -- ? ) diff --git a/basis/compiler/tree/escape-analysis/simple/simple.factor b/basis/compiler/tree/escape-analysis/simple/simple.factor index 9a3d53d675..edf5b69b62 100644 --- a/basis/compiler/tree/escape-analysis/simple/simple.factor +++ b/basis/compiler/tree/escape-analysis/simple/simple.factor @@ -1,13 +1,11 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel accessors sequences classes.tuple -classes.tuple.private arrays math math.private slots.private -combinators deques search-deques namespaces fry classes -classes.algebra assocs stack-checker.state -compiler.tree -compiler.tree.propagation.info +USING: accessors arrays assocs classes classes.tuple +classes.tuple.private combinators compiler.tree +compiler.tree.escape-analysis.allocations compiler.tree.escape-analysis.nodes -compiler.tree.escape-analysis.allocations ; +compiler.tree.propagation.info kernel math namespaces sequences +slots.private ; IN: compiler.tree.escape-analysis.simple M: #declare escape-analysis* drop ; diff --git a/basis/compiler/tree/finalization/finalization.factor b/basis/compiler/tree/finalization/finalization.factor index 8930f2adef..29974230f3 100644 --- a/basis/compiler/tree/finalization/finalization.factor +++ b/basis/compiler/tree/finalization/finalization.factor @@ -1,13 +1,11 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel accessors sequences words memoize combinators -classes classes.builtin classes.tuple classes.singleton -math.partial-dispatch fry assocs combinators.short-circuit -stack-checker.dependencies -compiler.tree -compiler.tree.combinators -compiler.tree.propagation.info -compiler.tree.late-optimizations ; +USING: accessors assocs classes classes.builtin +classes.singleton classes.tuple combinators +combinators.short-circuit compiler.tree +compiler.tree.combinators compiler.tree.late-optimizations fry +kernel math.partial-dispatch memoize sequences +stack-checker.dependencies words ; IN: compiler.tree.finalization ! This is a late-stage optimization. diff --git a/basis/compiler/tree/identities/identities.factor b/basis/compiler/tree/identities/identities.factor index 78fd4b0ca1..440afed4be 100644 --- a/basis/compiler/tree/identities/identities.factor +++ b/basis/compiler/tree/identities/identities.factor @@ -1,10 +1,8 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel sequences fry words math -math.partial-dispatch combinators arrays hashtables -compiler.tree -compiler.tree.combinators -compiler.tree.propagation.info ; +USING: accessors arrays combinators compiler.tree +compiler.tree.combinators compiler.tree.propagation.info fry +hashtables kernel math math.partial-dispatch sequences words ; IN: compiler.tree.identities : define-identities ( word identities -- ) diff --git a/basis/compiler/tree/late-optimizations/late-optimizations.factor b/basis/compiler/tree/late-optimizations/late-optimizations.factor index e2641416b2..85a6464231 100644 --- a/basis/compiler/tree/late-optimizations/late-optimizations.factor +++ b/basis/compiler/tree/late-optimizations/late-optimizations.factor @@ -1,13 +1,9 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: sequences namespaces compiler.tree.builder -compiler.tree.recursive -compiler.tree.normalization -compiler.tree.propagation -compiler.tree.propagation.info -compiler.tree.cleanup -compiler.tree.def-use -compiler.tree.dead-code ; +USING: compiler.tree.builder compiler.tree.cleanup +compiler.tree.dead-code compiler.tree.def-use +compiler.tree.normalization compiler.tree.propagation +compiler.tree.recursive namespaces sequences ; IN: compiler.tree.late-optimizations ! Late optimizations modify the tree such that stack flow @@ -19,7 +15,7 @@ IN: compiler.tree.late-optimizations : splice-quot ( quot -- nodes ) [ build-tree - analyze-recursive + analyze-recursive normalize propagate cleanup diff --git a/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor b/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor index 135a63692d..5852c04f27 100644 --- a/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor +++ b/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor @@ -1,14 +1,11 @@ ! Copyright (C) 2008, 2009 Slava Pestov, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. -USING: math math.intervals math.private math.partial-dispatch -namespaces sequences sets accessors assocs words kernel memoize fry -combinators combinators.short-circuit layouts alien.accessors -compiler.tree -compiler.tree.combinators -compiler.tree.propagation.info -compiler.tree.def-use -compiler.tree.def-use.simplified -compiler.tree.late-optimizations ; +USING: accessors alien.accessors assocs combinators +combinators.short-circuit compiler.tree +compiler.tree.combinators compiler.tree.def-use.simplified +compiler.tree.late-optimizations compiler.tree.propagation.info +fry kernel layouts math math.intervals math.partial-dispatch +math.private memoize namespaces sequences sets words ; FROM: namespaces => set ; FROM: assocs => change-at ; IN: compiler.tree.modular-arithmetic diff --git a/basis/compiler/tree/normalization/introductions/introductions.factor b/basis/compiler/tree/normalization/introductions/introductions.factor index 743b8c56da..b4d38908a4 100644 --- a/basis/compiler/tree/normalization/introductions/introductions.factor +++ b/basis/compiler/tree/normalization/introductions/introductions.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: namespaces sequences accessors math kernel -compiler.tree math.order ; +USING: accessors compiler.tree kernel math math.order namespaces +sequences ; IN: compiler.tree.normalization.introductions SYMBOL: introductions diff --git a/basis/compiler/tree/normalization/normalization.factor b/basis/compiler/tree/normalization/normalization.factor index 57d4a04b0c..e7e8a62983 100644 --- a/basis/compiler/tree/normalization/normalization.factor +++ b/basis/compiler/tree/normalization/normalization.factor @@ -1,15 +1,10 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: fry namespaces sequences math math.order accessors kernel arrays -combinators assocs -stack-checker.backend -stack-checker.branches -stack-checker.inlining -compiler.utilities -compiler.tree -compiler.tree.combinators +USING: accessors arrays assocs combinators compiler.tree compiler.tree.normalization.introductions -compiler.tree.normalization.renaming ; +compiler.tree.normalization.renaming compiler.utilities fry +kernel math math.order namespaces sequences +stack-checker.backend stack-checker.branches ; IN: compiler.tree.normalization ! A transform pass done before optimization can begin to diff --git a/basis/compiler/tree/normalization/renaming/renaming.factor b/basis/compiler/tree/normalization/renaming/renaming.factor index 9d68f4a733..3cf22434d0 100644 --- a/basis/compiler/tree/normalization/renaming/renaming.factor +++ b/basis/compiler/tree/normalization/renaming/renaming.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: namespaces assocs kernel accessors sequences fry -compiler.tree compiler.tree.combinators ; +USING: accessors assocs compiler.tree compiler.tree.combinators +fry kernel namespaces sequences ; IN: compiler.tree.normalization.renaming SYMBOL: rename-map diff --git a/basis/compiler/tree/propagation/branches/branches.factor b/basis/compiler/tree/propagation/branches/branches.factor index 29fb38005e..cda8146124 100644 --- a/basis/compiler/tree/propagation/branches/branches.factor +++ b/basis/compiler/tree/propagation/branches/branches.factor @@ -1,15 +1,10 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: fry kernel sequences assocs accessors -math.intervals arrays classes.algebra combinators columns -stack-checker.branches locals math namespaces -compiler.utilities -compiler.tree -compiler.tree.combinators -compiler.tree.propagation.info -compiler.tree.propagation.nodes -compiler.tree.propagation.simple -compiler.tree.propagation.constraints ; +USING: accessors arrays assocs combinators compiler.tree +compiler.tree.combinators compiler.tree.propagation.constraints +compiler.tree.propagation.info compiler.tree.propagation.nodes +compiler.tree.propagation.simple fry kernel locals math +namespaces sequences stack-checker.branches ; FROM: sets => union ; FROM: assocs => change-at ; IN: compiler.tree.propagation.branches diff --git a/basis/compiler/tree/propagation/call-effect/call-effect.factor b/basis/compiler/tree/propagation/call-effect/call-effect.factor index ab1a77b70d..d168791d9b 100644 --- a/basis/compiler/tree/propagation/call-effect/call-effect.factor +++ b/basis/compiler/tree/propagation/call-effect/call-effect.factor @@ -1,11 +1,11 @@ ! Copyright (C) 2009, 2010 Slava Pestov, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors arrays combinators combinators.private effects -fry kernel kernel.private make namespaces sequences continuations -quotations words math stack-checker stack-checker.dependencies -combinators.short-circuit stack-checker.transforms -compiler.tree.propagation.info -compiler.tree.propagation.inlining compiler.units ; +USING: accessors combinators combinators.private +combinators.short-circuit compiler.tree.propagation.info +compiler.tree.propagation.inlining compiler.units continuations +effects fry kernel kernel.private namespaces quotations +sequences stack-checker stack-checker.dependencies +stack-checker.transforms words ; IN: compiler.tree.propagation.call-effect ! call( and execute( have complex expansions. diff --git a/basis/compiler/tree/propagation/constraints/constraints.factor b/basis/compiler/tree/propagation/constraints/constraints.factor index f9988ba220..2af6e5731b 100644 --- a/basis/compiler/tree/propagation/constraints/constraints.factor +++ b/basis/compiler/tree/propagation/constraints/constraints.factor @@ -1,11 +1,8 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: arrays assocs math math.intervals kernel accessors -sequences namespaces classes classes.algebra -combinators words combinators.short-circuit -compiler.tree -compiler.tree.propagation.info -compiler.tree.propagation.copy ; +USING: accessors arrays assocs classes.algebra +compiler.tree.propagation.copy compiler.tree.propagation.info +kernel namespaces sequences ; IN: compiler.tree.propagation.constraints ! A constraint is a statement about a value. diff --git a/basis/compiler/tree/propagation/copy/copy.factor b/basis/compiler/tree/propagation/copy/copy.factor index defb504034..d777044c6f 100644 --- a/basis/compiler/tree/propagation/copy/copy.factor +++ b/basis/compiler/tree/propagation/copy/copy.factor @@ -1,12 +1,8 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: namespaces sequences assocs math kernel accessors fry -combinators sets locals columns grouping -stack-checker.branches -compiler.tree -compiler.tree.def-use -compiler.tree.combinators -compiler.utilities ; +USING: accessors assocs compiler.tree compiler.tree.def-use +compiler.utilities grouping kernel namespaces sequences sets +stack-checker.branches ; IN: compiler.tree.propagation.copy ! Two values are copy-equivalent if they are always identical diff --git a/basis/compiler/tree/propagation/info/info.factor b/basis/compiler/tree/propagation/info/info.factor index 35adc61662..3af16a4fed 100644 --- a/basis/compiler/tree/propagation/info/info.factor +++ b/basis/compiler/tree/propagation/info/info.factor @@ -1,11 +1,11 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: assocs classes classes.algebra classes.tuple -classes.tuple.private classes.singleton kernel accessors math -math.intervals namespaces sequences sequences.private words -combinators memoize combinators.short-circuit byte-arrays -strings arrays layouts cpu.architecture -compiler.tree.propagation.copy ; +USING: accessors arrays assocs byte-arrays classes +classes.algebra classes.singleton classes.tuple +classes.tuple.private combinators combinators.short-circuit +compiler.tree.propagation.copy kernel layouts math +math.intervals namespaces sequences sequences.private strings +words ; IN: compiler.tree.propagation.info : false-class? ( class -- ? ) \ f class<= ; diff --git a/basis/compiler/tree/propagation/inlining/inlining.factor b/basis/compiler/tree/propagation/inlining/inlining.factor index 32e063d022..f9fc8e8d46 100644 --- a/basis/compiler/tree/propagation/inlining/inlining.factor +++ b/basis/compiler/tree/propagation/inlining/inlining.factor @@ -1,17 +1,11 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel arrays sequences math math.order -math.partial-dispatch generic generic.standard generic.single generic.math -classes.algebra classes.union sets quotations assocs combinators -combinators.short-circuit words namespaces continuations classes -fry hints locals -compiler.tree -compiler.tree.builder -compiler.tree.recursive -compiler.tree.combinators -compiler.tree.normalization -compiler.tree.propagation.info -compiler.tree.propagation.nodes ; +USING: accessors arrays assocs classes.algebra combinators +combinators.short-circuit compiler.tree compiler.tree.builder +compiler.tree.normalization compiler.tree.propagation.info +compiler.tree.propagation.nodes compiler.tree.recursive generic +generic.math generic.single generic.standard kernel locals math +math.partial-dispatch namespaces quotations sequences words ; IN: compiler.tree.propagation.inlining ! Splicing nodes diff --git a/basis/compiler/tree/propagation/known-words/known-words.factor b/basis/compiler/tree/propagation/known-words/known-words.factor index 206ad633a9..8f81bf9c61 100644 --- a/basis/compiler/tree/propagation/known-words/known-words.factor +++ b/basis/compiler/tree/propagation/known-words/known-words.factor @@ -1,24 +1,16 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: effects accessors kernel kernel.private layouts math -math.private math.integers.private math.floats.private -math.partial-dispatch math.intervals math.parser math.order -math.functions math.libm math.ratios namespaces words sequences -sequences.private arrays assocs classes classes.algebra -combinators generic.math splitting fry locals classes.tuple -alien.accessors classes.tuple.private slots.private definitions -strings.private vectors hashtables generic quotations alien -alien.data alien.data.private -strings sbufs byte-arrays byte-vectors -stack-checker.dependencies -compiler.tree.comparisons -compiler.tree.propagation.info -compiler.tree.propagation.nodes -compiler.tree.propagation.slots -compiler.tree.propagation.simple -compiler.tree.propagation.constraints -compiler.tree.propagation.call-effect -compiler.tree.propagation.transforms ; +USING: accessors alien alien.accessors alien.data.private arrays +assocs byte-arrays byte-vectors classes classes.algebra +classes.tuple classes.tuple.private combinators +compiler.tree.comparisons compiler.tree.propagation.constraints +compiler.tree.propagation.info compiler.tree.propagation.simple +compiler.tree.propagation.slots fry generic.math hashtables +kernel kernel.private layouts locals math math.floats.private +math.functions math.integers.private math.intervals math.libm +math.parser math.partial-dispatch math.private namespaces sbufs +sequences slots.private splitting strings strings.private +vectors words ; FROM: alien.c-types => (signed-interval) (unsigned-interval) ; IN: compiler.tree.propagation.known-words diff --git a/basis/compiler/tree/propagation/nodes/nodes.factor b/basis/compiler/tree/propagation/nodes/nodes.factor index 1827881e9a..6afebaab03 100644 --- a/basis/compiler/tree/propagation/nodes/nodes.factor +++ b/basis/compiler/tree/propagation/nodes/nodes.factor @@ -1,9 +1,8 @@ ! Copyright (C) 2004, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: sequences accessors kernel assocs -compiler.tree -compiler.tree.propagation.copy -compiler.tree.propagation.info ; +USING: accessors assocs compiler.tree +compiler.tree.propagation.copy compiler.tree.propagation.info +kernel sequences ; IN: compiler.tree.propagation.nodes SYMBOL: loop-nesting diff --git a/basis/compiler/tree/propagation/propagation.factor b/basis/compiler/tree/propagation/propagation.factor index 81309088c4..01581f9198 100644 --- a/basis/compiler/tree/propagation/propagation.factor +++ b/basis/compiler/tree/propagation/propagation.factor @@ -1,16 +1,19 @@ ! Copyright (C) 2004, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel sequences namespaces hashtables arrays +USING: arrays compiler.tree +compiler.tree.propagation.branches +compiler.tree.propagation.call-effect +compiler.tree.propagation.constraints compiler.tree.propagation.copy compiler.tree.propagation.info -compiler.tree.propagation.nodes -compiler.tree.propagation.simple compiler.tree.propagation.inlining -compiler.tree.propagation.branches +compiler.tree.propagation.known-words +compiler.tree.propagation.nodes compiler.tree.propagation.recursive -compiler.tree.propagation.constraints -compiler.tree.propagation.known-words ; +compiler.tree.propagation.simple +compiler.tree.propagation.transforms +kernel namespaces ; IN: compiler.tree.propagation ! This pass must run after normalization diff --git a/basis/compiler/tree/propagation/recursive/recursive.factor b/basis/compiler/tree/propagation/recursive/recursive.factor index b343f5aa6d..812f56df82 100644 --- a/basis/compiler/tree/propagation/recursive/recursive.factor +++ b/basis/compiler/tree/propagation/recursive/recursive.factor @@ -1,16 +1,10 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel classes.algebra sequences accessors arrays fry -math math.intervals layouts combinators namespaces locals -stack-checker.inlining -compiler.tree -compiler.tree.combinators -compiler.tree.propagation.copy -compiler.tree.propagation.info -compiler.tree.propagation.nodes -compiler.tree.propagation.simple -compiler.tree.propagation.branches -compiler.tree.propagation.constraints ; +USING: accessors classes.algebra combinators compiler.tree +compiler.tree.combinators compiler.tree.propagation.constraints +compiler.tree.propagation.copy compiler.tree.propagation.info +compiler.tree.propagation.nodes compiler.tree.propagation.simple +kernel locals math math.intervals namespaces sequences ; FROM: sequences.private => array-capacity ; IN: compiler.tree.propagation.recursive diff --git a/basis/compiler/tree/propagation/simd/simd.factor b/basis/compiler/tree/propagation/simd/simd.factor index e73ecc0624..dc4b852017 100644 --- a/basis/compiler/tree/propagation/simd/simd.factor +++ b/basis/compiler/tree/propagation/simd/simd.factor @@ -1,9 +1,10 @@ ! Copyright (C) 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors assocs byte-arrays combinators compiler.cfg.builder -continuations fry sequences compiler.tree.propagation.info -compiler.tree.propagation.nodes cpu.architecture kernel layouts words -make math math.intervals math.vectors.simd.intrinsics namespaces ; +USING: accessors byte-arrays combinators compiler.cfg.builder +compiler.tree.propagation.info compiler.tree.propagation.nodes +continuations cpu.architecture fry kernel layouts math +math.intervals math.vectors.simd.intrinsics namespaces sequences +words ; IN: compiler.tree.propagation.simd CONSTANT: vector>vector-intrinsics diff --git a/basis/compiler/tree/propagation/simple/simple.factor b/basis/compiler/tree/propagation/simple/simple.factor index b07e8d4bca..67f49b55d6 100644 --- a/basis/compiler/tree/propagation/simple/simple.factor +++ b/basis/compiler/tree/propagation/simple/simple.factor @@ -1,17 +1,14 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: fry accessors kernel sequences sequences.private assocs -words namespaces classes.algebra combinators -combinators.short-circuit classes classes.tuple -classes.tuple.private continuations arrays alien.c-types math -math.private slots generic definitions stack-checker.dependencies -classes.maybe classes.algebra.private -compiler.tree +USING: accessors alien.c-types arrays assocs classes +classes.algebra classes.algebra.private classes.maybe +classes.tuple.private combinators combinators.short-circuit +compiler.tree compiler.tree.propagation.constraints compiler.tree.propagation.info -compiler.tree.propagation.nodes -compiler.tree.propagation.slots compiler.tree.propagation.inlining -compiler.tree.propagation.constraints ; +compiler.tree.propagation.nodes compiler.tree.propagation.slots +continuations fry kernel sequences stack-checker.dependencies +words ; IN: compiler.tree.propagation.simple ! Propagation for straight-line code. diff --git a/basis/compiler/tree/propagation/slots/slots.factor b/basis/compiler/tree/propagation/slots/slots.factor index 520602879e..f9955de705 100644 --- a/basis/compiler/tree/propagation/slots/slots.factor +++ b/basis/compiler/tree/propagation/slots/slots.factor @@ -1,10 +1,9 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: fry assocs arrays byte-arrays strings accessors sequences -kernel slots classes.algebra classes.tuple classes.tuple.private -combinators.short-circuit words math math.private combinators -sequences.private namespaces slots.private classes -compiler.tree.propagation.info ; +USING: accessors arrays assocs byte-arrays classes +classes.algebra classes.tuple classes.tuple.private combinators +combinators.short-circuit compiler.tree.propagation.info kernel +math sequences slots.private strings ; IN: compiler.tree.propagation.slots ! Propagation of immutable slots and array lengths diff --git a/basis/compiler/tree/propagation/transforms/transforms.factor b/basis/compiler/tree/propagation/transforms/transforms.factor index 7d836f4b59..fcbb2b272b 100644 --- a/basis/compiler/tree/propagation/transforms/transforms.factor +++ b/basis/compiler/tree/propagation/transforms/transforms.factor @@ -1,15 +1,14 @@ ! Copyright (C) 2008, 2011 Slava Pestov, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. -USING: alien.c-types kernel sequences words fry generic -generic.single accessors classes.tuple classes classes.algebra -definitions stack-checker.dependencies quotations -classes.tuple.private math math.partial-dispatch math.private -math.intervals sets.private math.floats.private -math.integers.private layouts math.order vectors hashtables -combinators effects generalizations sequences.generalizations -assocs sets combinators.short-circuit sequences.private locals -growable stack-checker namespaces compiler.tree.propagation.info -hash-sets arrays hashtables.private ; +USING: accessors alien.c-types assocs classes classes.algebra +classes.tuple classes.tuple.private combinators +combinators.short-circuit compiler.tree.propagation.info effects +fry generalizations generic generic.single growable hash-sets +hashtables kernel layouts locals math math.integers.private +math.intervals math.order math.partial-dispatch math.private +namespaces quotations sequences sequences.generalizations +sequences.private sets sets.private stack-checker +stack-checker.dependencies vectors words ; FROM: math => float ; FROM: sets => set members ; IN: compiler.tree.propagation.transforms diff --git a/basis/compiler/tree/recursive/recursive.factor b/basis/compiler/tree/recursive/recursive.factor index e6b8a7ea00..4517a48fdc 100644 --- a/basis/compiler/tree/recursive/recursive.factor +++ b/basis/compiler/tree/recursive/recursive.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel assocs arrays namespaces accessors sequences deques fry -search-deques dlists combinators.short-circuit make sets compiler.tree ; +USING: accessors combinators.short-circuit compiler.tree fry +kernel namespaces sequences sets ; FROM: namespaces => set ; IN: compiler.tree.recursive diff --git a/basis/compiler/tree/tree.factor b/basis/compiler/tree/tree.factor index 28ceff12af..5996b594ff 100644 --- a/basis/compiler/tree/tree.factor +++ b/basis/compiler/tree/tree.factor @@ -1,9 +1,7 @@ ! Copyright (C) 2004, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: fry arrays generic assocs kernel math namespaces parser -sequences words vectors math.intervals classes -accessors combinators stack-checker.state stack-checker.visitor -stack-checker.inlining ; +USING: accessors arrays assocs kernel namespaces sequences +stack-checker.visitor vectors ; IN: compiler.tree ! High-level tree SSA form. diff --git a/basis/compiler/tree/tuple-unboxing/tuple-unboxing.factor b/basis/compiler/tree/tuple-unboxing/tuple-unboxing.factor index 075b935343..fa597d0677 100644 --- a/basis/compiler/tree/tuple-unboxing/tuple-unboxing.factor +++ b/basis/compiler/tree/tuple-unboxing/tuple-unboxing.factor @@ -1,18 +1,12 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: namespaces assocs accessors kernel kernel.private combinators -classes.algebra sequences slots.private fry vectors -classes.tuple.private math math.private arrays -stack-checker.branches stack-checker.values -compiler.utilities -compiler.tree -compiler.tree.builder -compiler.tree.cleanup -compiler.tree.combinators -compiler.tree.propagation -compiler.tree.propagation.info -compiler.tree.escape-analysis.simple -compiler.tree.escape-analysis.allocations ; +USING: accessors arrays assocs classes.tuple.private combinators +compiler.tree compiler.tree.builder compiler.tree.combinators +compiler.tree.escape-analysis.allocations +compiler.tree.escape-analysis.simple compiler.tree.propagation +compiler.utilities fry kernel kernel.private math namespaces +sequences slots.private stack-checker.branches +stack-checker.values vectors ; IN: compiler.tree.tuple-unboxing ! This pass must run after escape analysis diff --git a/basis/compiler/utilities/utilities.factor b/basis/compiler/utilities/utilities.factor index 84080a73d7..a00dba4aff 100644 --- a/basis/compiler/utilities/utilities.factor +++ b/basis/compiler/utilities/utilities.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel sequences sequences.private arrays vectors fry -math math.order namespaces assocs locals ; +USING: arrays assocs fry kernel locals math math.order +namespaces sequences vectors ; IN: compiler.utilities : flattener ( seq quot -- seq vector quot' )