Nicholas Clark wrote:

On Thu, Feb 13, 2003 at 04:43:37PM +0100, Leopold Toetsch wrote:

Nicholas Clark wrote:

JIT/i386 uses the stackframe of CGP for its own. When there is a sequence of non-JITed functions, JIT code braanches directly into the CGP core and executes the CGP ops. Going back to JIT is a asm("ret"), which is a new (the 1000th !) opcode.

That sounds hairy. :-)

It's not utterly complex. Though single-stepping through a short program with ddd might be helpful ;-)


Presumably life.pasm mainly uses ops that already have JIT implementations.

Yep.


Do you have examples of code that doesn't have many OPs, and "currently"
goes faster on x86 under CGoto rather than JIT? These would be the
interesting ones.

IIRC perl6/examples/life.p6 was slower with JIT. Now JIT wins, but of course mainly due to more JITed opcodes.
No I don't have a good test for this.


Should I commit it or send to the list first?

I don't know. Are you confident in it? Does it pass all Parrot's regression
tests?

It passes parrot's, imcc's and perl6 tests, with -g and with -O3.


Nicholas Clark
leo


Reply via email to