about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoy Frostig <rfrostig@mozilla.com>2010-07-13 13:28:48 -0700
committerRoy Frostig <rfrostig@mozilla.com>2010-07-15 12:30:46 -0700
commitdbb109853f0ca15e9bb82c39ddecb83d2838e7fc (patch)
tree3c8a6561a69646b2573c36d8e65cf0accce315e6
parent7c8c98a6d7fe02ee697d8490a7203d1da676d908 (diff)
downloadrust-dbb109853f0ca15e9bb82c39ddecb83d2838e7fc.tar.gz
rust-dbb109853f0ca15e9bb82c39ddecb83d2838e7fc.zip
Adjust trans_call_glue to push/pop an extra null word implicit arg, in position of closure/obj pointer.
-rw-r--r--src/boot/me/trans.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml
index 46be9326ef4..97e94aec422 100644
--- a/src/boot/me/trans.ml
+++ b/src/boot/me/trans.ml
@@ -1723,11 +1723,13 @@ let trans_visitor
         do
           emit (Il.Push (Il.Cell args.(i)))
         done;
+        emit (Il.Push zero);
         emit (Il.Push (Il.Cell abi.Abi.abi_tp_cell));
         emit (Il.Push dst);
         call_code code;
         pop ();
         pop ();
+        pop ();
         Array.iter (fun _ -> pop()) args;
     in
       match dst with