mirror of
https://github.com/corda/corda.git
synced 2025-01-06 05:04:20 +00:00
fix handling of exceptions thrown from interpreter during method invocation
Since we use Thread::code to store a reference to either the method to be invoked or the current bytecode being executed depending on the context, we must be careful to switch it back to the bytecode of the exception handler if an exception is thrown while invoking a method (e.g. an UnsatisfiedLinkError).
This commit is contained in:
parent
ac63d08450
commit
44277db2de
@ -758,6 +758,8 @@ interpret3(Thread* t, const int base)
|
||||
object& exception = t->exception;
|
||||
uintptr_t* stack = t->stack;
|
||||
|
||||
code = methodCode(t, frameMethod(t, frame));
|
||||
|
||||
if (UNLIKELY(exception)) {
|
||||
goto throw_;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user