aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/boot/be/x86.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/boot/be/x86.ml b/src/boot/be/x86.ml
index 0d0206d7..7e1614a6 100644
--- a/src/boot/be/x86.ml
+++ b/src/boot/be/x86.ml
@@ -784,7 +784,8 @@ let crawl_stack_calling_glue
(codefix skip_jmp_fix)); (* if glue-fn is nonzero *)
add ecx esi; (* add crate ptr to disp. *)
push (ro ebp); (* frame-arg *)
- push (c task_ptr); (* form usual call to glue *)
+ push (immi 0L); (* null closure-ptr *)
+ push (c task_ptr); (* self-task ptr *)
push (immi 0L); (* outptr *)
emit (Il.call (rc eax)
(reg_codeptr (h ecx))); (* call glue_fn, trashing eax. *)