[Vm-dev] Why primitive new have unexpected temp affectation

Adrian Lienhard adi at netstyle.ch
Mon Aug 13 11:36:38 UTC 2007

On Aug 13, 2007, at 13:23 , Mathieu Suen wrote:

> On Aug 13, 2007, at 10:08 AM, Adrian Lienhard wrote:
>> Hi Mathieu,
>> Not sure if I understand you correctly. Do you mean, why  
>> stackValue: 1 is read twice?
>> The reason for this is because  
>> #sufficientSpaceToInstantiate:indexableSize: may trigger GC (as  
>> the comment says), and therefore the temp pointer to the class,  
>> which is read before, may not be valid anymore.
> Why the  GC need to change the temp pointer?

It does not change it. And this is exactly the problem when objects  
are moved in memory during the compaction phase.


More information about the Vm-dev mailing list