diff options
Diffstat (limited to 'src/vm/amd64/unixasmhelpers.S')
-rw-r--r-- | src/vm/amd64/unixasmhelpers.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vm/amd64/unixasmhelpers.S b/src/vm/amd64/unixasmhelpers.S index e3f4adc259..ccf552367c 100644 --- a/src/vm/amd64/unixasmhelpers.S +++ b/src/vm/amd64/unixasmhelpers.S @@ -291,7 +291,7 @@ LEAF_END SinglecastDelegateInvokeStub, _TEXT // from the passed in context and finally sets the RSP to that frame and sets the return // address to the target frame's RIP. // -// EXTERN_C void StartUnwindingNativeFrames(CONTEXT* context); +// EXTERN_C void StartUnwindingNativeFrames(CONTEXT* context, PAL_SEHException* ex); LEAF_ENTRY StartUnwindingNativeFrames, _TEXT // Save the RBP to the stack so that the unwind can work at the instruction after // loading the RBP from the context, but before loading the RSP from the context. @@ -316,6 +316,8 @@ LEAF_ENTRY StartUnwindingNativeFrames, _TEXT // Store return address to the stack push_register rax push_nonvol_reg rbp - call EXTERNAL_C_FUNC(__cxa_rethrow) + // The PAL_SEHException pointer + mov rdi, rsi + call EXTERNAL_C_FUNC(ThrowExceptionHelper) LEAF_END StartUnwindingNativeFrames, _TEXT |