diff options
| author | Roy Frostig <[email protected]> | 2010-07-13 13:28:48 -0700 |
|---|---|---|
| committer | Roy Frostig <[email protected]> | 2010-07-15 12:30:46 -0700 |
| commit | dbb109853f0ca15e9bb82c39ddecb83d2838e7fc (patch) | |
| tree | 3c8a6561a69646b2573c36d8e65cf0accce315e6 /src | |
| parent | Adjust call args laid out by fake frame created in rust_task::start to reflec... (diff) | |
| download | rust-dbb109853f0ca15e9bb82c39ddecb83d2838e7fc.tar.xz rust-dbb109853f0ca15e9bb82c39ddecb83d2838e7fc.zip | |
Adjust trans_call_glue to push/pop an extra null word implicit arg, in position of closure/obj pointer.
Diffstat (limited to 'src')
| -rw-r--r-- | src/boot/me/trans.ml | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml index 46be9326..97e94aec 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 |