diff --git a/src/main/scala/leon/evaluators/RecursiveEvaluator.scala b/src/main/scala/leon/evaluators/RecursiveEvaluator.scala index 1ee1aa528eec77631906bcc935416c7ad3dc8084..9de0a2a0539e625c1117b8987129c02e6fa2d395 100644 --- a/src/main/scala/leon/evaluators/RecursiveEvaluator.scala +++ b/src/main/scala/leon/evaluators/RecursiveEvaluator.scala @@ -47,12 +47,16 @@ abstract class RecursiveEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int def initRC(mappings: Map[Identifier, Expr]): RC def initGC(): GC + // Used by leon-web, please do not delete + var lastGC: Option[GC] = None + private[this] var clpCache = Map[(Choose, Seq[Expr]), Expr]() def eval(ex: Expr, mappings: Map[Identifier, Expr]) = { try { + lastGC = Some(initGC()) ctx.timers.evaluators.recursive.runtime.start() - EvaluationResults.Successful(e(ex)(initRC(mappings), initGC())) + EvaluationResults.Successful(e(ex)(initRC(mappings), lastGC.get)) } catch { case so: StackOverflowError => EvaluationResults.EvaluatorError("Stack overflow")