Angel Faus wrote:

Hmm.... wouldn't the JIT benifit from a pre knowledge of basic
blocks and types or some information ? ... (I seem to think so
...).

I would think so, because if, for example, the JIT wants to do a full register allocation to map parrot registers to machine registers, it would certainly need information about basic blocks.

JIT doese register allocation already, but not per basic block (which JIT has too). Allocation is more fine grained per JITed sections, which are either basic blocks, or consist of JITed code only.

On the other hand, the JIT could certainly regenerate this information from the imc code, which is probably going to be stored somewhere anyway.

But right, IMCC could help here by e.g. assigning registers with top down priority I0, I1, In ... could be the top N used registers for this block, which JIT just remapps to processor registers.

Calling externl (non JITed code) would still need to load/restore these.

-angel

leo




Reply via email to