]> gitweb.factorcode.org Git - factor.git/commit
More optimization intended to reduce compile time. Another 10% speedup on compiling...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 6 Dec 2008 17:17:19 +0000 (11:17 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 6 Dec 2008 17:17:19 +0000 (11:17 -0600)
commit145b635eb60a265cf10cc6b88326108e95165e44
tree6037fe25aee560369736be47d8fe2619b916bbce
parenta56d480aa69e74465d64fc0b37b381a24e2fa9f3
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
18 files changed:
basis/bootstrap/compiler/compiler.factor
basis/compiler/cfg/two-operand/two-operand.factor
basis/compiler/tree/cleanup/cleanup.factor
basis/compiler/tree/combinators/combinators.factor
basis/compiler/tree/dead-code/liveness/liveness.factor
basis/compiler/tree/def-use/simplified/simplified.factor
basis/compiler/tree/escape-analysis/branches/branches.factor
basis/compiler/tree/escape-analysis/check/check.factor [new file with mode: 0644]
basis/compiler/tree/normalization/normalization.factor
basis/compiler/tree/optimizer/optimizer.factor
basis/compiler/tree/propagation/branches/branches.factor
basis/compiler/tree/propagation/copy/copy.factor
basis/compiler/tree/propagation/inlining/inlining.factor
basis/compiler/tree/propagation/propagation-tests.factor
basis/compiler/tree/tuple-unboxing/tuple-unboxing.factor
basis/compiler/utilities/utilities.factor [new file with mode: 0644]
basis/math/partial-dispatch/partial-dispatch.factor
core/sequences/sequences.factor