On Thu, 24 Feb 2022 12:44:18 GMT, Alex Menkov <amen...@openjdk.org> wrote:

> The fix adds workaround in hs201t001a class like we have in hs201t001 test to 
> avoid class loading while the test do single stepping/pop frame.
> Also fixed a number of issues in the test.

test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002.java 
line 84:

> 82:         thread.start();
> 83: 
> 84:         // enable events requires live thread

I think a more detailed comment could be used here. Something like:

// setThread(thread) enables JVMTI events, and that can only be done on a live 
thread,
// so wait until the thread has started.

test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/hs201t002.cpp
 line 107:

> 105:     }
> 106: 
> 107:     if (!NSK_VERIFY(readNewBytecode(jvmti_env, newClassSize, 
> newClassBytes))) {

For simple types I don't care for C++ pass-by-ref arguments. At the call site 
it just looks like the values are being passed in. When I first read this it 
didn't look right to me since they are uninitialized, so I had to look at 
readNewBytecode() to see what was going on.

test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/hs201t002.cpp
 line 368:

> 366:         if (threadName != NULL) {
> 367:             jvmti->Deallocate((unsigned char*)threadName);
> 368:         }

callbackException() and callbackExceptionCatch() seem to be identical other 
than callbackException() taking a couple of extra unused arguments. They should 
probably both just call a shared function.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7607

Reply via email to