diff options
author | 2024-05-15 17:53:30 +0000 | |
---|---|---|
committer | 2024-05-22 10:39:58 +0000 | |
commit | b42b645e26e206a2b1457cf9ea453b5021a873f5 (patch) | |
tree | e4acdbd3610a5a63e6f3593664d193e12ae2dbe4 /test/jvmti-common/Trace.java | |
parent | c82d3a69bdf3a95720e8e8b8d2b72cc4db19645c (diff) |
Report method unwind events for native methods
When we are returning from JNI with a pending exception we deoptimize to
correctly handle the exception. We missed reporting an unwind event for
the native method that was returning. Also adds a regression test for
this case.
Bug: 339662394
Test:art/test.py -t 989
Change-Id: I8336dc831e3801b8c0976a5588d1682363d10e64
Diffstat (limited to 'test/jvmti-common/Trace.java')
-rw-r--r-- | test/jvmti-common/Trace.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/jvmti-common/Trace.java b/test/jvmti-common/Trace.java index 8999bb1368..3df1737c91 100644 --- a/test/jvmti-common/Trace.java +++ b/test/jvmti-common/Trace.java @@ -28,6 +28,7 @@ public class Trace { Method singleStep, Thread thr); public static native void disableTracing(Thread thr); + public static native void nativeEnableFramePopEvents(); public static void enableFieldTracing(Class<?> methodClass, Method fieldAccess, @@ -43,6 +44,10 @@ public class Trace { enableTracing(methodClass, entryMethod, exitMethod, null, null, null, thr); } + public static void enableFramePopEvents() { + nativeEnableFramePopEvents(); + } + public static void enableSingleStepTracing(Class<?> methodClass, Method singleStep, Thread thr) { |