On Tue, 27 Apr 2021 21:30:09 GMT, Alex Menkov <amen...@openjdk.org> wrote:
> Class loading may cause loading of some other system/internal classes (for > example loading of java.util.concurrent classes when an other thread loads > some classes concurrently). > The fix updates ClassPrepare test so it skip events for "unexpected" classes. > Also it adds a testcase to verify that classes which are explicitly loaded on > other thread do not generate ClassPrepare event on the test thread. I don't see any mention in the CR of the test failing due to this issue. How was it discovered? How is the fix being verified? test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp line 65: > 63: { "Lnsk/jvmti/ClassPrepare/classprep001$TestClass;", EXP_STATUS, 3, > 2, 1 } > 64: }; > 65: // This classes are loaded on a different thread. "These classes..." test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp line 292: > 290: > 291: JNIEXPORT void JNICALL > 292: Java_nsk_jvmti_ClassPrepare_classprep001_getReady(JNIEnv *env, jclass > cls, jthread thread) { It's not clear to me why you now pass in the thread instead of calling GetCurrentThread, when the thread passed in is still always the current thread. Same thing for the `check()` method. ------------- Changes requested by cjplummer (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/3732