From 64a37d2db6827239a355088356a6e5958953a0db Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 16 Feb 2010 01:03:09 +1300 Subject: [PATCH] compiler.tree.propagation.transforms: tweak 2^ transform to fix performance regression in benchmark.beust2; introduced by 47d6507548a7bcbcf27af29d3fa9df00ed4f6130 --- .../compiler/tree/propagation/transforms/transforms.factor | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/basis/compiler/tree/propagation/transforms/transforms.factor b/basis/compiler/tree/propagation/transforms/transforms.factor index da3bd58f74..0077d0f123 100644 --- a/basis/compiler/tree/propagation/transforms/transforms.factor +++ b/basis/compiler/tree/propagation/transforms/transforms.factor @@ -103,13 +103,10 @@ IN: compiler.tree.propagation.transforms ! Speeds up 2^ : 2^? ( #call -- ? ) - in-d>> first2 [ value-info ] bi@ - [ { [ literal>> 1 = ] [ class>> fixnum class<= ] } 1&& ] - [ class>> fixnum class<= ] - bi* and ; + in-d>> first value-info literal>> 1 eq? ; \ shift [ - 2^? [ + 2^? [ cell-bits tag-bits get - 1 - '[ >fixnum dup 0 < [ 2drop 0 ] [