Nicholas Clark <[EMAIL PROTECTED]> wrote:
> On Thu, Oct 16, 2003 at 05:40:30PM +0200, Leopold Toetsch wrote:

>> As JIT code is unrolled, it IMHO can only call the function core (or CGP
>> again) for loaded opcodes.

> As is this would mean that the JIT can't JIT any opcodes that are brought
> in by dynamically loaded classes, it would be pain for any heavy users of
> custom classes.

[ snip ]

First - no pain. CGP and JIT rutimes are equally fast with PMC related
code. JIT only shines with natural int loops doing int and float
arithmetics.
When it comes to HLL there is no difference in performance - both cores
just do function calls.

Second - as said the JIT core does unroll opcodes, that is each JITted
assembly representation of any opcode is repeated in the execution
stream of the JITted instructions. While any other core branches around
in a fixed set of opcodes, the JIT runtime has a sequence of assembly
instructions representing these opcodes. Now when you load such opcodes
dynamically, there is no means to insert these into the current CPU
instructions - there is no hardware CPU representaion for loaded ops (if
there is any, the opcode would be in core, because it is important)

> Nicholas Clark

leo

Reply via email to