diff options
-rw-r--r-- | asmrun/sparc.asm | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/asmrun/sparc.asm b/asmrun/sparc.asm index 6c6df9739..8a07a2b21 100644 --- a/asmrun/sparc.asm +++ b/asmrun/sparc.asm @@ -296,9 +296,12 @@ L108: Load(Caml_last_return_address, %l1) std %l0, [%sp + 96] /* Set up a trap frame to catch exceptions escaping the Caml code */ - sub %sp, 8, %sp + call L111 + mov %o7, %g4 /* in delay slot */ + b L110 + nop +L111: sub %sp, 8, %sp Load(Caml_exception_pointer, %g5) - Address(L110, %g4) std %g4, [%sp + 96] mov %sp, %g5 /* Reload allocation pointers */ |