On 11/14/2012 07:38 PM, Matthew Flatt wrote:
I've adjusted the bytecode compiler so that it can deal with more local
types. To exercise the changes, fixnum results are tracked like flonum
results, although the JIT doesn't currently take advantage of fixnum
annotations.
Now, it should be easy to add
#define SCHEME_LOCAL_TYPE_EXTNUM 3
and fill in the extnum consumers and producers in
wants_local_type_arguments() and produces_local_type(). Then the JIT
changes should go the way you expect.
I plan to clean up the JIT a little bit to make it easier to add extnum
unboxing, but that's a smaller set of changes. Let me know when you
start working, and I'll try to not change anything that would make it
difficult to merge. I imagine that we'll be happy to merge your changes
into the distribution.
This is pretty awesome.
Neil ⊥
____________________
Racket Users list:
http://lists.racket-lang.org/users