Skip method unwind callbacks if exception was thrown by method exit
When a method exit callback is called the method is still on the stack.
This is required because we should allow the method being exited to
be force popped and re-execute the caller frame. The way it is
implemented currently requires the method that is being exited on the
stack. However, method exit callbacks could also throw which triggers
a stack unwind. We should not call method unwind events for methods
that already called the method exit event. This CL makes sure
method unwind events are not called when an exception is thrown from
method exit callbacks.
Currently, method entry / exit callbacks force interpreter entry
points so this isn't a problem. This is in preperation for future CLs
that change this.
Change-Id: I6124898acf0c20b8c9944c0e1e5b9f23c5633b14
9 files changed