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

Merge branch 'attr-set-hh' of https://github.com/nbp/nix

Conflicts:
	src/libexpr/eval.cc
This commit is contained in:
Eelco Dolstra 2015-07-23 22:16:01 +02:00
commit 19eddecc0f
4 changed files with 142 additions and 94 deletions

View file

@ -55,12 +55,6 @@ static void * allocBytes(size_t n)
}
void Bindings::sort()
{
std::sort(begin(), end());
}
static void printValue(std::ostream & str, std::set<const Value *> & active, const Value & v)
{
checkInterrupt();
@ -507,20 +501,6 @@ Env & EvalState::allocEnv(unsigned int size)
}
Value * EvalState::allocAttr(Value & vAttrs, const Symbol & name)
{
Value * v = allocValue();
vAttrs.attrs->push_back(Attr(name, v));
return v;
}
Bindings * EvalState::allocBindings(Bindings::size_t capacity)
{
return new (allocBytes(sizeof(Bindings) + sizeof(Attr) * capacity)) Bindings(capacity);
}
void EvalState::mkList(Value & v, unsigned int size)
{
clearValue(v);
@ -537,16 +517,6 @@ void EvalState::mkList(Value & v, unsigned int size)
}
void EvalState::mkAttrs(Value & v, unsigned int expected)
{
clearValue(v);
v.type = tAttrs;
v.attrs = allocBindings(expected);
nrAttrsets++;
nrAttrsInAttrsets += expected;
}
unsigned long nrThunks = 0;
static inline void mkThunk(Value & v, Env & env, Expr * expr)