At 5:34 PM +0200 10/21/04, Leopold Toetsch wrote:
Dan Sugalski wrote:
In that case I won't worry about it, and I think I know what I'd like to do with the interpreter, the register frame, and the register backing stack. I'll muddle it about some and see where it goes.

JIT/i386 is up to date now that is: it doesn't do any absolute register addressing anymore.


So what next:

* deprecate the usage of allmost all register stack push and pops?

I think we don't need them anymore. Register preservering is done as part of the call sequence. The only ops needed are IMHO: saveall/restoreall to support stack calling conventions. The question is: is saveall supposed to copy registers or just prepare a fresh set of registers.

* remove the {push,pop}{top,bottom}{i,s,p,n} opcodes from tests

* implement the new indirect register frame

I think the next steps are:

1) Implement the new indirect register frame
2) Note in the calling conventions that saving and restoring the top register set isn't required
3) Get IMCC to skip the save/restore set


and we see where we go from there. I'm not inclined, yet, to drop the register stacks and the push/pop ops as there are certainly times when it's useful, being a quick way to spill and unspill a set of registers for a basic block.
--
Dan


--------------------------------------it's like this-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to