[Vm-dev] Why primitive new have unexpected temp affectation
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