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