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