8266889: [macosx-aarch64] Crash with SIGBUS in MarkActivationClosure::do_code_blob during vmTestbase/nsk/jvmti/.../bi04t002 test run

Reviewed-by: dholmes, aph, sspitsyn
This commit is contained in:
Anton Kozlov 2021-07-14 10:36:04 +00:00
parent 82c256eb61
commit 381bd62107

View File

@ -3144,7 +3144,10 @@ JvmtiEnv::RawMonitorEnter(JvmtiRawMonitor * rmonitor) {
// in thread.cpp.
JvmtiPendingMonitors::enter(rmonitor);
} else {
rmonitor->raw_enter(Thread::current());
Thread* thread = Thread::current();
// 8266889: raw_enter changes Java thread state, needs WXWrite
MACOS_AARCH64_ONLY(ThreadWXEnable __wx(WXWrite, thread));
rmonitor->raw_enter(thread);
}
return JVMTI_ERROR_NONE;
} /* end RawMonitorEnter */
@ -3176,6 +3179,8 @@ JvmtiEnv::RawMonitorExit(JvmtiRawMonitor * rmonitor) {
jvmtiError
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor * rmonitor, jlong millis) {
Thread* thread = Thread::current();
// 8266889: raw_wait changes Java thread state, needs WXWrite
MACOS_AARCH64_ONLY(ThreadWXEnable __wx(WXWrite, thread));
int r = rmonitor->raw_wait(millis, thread);
switch (r) {