collapsing a few lines

This commit is contained in:
Danny Yoo 2011-08-07 18:24:16 -04:00
parent 193c526e04
commit 5122f44885

View File

@ -245,22 +245,18 @@
// extra function call here. // extra function call here.
var finalizeClosureCall = function(MACHINE) { var finalizeClosureCall = function(MACHINE) {
MACHINE.callsBeforeTrampoline--; MACHINE.callsBeforeTrampoline--;
var frame, i, returnArgs = [].slice.call(arguments, 1); var i, returnArgs = [].slice.call(arguments, 1);
// clear out stack space // clear out stack space
// TODO: replace with a splice. // TODO: replace with a splice.
for(i = 0; i < MACHINE.argcount; i++) { MACHINE.env.length = MACHINE.env.length - MACHINE.argcount;
MACHINE.env.pop();
}
if (returnArgs.length === 1) { if (returnArgs.length === 1) {
MACHINE.val = returnArgs[0]; MACHINE.val = returnArgs[0];
frame = MACHINE.control.pop(); return MACHINE.control.pop().label(MACHINE);
return frame.label(MACHINE);
} else if (returnArgs.length === 0) { } else if (returnArgs.length === 0) {
MACHINE.argcount = 0; MACHINE.argcount = 0;
frame = MACHINE.control.pop(); return MACHINE.control.pop().label.multipleValueReturn(MACHINE);
return frame.label.multipleValueReturn(MACHINE);
} else { } else {
MACHINE.argcount = returnArgs.length; MACHINE.argcount = returnArgs.length;
MACHINE.val = returnArgs.shift(); MACHINE.val = returnArgs.shift();
@ -268,8 +264,7 @@
for(i = 0; i < MACHINE.argcount - 1; i++) { for(i = 0; i < MACHINE.argcount - 1; i++) {
MACHINE.env.push(returnArgs.pop()); MACHINE.env.push(returnArgs.pop());
} }
frame = MACHINE.control.pop(); return MACHINE.control.pop().label.multipleValueReturn(MACHINE);
return frame.label.multipleValueReturn(MACHINE);
} }
}; };