summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/Symbols.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-08-09 22:20:54 +0200
committerMartin Odersky <odersky@gmail.com>2012-08-09 22:20:54 +0200
commit39ef1e1e90aecc78a7318945d2fe5d3f73ba32f4 (patch)
tree6f58db3d36d356289b4a71f0e5e269b32097f3c9 /src/reflect/scala/reflect/internal/Symbols.scala
parent0e2080e8bf1c54cac59c5b0c53a93eb0de009d3b (diff)
downloadscala-39ef1e1e90aecc78a7318945d2fe5d3f73ba32f4.tar.gz
scala-39ef1e1e90aecc78a7318945d2fe5d3f73ba32f4.tar.bz2
scala-39ef1e1e90aecc78a7318945d2fe5d3f73ba32f4.zip
Removed hot statistics call in normal path.
Some calls to Statistics are now subject to the compile-time constant hotEnabled, which means they will be eliminated entirely in the default case where hotEnabled = false.
Diffstat (limited to 'src/reflect/scala/reflect/internal/Symbols.scala')
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala
index 2a306d7c6e..161d04b6ff 100644
--- a/src/reflect/scala/reflect/internal/Symbols.scala
+++ b/src/reflect/scala/reflect/internal/Symbols.scala
@@ -876,7 +876,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
// ------ owner attribute --------------------------------------------------------------
def owner: Symbol = {
- Statistics.incCounter(ownerCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(ownerCount)
rawowner
}
@@ -2272,7 +2272,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
private[this] var _rawname: TermName = initName
def rawname = _rawname
def name = {
- Statistics.incCounter(nameCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(nameCount)
_rawname
}
def name_=(name: Name) {
@@ -2444,12 +2444,12 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
flatOwnerInfo.decl(name.toTypeName).suchThat(sym => sym.isClass && (sym isCoDefinedWith this))
override def owner = {
- Statistics.incCounter(ownerCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(ownerCount)
if (!isMethod && needsFlatClasses) rawowner.owner
else rawowner
}
override def name: TermName = {
- Statistics.incCounter(nameCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(nameCount)
if (!isMethod && needsFlatClasses) {
if (flatname eq null)
flatname = nme.flattenedName(rawowner.name, rawname)
@@ -2543,7 +2543,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
def rawname = _rawname
def name = {
- Statistics.incCounter(nameCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(nameCount)
_rawname
}
final def asNameType(n: Name) = n.toTypeName
@@ -2681,7 +2681,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
}
}
- Statistics.incCounter(typeSymbolCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(typeSymbolCount)
}
implicit val TypeSymbolTag = ClassTag[TypeSymbol](classOf[TypeSymbol])
@@ -2860,7 +2860,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
}
override def owner: Symbol = {
- Statistics.incCounter(ownerCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(ownerCount)
if (needsFlatClasses) rawowner.owner else rawowner
}
@@ -2904,7 +2904,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
override def children = childSet
override def addChild(sym: Symbol) { childSet = childSet + sym }
- Statistics.incCounter(classSymbolCount)
+ if (Statistics.hotEnabled) Statistics.incCounter(classSymbolCount)
}
implicit val ClassSymbolTag = ClassTag[ClassSymbol](classOf[ClassSymbol])