1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-26 11:41:15 +02:00

* Remove allocValues().

This commit is contained in:
Eelco Dolstra 2010-10-23 18:18:07 +00:00
parent 4dee289550
commit 3f66cfb96b
4 changed files with 14 additions and 36 deletions

View file

@ -282,13 +282,6 @@ Value * EvalState::allocValue()
}
Value * EvalState::allocValues(unsigned int count)
{
nrValues += count;
return (Value *) GC_MALLOC(count * sizeof(Value));
}
Env & EvalState::allocEnv(unsigned int size)
{
nrEnvs++;
@ -542,11 +535,8 @@ void ExprLet::eval(EvalState & state, Env & env, Value & v)
void ExprList::eval(EvalState & state, Env & env, Value & v)
{
state.mkList(v, elems.size());
Value * vs = state.allocValues(v.list.length);
for (unsigned int n = 0; n < v.list.length; ++n) {
v.list.elems[n] = &vs[n];
mkThunk(vs[n], env, elems[n]);
}
for (unsigned int n = 0; n < v.list.length; ++n)
mkThunk(*(v.list.elems[n] = state.allocValue()), env, elems[n]);
}
@ -630,12 +620,10 @@ void EvalState::callFunction(Value & fun, Value & arg, Value & v)
throw;
}
} else {
Value * v2 = allocValues(2);
v2[0] = fun;
v2[1] = arg;
v.type = tPrimOpApp;
v.primOpApp.left = &v2[0];
v.primOpApp.right = &v2[1];
v.primOpApp.left = allocValue();
*v.primOpApp.left = fun;
v.primOpApp.right = &arg;
v.primOpApp.argsLeft = argsLeft - 1;
}
return;