summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1996-02-02 13:26:56 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1996-02-02 13:26:56 +0000
commita66bca5c9843fead2ac10755d555295d40c8375a (patch)
treea82698d83817eda6ed4ec8b47d7fe0222ac6d236
parente6b1189863882c059f94e23815542dd44f31fe03 (diff)
callback posait son trap handler de maniere incorrecte.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@621 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--asmrun/sparc.asm7
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 */