]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/compiler/tree/propagation/transforms/transforms.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / basis / compiler / tree / propagation / transforms / transforms.factor
index 63c0aea13ebf931dd8e197be625e6dd0c5f6f434..2d145ef74f637265b300fd14ad350f1ea6229433 100644 (file)
@@ -282,6 +282,15 @@ CONSTANT: lookup-table-at-max 256
 
 \ 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 [