Contextualizing the VM environment?

Andreas Raab andreas.raab at
Thu Apr 13 20:23:30 UTC 2006

Hi Guys -

While looking at some of the meta aspects of Croquet I found that one of 
the most problematic issues with code replication is that we really 
can't separate code bases entirely. That's because there are various 
references to "special" classes or objects that the VM knows about and 
uses in very intricate ways (like contexts, compact classes etc).

One thought I had was that (unless I'm horribly mistaken) all of these 
special objects originate in the specialObjectsArray - as a matter of 
fact it seems that the splObjects are really *the* root of the system 
(besides the active context).

So I had this crazy thought that I'd like some comments on: What would 
happen if we changed the VM so that we fetch the specialObjects array 
from the active process? In other words, each process could potentially 
carry its own VM environment which effectively describes its own variant 
of the VM state. With the effect being that different processes could 
potentially have different versions of class SmallInteger etc.

The basic question here is: Can you guys see any reason why this 
*wouldn't* work? Is there anything I'm overlooking? Any situations in 
which this would cause problems while (say) interrupt processing or 

   - Andreas

More information about the Vm-dev mailing list