[Top][All Lists]

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

[Lightning] Re: jit_allocai

From: Paolo Bonzini
Subject: [Lightning] Re: jit_allocai
Date: Mon, 06 Nov 2006 09:09:07 +0100
User-agent: Thunderbird (Macintosh/20060909)

Note that I kept `pushr' here (with the register number limitation),
which your may or may not want to keep for 1.3 (there are arguments in
both directions, but I think that `pushr' could be marked as deprecated
in 1.3 and only actually removed in the next release).  Thus, patch-28
relies on bits from patch-19 that you dismissed earlier.
I think that push/pop is useless now that we finally have a clean interface for allocai. Unfortunately, a quick google codesearch found quite a lot of users:

- qscheme's author did not understand the difference between pushr and pusharg. His code is broken, and it would deserve to be more broken...

- mzscheme would benefit from jit_allocai a lot since they're basically emulating it

- Guile is pushing/popping in some debugging code. Ludovic's solution would work great, but jit_allocai would also be fine.

- there's an Emacs native-code compiler which only needs a slot (i.e. jit_allocai is fine)

- another user, intbigot, is proceeding as in rpn.c and would need the same changes I'll do there (he would have to keep track of the maximum stack height, and when it's exceeded do a jit_allocai (sizeof (int)).

- not sure about "Seam", but I think it would also need pretty much work.

So for now, I chose to proceed as you hinted, except that so far I have not (yet) merged the SPARC fixes to push/pop. I have merged patch-19 and then took out the pushr parts.
Due to lack of time, I did not try to modify `rpn.c' to use
`jit_allocai' instead of `pushr', hence the new test case which is much
simpler and targetted.  I did not augment the documentation either but I
can do it if you want.
No problem, I can take care of both.


reply via email to

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