aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-08-24 11:42:24 -0700
committerGraydon Hoare <[email protected]>2010-08-24 11:42:24 -0700
commitb5255b4534856e25cd96b1041000837d65cc51a6 (patch)
tree75e7d6674b2c2b4f5a900efabb33b994147339f6 /src/boot
parentAdd lexer.reader to rustc for tracking position, char conversion, holding key... (diff)
downloadrust-b5255b4534856e25cd96b1041000837d65cc51a6.tar.xz
rust-b5255b4534856e25cd96b1041000837d65cc51a6.zip
Shrink size of glue calls. Wins a few tens of kb on rustc.
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/me/trans.ml8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml
index 03174b0a..e3587bdd 100644
--- a/src/boot/me/trans.ml
+++ b/src/boot/me/trans.ml
@@ -1798,8 +1798,6 @@ let trans_visitor
(clo:Il.cell option)
: unit =
let inner dst cloptr =
- let scratch = next_vreg_cell Il.voidptr_t in
- let pop _ = emit (Il.Pop scratch) in
for i = ((Array.length args) - 1) downto 0
do
emit (Il.Push (Il.Cell args.(i)))
@@ -1808,10 +1806,8 @@ let trans_visitor
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;
+ add_to (Il.Reg (abi.Abi.abi_sp_reg, word_sty))
+ (imm (Int64.mul word_sz (Int64.of_int (3 + (Array.length args)))));
in
let cloptr =
match clo with