Am Mittwoch, 15. August 2007 20:05 schrieb Ron Blaschke: > As you can see, the code is heavily optimized. The pointer to the > interpreter is kept on the stack as it should stay the same, only the > opcode is exchanged. *should* is the key word here.
Well, another note. This optimization reaches likely back to times, when the opcode engine was designed. It's saving one interpreter push statement [1] per JIT calling one external function, and I've always thought of it as a very cool (and valid) thingy, when I first realized, why the interpreter is the second argument in opcode functions ;) leo [1] well at least for ancient architectures like x86, which don't have register calling convs for parts of the arguments
