SwitchPoint GC characteristics

Rémi Forax forax at univ-mlv.fr
Mon Mar 7 00:48:31 PST 2011


  Le 07/03/2011 07:36, Attila Szegedi a écrit :
> If a SwitchPoint is invalidated, will all method handles created with its guardWithTest release the reference to "target" (since they no longer need it) and only keep the reference to "fallback", so in theory, "target" can be GCed?
>
> Attila.

Good question.
One word answer: No !

Doing that will require a rewrite of all method blob containing a 
guardWithTest
created from a SwitchPoint. Even the ones that aren't attached to a 
callsite.
So basically you need to do a full GC or tweak the GC to directly link 
to the fallback
when moving objects.

Knowing that 99% of the fallback call setTarget() thus makes the 
switchPoint GCable,
I don't think VM implementors will agree.

Rémi





More information about the mlvm-dev mailing list