From bc646d01c501f2566fd78057e23c283cfedc0eb0 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Mon, 13 Sep 2010 13:37:24 -0700 Subject: Fix leaking arg slots on tail calls. Closes #160. --- src/boot/me/trans.ml | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/boot') diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml index ad0d6445..dd1dd46d 100644 --- a/src/boot/me/trans.ml +++ b/src/boot/me/trans.ml @@ -4219,6 +4219,8 @@ let trans_visitor (Printf.sprintf "copy args for tail call to %s" (logname ()))); copy_fn_args true true CLONE_none call; drop_slots_at_curr_stmt(); + iflog (fun _ -> annotate "drop args"); + iter_arg_slots cx (current_fn()) callee_drop_slot; abi.Abi.abi_emit_fn_tail_call (emitter()) (force_sz (current_fn_callsz())) caller_argsz callee_code callee_argsz; -- cgit v1.2.3