RFR: 8262443: GenerateOopMap::do_interpretation can spin for a long time.
Daniel D.Daugherty
dcubed at openjdk.java.net
Mon Mar 1 21:08:50 UTC 2021
On Mon, 1 Mar 2021 02:39:41 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> With Safepoint/Handshake timeout enabled in rare cases this methods spins for a long time, blocking safepoints/handshakes, so timeout (with a long delay) is triggered.
>>
>> In some cases we are in native while executing this method and in some in vm.
>> That's why there is an check for state in vm.
>>
>> Tested with other changes in t-1-7 this specific case of timeout is no longer an issue.
>> This change-set passes T1 stand alone.
>
> src/hotspot/share/oops/generateOopMap.cpp line 918:
>
>> 916: ThreadBlockInVM tbivm(thread->as_Java_thread());
>> 917: }
>> 918: }
>
> Can you add a comment as to why this is necessary please.
Perhaps something like this above L916:
// Since this JavaThread has looped at least once and is _thread_in_vm,
// we honor any pending blocking request.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2742
More information about the hotspot-dev
mailing list