[Squeak-e] Programming the VM

Mark S. Miller markm at caplet.com
Mon Feb 3 13:22:07 CET 2003

At 11:15 AM 2/3/2003 Monday, Colin Putney wrote:
>Whoa, hang on guys. I may be missing something here, but I think we're still 
>a long way from making these kinds of decisions.

I agree. 

>I'm still trying to get my 
>head around the idea of multiple levels of virtualization which don't 
>involve multiple levels of interpretation. Let's talk little more about the 
>concepts involved here before we worry about how to lay out object headers 
>in the VM.
>Mark, it seems to me that the machines in your virtualization frame work are 
>instances of the reified mechanisms I mentioned in my first post. This would 
>include things like object memory, interpreter, compiler, compiled methods, 
>activation stacks etc. On the hardware level these would be actual CPUs, RAM 
>etc. Then we'd have the abstractions of these provided by the OS: processes, 
>virtual memory etc. Then we have the Squeak-E executable, with *its* 
>abstractions, the things I was referring to originally: Class, Compiler, 
>Processor, Display, thisContext, MethodDictionary, etc.

>At deeper levels of virtualization, it looks like we'd need separate 
>reifications of these abstractions, that are limited in scope to the 
>virtualization level that we're dealing with. 

You've now baked this idea more than I have, and I'm not quite following 
you. I hope I didn't give the impression that I knew where I was going with 
all this? ;)

In any case, what you say sounds plausible. Let's try fleshing things out 
and see.

>These would effectively be 
>capabilities for manipulating the virtualization subtree rooted at that 
>(virtual) machine.


>Is that making sense?

The last part, yes. The previous parts I'd have to think about harder than I 
have time for right now, sorry. (Other, much less interesting things are 
taking my time right now. I'm not even drawing diagrams ;).)

Text by me above is hereby placed in the public domain


More information about the Squeak-e mailing list