]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/compiler/tree/propagation/transforms/transforms.factor
Merge git://github.com/littledan/Factor into littledan
[factor.git] / basis / compiler / tree / propagation / transforms / transforms.factor
index e95c6c4a4978b4304c013e064d262e7e07dbc88b..da3bd58f74da06478f1cfb24cadd54c8828b7ea7 100644 (file)
@@ -284,6 +284,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 [