RFR 8209624: [JVMCI] Invalidate nmethods instead of directly unloading them when the InstalledCode is dropped
Vladimir Kozlov
vladimir.kozlov at oracle.com
Mon Aug 20 17:45:43 UTC 2018
Tom,
What was changed comparing to first version?
Thanks,
Vladimir
On 8/20/18 9:43 AM, Tom Rodriguez wrote:
> The tests results are clean and the webrev has been updated in place with the change below.
>
> tom
>
> Tom Rodriguez wrote on 8/17/18 1:46 PM:
>> The NoSafepointVerifier in make_not_entrant_or_zombie is unhappy because we're in the middle of a GC. I think it's
>> fine to call it in that case. We just don't want a new one starting in the middle of that code so I'm going to relax
>> the GC part of the assert.
>>
>> // This can be called while the system is already at a safepoint which is ok
>> NoSafepointVerifier nsv(true, !SafepointSynchronize::is_at_safepoint());
>>
>> I'll send out an email if the next run is clean.
>>
>> tom
>>
>> Vladimir Kozlov wrote on 8/17/18 12:24 PM:
>>> 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