On Mon, 5 Apr 2021 17:57:13 GMT, Harold Seigel <hsei...@openjdk.org> wrote:
> Please review this additional cleanup of use of TRAPS in hotspot runtime > code. The changes were tested with Mach5 tiers 1-2 on Linux, Mac OS, and > Windows and Mach5 tiers 3-5 on Linux x64. > > Thanks, Harold Hi Harold, I looked at the changes to synchronization code and looks good except for one issue below. Thanks, Patricio src/hotspot/share/prims/jni.cpp line 2738: > 2736: > 2737: Handle obj(THREAD, JNIHandles::resolve_non_null(jobj)); > 2738: ObjectSynchronizer::jni_exit(THREAD->as_Java_thread(), obj()); Here we would return JNI_ERR if we throw IMSE from jni_exit(). src/hotspot/share/runtime/synchronizer.cpp line 609: > 607: // intentionally do not use CHECK on check_owner because we must exit > the > 608: // monitor even if an exception was already pending. > 609: if (monitor->check_owner(current)) { We can actually throw IMSE from check_owner() if this thread is not the real owner. ------------- PR: https://git.openjdk.java.net/jdk/pull/3345