Contextualizing the VM environment?
andreas.raab at gmx.de
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
More information about the Vm-dev