diff options
author | Martin Odersky <odersky@gmail.com> | 2014-01-26 22:20:23 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-01-26 22:20:23 +0100 |
commit | da9579110af09d1f9702ea9047a150724ed1291b (patch) | |
tree | 8d6f1311d3627c0c0ad2254c8904e20def8721ab /src/dotty/tools/dotc/core/TypeComparer.scala | |
parent | aafa0c16dbf95fb880573dea6f9ee6db02470740 (diff) | |
download | dotty-da9579110af09d1f9702ea9047a150724ed1291b.tar.gz dotty-da9579110af09d1f9702ea9047a150724ed1291b.tar.bz2 dotty-da9579110af09d1f9702ea9047a150724ed1291b.zip |
Instrumentation on total isSubType calls.
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeComparer.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/TypeComparer.scala | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/TypeComparer.scala b/src/dotty/tools/dotc/core/TypeComparer.scala index 87c6881b0..bf021c7db 100644 --- a/src/dotty/tools/dotc/core/TypeComparer.scala +++ b/src/dotty/tools/dotc/core/TypeComparer.scala @@ -53,6 +53,7 @@ class TypeComparer(initctx: Context) extends DotClass { /** For stastics: count how many isSubTypes are part of succesful comparisons */ private var successCount = 0 + private var totalCount = 0 private var myAnyClass: ClassSymbol = null private var myNothingClass: ClassSymbol = null @@ -194,7 +195,8 @@ class TypeComparer(initctx: Context) extends DotClass { else if (tp1 eq tp2) true else { val saved = constraint - val savedCount = successCount + val savedSuccessCount = successCount + val savedTotalCount = totalCount try { recCount += 1 /* !!! DEBUG @@ -209,15 +211,18 @@ class TypeComparer(initctx: Context) extends DotClass { if (oldCompare) firstTry(tp1, tp2) else compare(tp1, tp2) else monitoredIsSubType(tp1, tp2) successCount += 1 + totalCount += 1 recCount -= 1 if (!result) { constraint = saved - successCount = savedCount + successCount = savedSuccessCount } else if (recCount == 0) { if (needsGc) ctx.typerState.gc() - Stats.record("successful-<:<", successCount) + Stats.record("successful subType", successCount) + Stats.record("total subType", totalCount) successCount = 0 + totalCount = 0 } result } catch { @@ -235,7 +240,7 @@ class TypeComparer(initctx: Context) extends DotClass { } recCount -= 1 constraint = saved - successCount = savedCount + successCount = savedSuccessCount throw ex } } |