Hi Martin,

Thank you for testing this, the correction, and the code review.

Coleen

On 4/13/20 2:32 PM, Doerr, Martin wrote:
Hi Coleen,

thanks for implementing it for all platforms.

PPC64: looks good.

s390: The tm instruction produces a special condition code. z_brnaz should be 
used (please don't omit the 'a').

Tested interpreter safepoint polling by:
jdk/bin/java -Xint -XX:-UseBiasedLocking -XX:+SafepointTimeout 
-XX:+SafepointALot -XX:+AbortVMOnSafepointTimeout -XX:SafepointTimeoutDelay=300 
-XX:GuaranteedSafepointInterval=300 TestLoop

(With some long running TestLoop.)

This test crashed with z_brnz as expected, but worked with z_brnaz.

Thanks and best regards,
Martin


-----Original Message-----
From: hotspot-dev <hotspot-dev-boun...@openjdk.java.net> On Behalf Of
coleen.phillim...@oracle.com
Sent: Montag, 13. April 2020 16:34
To: hotspot-dev developers <hotspot-...@openjdk.java.net>;
serviceability-dev@openjdk.java.net
Subject: RFR (S) 8074292: nsk/jdb/kill/kill001: generateOopMap.cpp
assert(bb->is_reachable()) failed

Summary: Do not install async exceptions at_safepoint for each bytecode.

See CR for a lot more details.  This change calls a new
InterpreterRuntime::at_safepoint_async_safe() which installs the async
exception in the interpreter at backward branches and returns.  This
uses safepoint polling code in the interpreter for each platform.  These
changes (cross) compile on platforms that Oracle doesn't support but I
don't know if they work.

I'm not convinced the platform specific changes are necessary, because
calls to the runtime from many bytecodes will install the async
exception, so it's essentially installed "enough" for this deprecated
feature.  I tested the changes with *and* without the platform specific
changes with no failure, which included the jdb, jdi and jvmti
serviceability tests.

This change also makes InterpreterRuntime::monitorexit a JRT_LEAF
bytecode. The code to check for exceptions is outside the runtime call.
I ran the JCK vm and lang tests on this change with no failure.

Tested with tier1-6.

open webrev at
http://cr.openjdk.java.net/~coleenp/2020/8074292.01/webrev
bug link https://bugs.openjdk.java.net/browse/JDK-8074292

Thanks,
Coleen

Reply via email to