RFR: 8266368: Inaccurate after_unwind hook in C2 exception handler

Erik Österlund eosterlund at openjdk.java.net
Tue Nov 16 08:51:47 UTC 2021


When we throw an exception and unwind into a frame, the exception handler of that frame needs to call an after_unwind hook for the StackWatermark code, to support for concurrent stack processing. Unfortunately, for C2 frames, I inaccurately do this in OptoRuntime::rethrow_C, but the exception handler when unwinding into a C2 frame really is OptoRuntime::handle_exception_C.
The handle_exception_C code does walk frames to the caller though, which also pokes the StackWatermark code. So in the end, there is no real bug here, but it works for the wrong reasons. So I'd like to move the hook in rethrow_C to handle_exception_C.

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

Commit messages:
 - 8266368: Inaccurate after_unwind hook in C2 exception handler

Changes: https://git.openjdk.java.net/jdk/pull/6405/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6405&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8266368
  Stats: 12 lines in 2 files changed: 5 ins; 5 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6405.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6405/head:pull/6405

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


More information about the hotspot-dev mailing list