[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lightning] SPARC Fixes
From: |
Ludovic Courtès |
Subject: |
Re: [Lightning] SPARC Fixes |
Date: |
Tue, 31 Oct 2006 18:01:27 +0100 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) |
Hi,
Paolo Bonzini <address@hidden> writes:
>> For 1.2, we have to keep them anyway. Even beyond, is may be a nice
>> thing to have because it probably looks familiar to many people.
>>
> If you look at code produced by compilers, they rarely if ever
> push/pop. What they do, is they allocate an area to "spill" in the
> variables that don't fit into the registers. Even if the original
> code is stack-based bytecode, it's pretty easy to track the stack
> height at every point of the bytecodes, assuming it's balanced on
> control flow junctions. Which is true for practically everything but
> Forth. Then, using indexed loads instead of continuously updating the
> hardware stack pointer will be faster on most machines.
Agreed. So, technically, you'd release a bug-fix 1.2 that leaves
`pushr' and `popr' and then a 1.3 or something with the new API?
>> I haven't looked at instruction encoding so I have no idea whether
>> patching `save' would be an easy task (I guess it shouldn't be too
>> hard).
> It's actually pretty easy. Easier than fixing the SETHI/OR part as
> done to patch jit_patch_movi.
Ok. I'm looking forward to testing it! ;-)
Thanks,
Ludovic.