At 9:09 PM +0200 10/20/04, Leopold Toetsch wrote:
Dan Sugalski wrote:
'Kay, now I'm confused. I thought we were talking about removing the registers from out of the interpreter structure, which'd leave us needing two pointers, one for the interpreter struct and one for the registers.

Ok, short summary of future layout of JIT regs:

item                PPC               i386
------------------------------------------------
interpreter         r13               -16(%ebp)
frame pointer       r16                %ebx

Register addressing is done relative to the frame pointer, which will be in a register. The interpreter isn't used that often inside integer JIT code, so it isn't in an register in i386 but is easily reloaded into one.

Currently the frame pointer and the interpreter are the same.

Code that branches (invoke) will reload the frame pointer from the interpreter.

Ah, OK. That make sense. (Which is probably a clue that it's time to go lie down, but that's a separate issue)


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.
--
Dan


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

Reply via email to