From a841083ebeec1b80970b77ac32e1499c1bff140d Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Thu, 12 Nov 2009 17:24:32 -0600 Subject: [PATCH] compiler.tree.propagation.transforms: inline push if types are known. Speeds up reverse-complement, sort, sum-file benchmarks --- .../tree/propagation/transforms/transforms.factor | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/basis/compiler/tree/propagation/transforms/transforms.factor b/basis/compiler/tree/propagation/transforms/transforms.factor index 294b883403..5aa490bfd3 100644 --- a/basis/compiler/tree/propagation/transforms/transforms.factor +++ b/basis/compiler/tree/propagation/transforms/transforms.factor @@ -6,7 +6,7 @@ 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 assocs -sets combinators.short-circuit sequences.private locals +sets combinators.short-circuit sequences.private locals growable stack-checker namespaces compiler.tree.propagation.info ; IN: compiler.tree.propagation.transforms @@ -300,3 +300,10 @@ CONSTANT: lookup-table-at-max 256 tester '[ _ filter ] ; \ intersect [ intersect-quot ] 1 define-partial-eval + +! Speeds up sum-file, sort and reverse-complement benchmarks by +! compiling decoder-readln better +\ push [ + in-d>> second value-info class>> growable class<= + [ \ push def>> ] [ f ] if +] "custom-inlining" set-word-prop