RFR 8209624: [JVMCI] Invalidate nmethods instead of directly unloading them when the InstalledCode is dropped
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Aug 17 19:24:55 UTC 2018
Tom, you have tests failed.
Vladimir
On 8/17/18 11:52 AM, Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/8209624/webrev
> https://bugs.openjdk.java.net/browse/JDK-8209624
>
> When the lifetime of an InstalledCode instance is used to control the lifetime of the corresponding nmethod it's
> possible for the nmethod still have live activations when the nmethod is unloaded. This is because the weak semantics
> of the installed_code means it isn't visited in the nmethod::oops_do phase. We would have to sometimes maintain a
> second strong reference which was visited in nmethod::oops_do to make that work. Instead simply invalidate the nmethod
> and let the sweeper unload the nmethod once it no longer has activations. Note that this issue doesn't affect normal
> compiles requested the CompilerBroker since the InstalledCode reference is weak in that case. The fix was tested with a
> Truffle program that originally exposed the issue. mach5 runs are in progress.
>
> tom
More information about the hotspot-compiler-dev
mailing list