Hide FunctionCallTrace constructor/destructor
This prevents them from being inlined. On gcc 9, this reduces the stack size needed for nix-instantiate '<nixpkgs>' -A texlive.combined.scheme-full --dry-run from 12.9 MiB to 4.8 MiB.
This commit is contained in:
+1
-3
@@ -1106,9 +1106,7 @@ void EvalState::callPrimOp(Value & fun, Value & arg, Value & v, const Pos & pos)
|
||||
|
||||
void EvalState::callFunction(Value & fun, Value & arg, Value & v, const Pos & pos)
|
||||
{
|
||||
std::unique_ptr<FunctionCallTrace> trace;
|
||||
if (evalSettings.traceFunctionCalls)
|
||||
trace = std::make_unique<FunctionCallTrace>(pos);
|
||||
auto trace = evalSettings.traceFunctionCalls ? std::make_unique<FunctionCallTrace>(pos) : nullptr;
|
||||
|
||||
forceValue(fun, pos);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user