The status of Exupery
bryce at kampjes.demon.co.uk
Wed Mar 24 23:06:24 UTC 2004
stéphane ducasse writes:
> Hi brce
> could you let us know the status of exupery?
> Do you know if people continued to work on the JIT in ST?
The status is this: the 0.03 release is nearly done, all I need to do
is 1) decide what to do about this possible VM bug and 2) build some
sars. The code is already on SqueakSource.
The 0.03 release is hopefully the last release that doesn't add any
noticeably improvements. This one merely compiles all but a few
bytecodes leaving just blocks, extended bytecodes, and stack
duplicate. Blocks are left because they look similar to the multiple
method problem. Extended bytecodes and stack duplicate are left
because I'm lazy and they don't seem to add much compared the limit of
only a single compiled method.
The next release will have one major new feature. The ability to have
more than one compiled method at a time. This is basically a VM
modification to support multiple compiled methods. I've already
modified the VM to handle a single compiled method.
To handle multiple methods involves two distinct problems. First,
handling calling multiple compiled methods which really amounts to a
hash table lookup similar to normal method lookup. Second, recognising
a compiled method when returning into it after it's called another
method. It's the second case that is hard, a simple solution would
involve creating a subclass of MethodContext for compiled methods that
contained a pointer to the compiled code encoded as a SmallInteger to
avoid GC nastiness. It gets a little more complex when the code cache
gets flushed or an image gets saved and reloaded potentially leaving
dangling pointers into the code cache. These cases are solvable but
need a little though and probably a little discussion which is why
that work is bundled into it's own release.
I don't know of any progress with the JIT in ST. There may have
been some but not that I've heard of.
Oh, the best way to follow my progress is through my blog on
P.S 0.03 should be out in the next week or so. Not tonight, not with
work in the morning. It really is just an exersize in getting working
sars onto SqueakMap. I need sars to hold the .c files needed for some
of the older tests. Hmm, a sar that has a Monticello package it, that
is the problem, haven't thought about solving it yet, suspect it's
More information about the Squeak-dev