From 5122f4488571789ff1476e67b011bd7a7e49b25f Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Sun, 7 Aug 2011 18:24:16 -0400 Subject: [PATCH] collapsing a few lines --- js-assembler/runtime-src/baselib-functions.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/js-assembler/runtime-src/baselib-functions.js b/js-assembler/runtime-src/baselib-functions.js index 292182c..8f5bac1 100644 --- a/js-assembler/runtime-src/baselib-functions.js +++ b/js-assembler/runtime-src/baselib-functions.js @@ -245,22 +245,18 @@ // extra function call here. var finalizeClosureCall = function(MACHINE) { MACHINE.callsBeforeTrampoline--; - var frame, i, returnArgs = [].slice.call(arguments, 1); + var i, returnArgs = [].slice.call(arguments, 1); // clear out stack space // TODO: replace with a splice. - for(i = 0; i < MACHINE.argcount; i++) { - MACHINE.env.pop(); - } + MACHINE.env.length = MACHINE.env.length - MACHINE.argcount; if (returnArgs.length === 1) { MACHINE.val = returnArgs[0]; - frame = MACHINE.control.pop(); - return frame.label(MACHINE); + return MACHINE.control.pop().label(MACHINE); } else if (returnArgs.length === 0) { MACHINE.argcount = 0; - frame = MACHINE.control.pop(); - return frame.label.multipleValueReturn(MACHINE); + return MACHINE.control.pop().label.multipleValueReturn(MACHINE); } else { MACHINE.argcount = returnArgs.length; MACHINE.val = returnArgs.shift(); @@ -268,8 +264,7 @@ for(i = 0; i < MACHINE.argcount - 1; i++) { MACHINE.env.push(returnArgs.pop()); } - frame = MACHINE.control.pop(); - return frame.label.multipleValueReturn(MACHINE); + return MACHINE.control.pop().label.multipleValueReturn(MACHINE); } };