caml_backtrace_pos is a 32-bit integer under amd64.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Alain Frisch 2013-11-19 18:01:05 +00:00
parent 9b974c162f
commit 7335d5f68f
1 changed files with 8 additions and 1 deletions

View File

@ -99,6 +99,10 @@
movq GREL(dstlabel)(%rip), %r11 ; \
movq srcreg, (%r11)
#define STORE_VAR32(srcreg,dstlabel) \
movq GREL(dstlabel)(%rip), %r11 ; \
movl srcreg, (%r11)
/* Load global [srclabel] in register [dstreg]. Clobbers %r11. */
#define LOAD_VAR(srclabel,dstreg) \
movq GREL(srclabel)(%rip), %r11 ; \
@ -144,6 +148,9 @@
#define STORE_VAR(srcreg,dstlabel) \
movq srcreg, G(dstlabel)(%rip)
#define STORE_VAR32(srcreg,dstlabel) \
movl srcreg, G(dstlabel)(%rip)
#define LOAD_VAR(srclabel,dstreg) \
movq G(srclabel)(%rip), dstreg
@ -532,7 +539,7 @@ CFI_STARTPROC
popq %r14
ret
LBL(110):
STORE_VAR($0, caml_backtrace_pos)
STORE_VAR32($0, caml_backtrace_pos)
LBL(111):
movq %rax, %r12 /* Save exception bucket */
movq %rax, C_ARG_1 /* arg 1: exception bucket */