From ef9c11f7e34b39229254353e245a53aa4d4777d0 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 14 Jan 2015 18:22:37 +0100 Subject: Fix after review: reset state variable needsGc Without the reset, states are gc-ed unncessssarily. --- src/dotty/tools/dotc/core/TypeComparer.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dotty/tools/dotc/core/TypeComparer.scala b/src/dotty/tools/dotc/core/TypeComparer.scala index d327da017..f3518eff2 100644 --- a/src/dotty/tools/dotc/core/TypeComparer.scala +++ b/src/dotty/tools/dotc/core/TypeComparer.scala @@ -98,7 +98,10 @@ class TypeComparer(initctx: Context) extends DotClass with ConstraintHandling wi else monitoredIsSubType(tp1, tp2) recCount = recCount - 1 if (!result) constraint = saved - else if (recCount == 0 && needsGc) state.gc() + else if (recCount == 0 && needsGc) { + state.gc() + needsGc = false + } if (Stats.monitored) recordStatistics(result, savedSuccessCount) result } catch { -- cgit v1.2.3