On Wed, 20 Aug 2025 05:04:38 GMT, David Holmes <dhol...@openjdk.org> wrote:
>> Leonid Mesnik has updated the pull request incrementally with one additional >> commit since the last revision: >> >> NULL replaced > > test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/ExceptionOccurred.java > line 32: > >> 30: * @run main/othervm/native -agentlib:ExceptionOccurred ExceptionOccurred >> 31: */ >> 32: public class ExceptionOccurred { > > I'm very confused by the naming here: what exception has occurred where? The exception was thrown in the current thread/ However, the current method is not unwinded. It is called using JNI while the thread has already thrown but not yet caught exception. I thought to name it MethodExitWhileExceptionPending, however full name would be serviceability/jvmti/events/MethodExit/MethodExitWhileExceptionPending/MethodExitWhileExceptionPending.java so I started to "reduce" it. Moved to upper directory and removed MethodExit. Also the state looks similar to 'ExceptionOccurred' for JNI method. Let me know if you have better name in the mind. > test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/ExceptionOccurred/libExceptionOccurred.cpp > line 32: > >> 30: bool method_exit_posted = false; >> 31: static void JNICALL >> 32: cbMethodExit(jvmtiEnv* jvmti, JNIEnv* jni, jthread thread, jmethodID >> method, > > Can you add a comment describing the logic of this callback function please. > I cannot make sense of the logic below. How many times will this callback get > executed? Done, hope it makes logic clearer. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/26713#discussion_r2287048500 PR Review Comment: https://git.openjdk.org/jdk/pull/26713#discussion_r2287139860