[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lightning] More on work on lightning

From: Paolo Bonzini
Subject: Re: [Lightning] More on work on lightning
Date: Tue, 28 Sep 2010 08:53:38 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100907 Fedora/3.1.3-1.fc13 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.3

On 09/27/2010 10:53 PM, Paulo César Pereira de Andrade wrote:
I was thinking about it more on the sense of a function that
receives less arguments than those passed in registers, and in its
body, the register used for arguments are not used. But if an
argument is known to not be required anymore, the register could also
be used for other purposes.

I had thought of making JIT_R_NUM return a variable number depending on
the number of arguments in the current function, but actually it would
depend also on the maximum number of arguments of _called_ functions and
that is not available at jit_prolog time.

I just timed it on 3 different computers, and there is no difference;
timing of some loops running 10 million times oscillate 1-5 percent
to less or more, so, effectively it is the same, just that the new
approach should make prettier assembly dump.

I'd rather avoid that.  For prettier dumps, on x86-64 you can move to a
temporary register and push that.  For 32-bit the limited number of
registers makes everything a challenge. :/

current code using lightning is still more the 2 times slower

Did you profile to see where lightning code is spending time?

  Ok. If I could keep some states in xmm registers, it would help a lot,
but AFAIK there is no callee save xmm registers in the SytemV ABI.

You can just throw away the stack registers and require SSE2 for 32-bit x86. Anyway both the stack registers and the XMM registers are caller-save.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]