RFR (S) 8074292: nsk/jdb/kill/kill001: generateOopMap.cpp assert(bb->is_reachable()) failed

Doerr, Martin martin.doerr at sap.com
Mon Apr 13 18:32:08 UTC 2020


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-bounces at openjdk.java.net> On Behalf Of
> coleen.phillimore at oracle.com
> Sent: Montag, 13. April 2020 16:34
> To: hotspot-dev developers <hotspot-dev at openjdk.java.net>;
> serviceability-dev at 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



More information about the serviceability-dev mailing list