aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TypeComparer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-01-14 18:22:37 +0100
committerMartin Odersky <odersky@gmail.com>2015-01-14 18:22:37 +0100
commitef9c11f7e34b39229254353e245a53aa4d4777d0 (patch)
treed441642c4578eba78428cd835da4ea81e3dfc6b9 /src/dotty/tools/dotc/core/TypeComparer.scala
parent3e3ef5222429beddedd6912feeff7975bdd67bf8 (diff)
downloaddotty-ef9c11f7e34b39229254353e245a53aa4d4777d0.tar.gz
dotty-ef9c11f7e34b39229254353e245a53aa4d4777d0.tar.bz2
dotty-ef9c11f7e34b39229254353e245a53aa4d4777d0.zip
Fix after review: reset state variable needsGc
Without the reset, states are gc-ed unncessssarily.
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeComparer.scala')
-rw-r--r--src/dotty/tools/dotc/core/TypeComparer.scala5
1 files changed, 4 insertions, 1 deletions
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 {