Stack reification and JIT interaction question

Jecel Assumpcao Jr jecel at merlintec.com
Fri Jan 19 18:00:37 UTC 2007


Stef,

> Lukas told me that in Squeak this is always an object and that the  
> blue book shows that too.
> 
> So I wanted to know in VisualWorks in presence of a JIT if this is  
> the case.

This paper has details about the VisualWorks implementation:

> http://wiki.cs.uiuc.edu/VisualWorks/DOWNLOAD/papers/oopsla99-contexts.pdf

> My question basically is when a method is executed in the assembly,  
> is it a smalltalk object,
> can we send it messages (I thought not).

Well, any method with machine language code has an associated bytecode
version which *is* an object. You can send messages to that, at least.

> Is the stack reified only when using thisContext?

The stack is a list of Array objects, but the linked list of Context
objects is reified on demand as you said. This is mostly the blue book
design turned inside out: instead of a list of Contexts each with its
own Array and stack pointer you have an Array divided into stack frames,
some of which are associated with Context objects. This explanation is
too confusing - see the paper.

-- Jecel



More information about the Squeak-dev mailing list