[Vm-dev] Why the context become a root

Mathieu Suen mathk.sue at gmail.com
Mon Nov 19 18:23:48 UTC 2007

Ok so IIRC adding object into the root table that do not contain young  
object do not bug the system.
but every object that contain young object should be inside this table  
otherwise the gc crash?

Next question is where do the root table is update to remove the  
object that dose not contain young one?
I suppose when a full gc is trigger but is there any other moment?


On Nov 19, 2007, at 3:47 PM, Andreas Raab wrote:

> Because stores into the active context are unguarded (see push  
> bytecodes etc).
> Cheers,
> - Andreas
> Mathieu Suen wrote:
>> Hi,
>> Inside Interpreter>>commonReturn the sender context is store inside  
>> the root table:
>> commonReturn
>>    ...
>>    activeContext := thisCntx.
>>    (thisCntx < youngStart) ifTrue: [ self beRootIfOld: thisCntx ].
>>    ...
>> I am asking why because it is not necessary that the sender context  
>> will contain young object?
>>    Mth


More information about the Vm-dev mailing list