mirror of
https://github.com/NixOS/nix.git
synced 2025-11-24 11:19:35 +01:00
libexpr: move ExprCall storage to the arena
This commit is contained in:
parent
484f40fc64
commit
dbfe6318b3
1 changed files with 6 additions and 0 deletions
|
|
@ -486,6 +486,12 @@ void ExprLambda::bindVars(EvalState & es, const std::shared_ptr<const StaticEnv>
|
||||||
|
|
||||||
void ExprCall::bindVars(EvalState & es, const std::shared_ptr<const StaticEnv> & env)
|
void ExprCall::bindVars(EvalState & es, const std::shared_ptr<const StaticEnv> & env)
|
||||||
{
|
{
|
||||||
|
// Move storage into the Exprs arena
|
||||||
|
{
|
||||||
|
auto arena = es.mem.exprs.alloc;
|
||||||
|
std::pmr::vector<Expr *> newArgs{std::move(*args), arena};
|
||||||
|
args.emplace(std::move(newArgs), arena);
|
||||||
|
}
|
||||||
if (es.debugRepl)
|
if (es.debugRepl)
|
||||||
es.exprEnvs.insert(std::make_pair(this, env));
|
es.exprEnvs.insert(std::make_pair(this, env));
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue