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/