I just found a lot of troubles with JIT compilation:
some instructions (APPLY*, APPTERM*, RETURN, RAISE, GRAB) takes
branching address from stack, so, we can't determine its transition to
compiled address at compile time, and, so, we don't know exactly "entry
points", which can't be optimized out. We need some additional information
from compilator along with bytecode. Is it possible to produce a kind of
branching tables at a bytecode compilation time? Without this stuff we
just can produce flat, unoptimized native code, with transition table
for all possible addresses (it will be BIG and SLOW)...
--
V.S.Lugovsky aka Mauhuur (http://ontil.ihep.su/~vsl) (UIN=45482254)