On Wed 06 Jul 2011 13:02, [email protected] (Ludovic Courtès) writes:

> Commit 37a5970c19ca7ad2b5de2f667748c840c199f878 changes the VM engine
> such that the jump table address is kept in a register, at least on
> x86_64.

Very cool!  I can verify that it improves things here too, though I am
also on x86_64 with GCC 4.6.0.

I can also confirm that explicitly specifying the register helps as
well.

> Interestingly, defining IP_REG and SP_REG on x86_64 is not necessary
> since GCC already makes the right choice.

I looked at specifying registers for the IP, SP, and FP as well.  I got
positive improvements with IP and FP but not (oddly) with SP.  Should we
try this?

    #define IP_REG asm ("r13")
    #define FP_REG asm ("r14")

Andy
-- 
http://wingolog.org/

Reply via email to