trying to eliminate primitives again and see how it affects code size
This commit is contained in:
parent
b68eca9735
commit
ad83451030
|
@ -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);
|
||||
},
|
||||
[]);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user