[15] RFR(S): 8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails -XX:+VerifyOops with "verify_oop: rsi: broken oop"

Tobias Hartmann tobias.hartmann at oracle.com
Thu May 28 14:22:02 UTC 2020


Hi,

please review the following patch:
https://bugs.openjdk.java.net/browse/JDK-8239477
http://cr.openjdk.java.net/~thartmann/8239477/webrev.00/

When loading JfrThreadLocal::_java_event_writer which is a jobject (i.e., metadata that does not
life in the Java heap), type T_OBJECT is used in the C1 intrinsic for _getEventWriter. As a result,
we fail during oop verification emitted by LIR_Assembler::mem2reg.

We should use T_METADATA instead but can't due to JDK-8026837 [1]. Similar to [2], I'm therefore
using T_ADDRESS as a workaround until JDK-8026837 is fixed.

Thanks,
Tobias

[1] #  Internal Error (/oracle/jdk_jdk/open/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp:1353),
pid=8575, tid=8591
#  Error: ShouldNotReachHere()

[2] http://hg.openjdk.java.net/jdk/jdk/file/02a5a446f8bf/src/hotspot/share/c1/c1_LIRGenerator.cpp#l1287


More information about the hotspot-compiler-dev mailing list