diff options
author | Martin Odersky <odersky@gmail.com> | 2015-01-14 18:22:37 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-01-14 18:22:37 +0100 |
commit | ef9c11f7e34b39229254353e245a53aa4d4777d0 (patch) | |
tree | d441642c4578eba78428cd835da4ea81e3dfc6b9 /src | |
parent | 3e3ef5222429beddedd6912feeff7975bdd67bf8 (diff) | |
download | dotty-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')
-rw-r--r-- | src/dotty/tools/dotc/core/TypeComparer.scala | 5 |
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 { |