Field
JvmtiThreadState::_exception_state
is used to preserve information about current thread state.
It is used to check if method should post exception while exiting or not. However, it seems that this decision can be done without this method, based on the information about how method has been called (exit or unwind).
Also, this field might be incorrect if thread called some method while unwinding stack. In this case thread has status "exception detected" while the current method is exiting without exception .
It is needed to revise this field and decide if it should be removed or cleared/restored for any upcall/event handling to be always consistent.
JvmtiThreadState::_exception_state
is used to preserve information about current thread state.
It is used to check if method should post exception while exiting or not. However, it seems that this decision can be done without this method, based on the information about how method has been called (exit or unwind).
Also, this field might be incorrect if thread called some method while unwinding stack. In this case thread has status "exception detected" while the current method is exiting without exception .
It is needed to revise this field and decide if it should be removed or cleared/restored for any upcall/event handling to be always consistent.
- relates to
-
JDK-8365937 post_method_exit might incorrectly set was_popped_by_exception and value in the middle of stack unwinding
-
- Resolved
-