[Vm-dev] what is FoxReceiver ?

Eliot Miranda eliot.miranda at gmail.com
Tue Aug 16 16:03:31 UTC 2011




On Aug 16, 2011, at 7:28 AM, Jean Baptiste Arnaud <jbaptiste.arnaud at gmail.com> wrote:

> 
> What is the FoxReceiver in StackInterpreter.

Hi Jean Baptiste,

    I'm guessing that if the browser had a "browse class bar defs/assignments" then you'd know because that would have led you directly to the two versions of initializeFrameIndices in StackInterpreter class and CoInterpreter class which define the byte offsets of the fields in stack frames relative to the frame pointer. FoxReceiver is the offset of the receiver (self) in the StackInterpreter.  In the CoInterpreter it is undefined since an interpreted frame has two extra fields (flags and saved instruction pointer) which cause the receiver to be at a different offset, hence there is both FoxIFReceiver and FoxMFReceiver (IF = interpreter frame & MF = machine-code frame).  See the comment in CoInterpreter class>> initializeFrameIndices.

If none of this is making any sense then read my Undercover Contexts and the Big Frame-up post on my blog.

Eliot (phone)
> 
> Regard
> Jean Baptiste Arnaud
> jbaptiste.arnaud at gmail.com
> 
> 
> 
> 


More information about the Vm-dev mailing list