]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' of git://factorcode.org/git/factor
authorDaniel Ehrenberg <littledan@pool-224-36.res.carleton.edu>
Wed, 20 Jan 2010 06:15:55 +0000 (00:15 -0600)
committerDaniel Ehrenberg <littledan@pool-224-36.res.carleton.edu>
Wed, 20 Jan 2010 06:15:55 +0000 (00:15 -0600)
Conflicts:

basis/compiler/tree/propagation/transforms/transforms.factor

1  2 
basis/compiler/tree/propagation/transforms/transforms.factor
core/math/integers/integers.factor

index b0605bfb356bfa0660d85410f0a104bc8a10ca86,63c0aea13ebf931dd8e197be625e6dd0c5f6f434..2d145ef74f637265b300fd14ad350f1ea6229433
@@@ -301,11 -282,17 +282,26 @@@ CONSTANT: lookup-table-at-max 25
  
  \ intersect [ intersect-quot ] 1 define-partial-eval
  
 +: fixnum-bits ( -- n )
 +    cell-bits tag-bits get - ;
 +
 +: bit-quot ( #call -- quot/f )
 +    in-d>> second value-info interval>> 0 fixnum-bits [a,b] interval-subset?
 +    [ [ >fixnum ] dip fixnum-bit? ] f ? ;
 +
 +\ bit? [ bit-quot ] "custom-inlining" set-word-prop
++
+ ! 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
+ ! We want to constant-fold calls to heap-size, and recompile those
+ ! calls when a C type is redefined
+ \ heap-size [
+     dup word? [
+         [ inlined-dependency depends-on ] [ heap-size '[ _ ] ] bi
+     ] [ drop f ] if
+ ] 1 define-partial-eval
Simple merge