summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-11-16 22:32:09 +0100
committerAndy Wingo <wingo@pobox.com>2015-12-01 11:30:54 +0100
commit870ac91a4e6a8f75a6d0e246f034c9b4dcc70317 (patch)
tree6815dd2156ebbfc890622d4edfe18956a77ce945 /libguile/vm-engine.c
parenta7e1c392c27481f1f8bda11bd8ceb0fde9f06c14 (diff)
downloadguile-870ac91a4e6a8f75a6d0e246f034c9b4dcc70317.tar.gz
Range inference over the full U64+S64 range
* module/language/cps/types.scm (*min-s32*, *max-s32*): Remove unused definitions. (&range-min, &range-max): New definitions, replacing min-fixnum and max-fixnum as the bounds of precise range analysis. (type-entry-min, type-entry-max): Store inf values directly as -inf.0/+inf.0. (type-entry-clamped-min, type-entry-clamped-max): Remove, as they are no longer needed. (clamp-min, clamp-max, make-type-entry): Clamp minimum and maximum half-ranges in different ways. (type-entry-union, type-entry-saturating-union) (type-entry-intersection): Adapt to type-entry-min / type-entry-max change. (bv-u32-ref, bv-u32-set!): (bv-s32-ref, bv-s32-set!): (bv-u64-ref, bv-u64-set!): (bv-s64-ref, bv-s64-set!): Precise range inference. This will allow robust unboxing. (ash): Infer 64-bit shifts.
Diffstat (limited to 'libguile/vm-engine.c')
0 files changed, 0 insertions, 0 deletions