diff options
Diffstat (limited to 'src/libexpr/eval.cc')
-rw-r--r-- | src/libexpr/eval.cc | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index 1ee9da3b9bc8..6d2b20e53946 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -6,8 +6,6 @@ EvalState::EvalState() : normalForms(32768, 50) { - blackHole = makeBlackHole(); - nrEvaluated = nrCached = 0; initNixExprHelpers(); @@ -490,14 +488,14 @@ Expr evalExpr(EvalState & state, Expr e) previously evaluated expressions. */ Expr nf = state.normalForms.get(e); if (nf) { - if (nf == state.blackHole) + if (nf == makeBlackHole()) throw Error("infinite recursion encountered"); state.nrCached++; return nf; } /* Otherwise, evaluate and memoize. */ - state.normalForms.set(e, state.blackHole); + state.normalForms.set(e, makeBlackHole()); try { nf = evalExpr2(state, e); } catch (Error & err) { @@ -536,5 +534,4 @@ void printEvalStats(EvalState & state) % state.nrEvaluated % state.nrCached % ((float) state.nrCached / (float) state.nrEvaluated * 100) % AT_calcAllocatedSize()); - sleep(100); } |