From 6cbc57072ec898497065d1238fd39c5673301084 Mon Sep 17 00:00:00 2001 From: ArtDev <45949002+artdeell@users.noreply.github.com> Date: Sun, 16 Apr 2023 09:37:48 +0300 Subject: [PATCH] Uplaod the page trap fix patch --- patches/jdk8u_android_page_trap_fix.diff | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 patches/jdk8u_android_page_trap_fix.diff diff --git a/patches/jdk8u_android_page_trap_fix.diff b/patches/jdk8u_android_page_trap_fix.diff new file mode 100644 index 0000000..9d49157 --- /dev/null +++ b/patches/jdk8u_android_page_trap_fix.diff @@ -0,0 +1,17 @@ +diff --git a/hotspot/src/share/vm/runtime/os.cpp b/hotspot/src/share/vm/runtime/os.cpp +index 96eed036..49a2ee1f 100644 +--- a/hotspot/src/share/vm/runtime/os.cpp ++++ b/hotspot/src/share/vm/runtime/os.cpp +@@ -1329,7 +1329,11 @@ void os::block_on_serialize_page_trap() { + // Generally, it is unsafe to manipulate locks in signal handlers, but in + // this case, it's OK as the signal is synchronous and we know precisely when + // it can occur. +- Thread::muxAcquire(&SerializePageLock, "set_memory_serialize_page"); ++ ParkEvent *ev = NULL; ++ if(ThreadLocalStorage::is_initialized()) { ++ ev = ThreadLocalStorage::get_thread_slow()->_MuxEvent; ++ } ++ Thread::muxAcquireW(&SerializePageLock, ev); + Thread::muxRelease(&SerializePageLock); + } +