summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2011-12-22 08:51:57 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2011-12-22 08:51:57 +0000
commit38e4e84f7e7f45a3c193e6d1298372dc36e16dea (patch)
tree7c0d15e6fc4401df2bd62f88370ef74cf5ea92b0
parent16d937aa40bbaaaf46631dad96b992113cfe456e (diff)
PR#5179 continued: no extra stack adjustment in caml_c_call
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--asmrun/amd64.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/asmrun/amd64.S b/asmrun/amd64.S
index 7dbafd441..791b2f411 100644
--- a/asmrun/amd64.S
+++ b/asmrun/amd64.S
@@ -367,9 +367,9 @@ LBL(caml_c_call):
STORE_VAR(%r15, caml_young_ptr)
STORE_VAR(%r14, caml_exception_pointer)
/* Call the function (address in %rax) */
- PREPARE_FOR_C_CALL
+ /* No need to PREPARE_FOR_C_CALL since the caller already
+ reserved the stack space if needed (cf. amd64/proc.ml) */
call *%rax
- CLEANUP_AFTER_C_CALL
/* Reload alloc ptr */
LOAD_VAR(caml_young_ptr, %r15)
/* Return to caller */