trying to eliminate primitives again and see how it affects code size

This commit is contained in:
Danny Yoo 2011-09-09 13:46:29 -04:00
parent b68eca9735
commit ad83451030

View File

@ -62,7 +62,7 @@
// extra function call here.
var finalizeClosureCall = function (MACHINE) {
MACHINE.callsBeforeTrampoline--;
var i, returnArgs = [].slice.call(arguments, 1);
var returnArgs = [].slice.call(arguments, 1);
// clear out stack space
MACHINE.env.length -= MACHINE.argcount;
@ -307,15 +307,6 @@
var makePrimitiveProcedure = function (name, arity, f) {
f.racketArity = arity;
f.displayName = name;
return f;
};
var makeClosure = function (name, arity, f, closureArgs) {
if (! closureArgs) { closureArgs = []; }
return new Closure(f,
@ -325,6 +316,23 @@
};
var makePrimitiveProcedure = function (name, arity, f) {
// f.racketArity = arity;
// f.displayName = name;
// return f;
return makeClosure(name,
arity,
function(M) {
--M.callsBeforeTrampoline;
M.val = f(M);
M.env.length -= M.argcount;
return M.control.pop().label(M);
},
[]);
};