RFR: 8262443: GenerateOopMap::do_interpretation can spin for a long time.

Daniel D.Daugherty dcubed at openjdk.java.net
Mon Mar 1 21:08:49 UTC 2021


On Fri, 26 Feb 2021 08:50:38 GMT, Robbin Ehn <rehn 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.

Looks good. Only a couple of minor suggestions.

src/hotspot/share/oops/generateOopMap.cpp line 914:

> 912:   int i = 0;
> 913:   do {
> 914:     if (i != 0 && thread->is_Java_thread()) {

Perhaps add:

`JavaThread* jt = thread->as_Java_thread();`

and use it twice below:

-------------

Changes requested by dcubed (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/2742


More information about the hotspot-dev mailing list