]> gitweb.factorcode.org Git - factor.git/commit
compiler.tree.propagation.*: implements downgrading to fixnum for the
authorBjörn Lindqvist <bjourne@gmail.com>
Thu, 25 Jun 2015 15:35:35 +0000 (17:35 +0200)
committerBjörn Lindqvist <bjourne@gmail.com>
Sat, 27 Jun 2015 14:14:58 +0000 (16:14 +0200)
commit2f835d36665765ab4bca61311ee2943e56e70310
treedcb23df69537ca05c9ded92dfe392341ddb7552c
parente14d7a35080ffd241b70c5f4301108a6a1f872dc
compiler.tree.propagation.*: implements downgrading to fixnum for the
mod word, maybe a first step in solving #224

factor_vm::primitive_bignum_mod is changed so that it outputs a fixnum
if the value is small enough. Then the compiler can take advantage of
knowing that expressions like [ >bignum 10 mod ] always result in a
fixnum [-9,9] and inline more arithmetic.
basis/compiler/tree/propagation/known-words/known-words.factor
basis/compiler/tree/propagation/propagation-tests.factor
basis/stack-checker/known-words/known-words.factor
vm/math.cpp