mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-28 07:50:20 +02:00
This will allow heap-object? / inum? predicates to do something useful. * module/language/cps/types.scm (&fixnum, &bignum): Split &exact-integer into these types. Keep &exact-integer as a union type. (type<=?): New helper. (constant-type): Return &fixnum or &bignum as appropriate. (define-exact-integer!): New helper, tries to make exact integer results be &fixnum if they are within range. Adapt users. (restricted-comparison-ranges, define-binary-result!): Use type<=? instead of = for &exact-integer. * module/language/cps/type-fold.scm (logtest, mul, logbit?): Use type<=?. * module/language/cps/specialize-numbers.scm (inferred-sigbits): (specialize-operations): Use type<=?. |
||
---|---|---|
.. | ||
brainfuck | ||
bytecode | ||
cps | ||
ecmascript | ||
elisp | ||
scheme | ||
tree-il | ||
value | ||
bytecode.scm | ||
cps.scm | ||
tree-il.scm |