Smalltalk and tiered compile data
Rémi Forax
forax at univ-mlv.fr
Tue Feb 7 11:43:30 PST 2012
On 02/07/2012 08:28 PM, Mark Roos wrote:
> Christian asked:
>
> What exactly do you mean by "invalidate call sites before the
> benchmark"?
> Are you using MutableCallSites and call setTarget on them?
>
> Exactly. I am using setTarget to set each call site to its initial
> fallback method. This should drop the
> GWT lookup chain forcing each call site to rebuild the chain. The
> method handles for the code still exist but
> the GWTs that reference them are gone. This is my current way to
> force the call sites to get new versions
> of the method code.
>
> thanks
Mark, you should use a SwitchPoint instead of calling a lot of setTarget()
because each setTarget() may require all threads of the VM to go to a
safepoint
so you may create a 'safepoint storm' (as coined by Dan Heidinga).
>
> mark
Rémi
More information about the mlvm-dev
mailing list