diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-02-09 19:01:35 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-02-09 22:09:42 +0100 |
commit | 7957f63caa7c50593e428a46e991708c6465f354 (patch) | |
tree | bc4465c5387426e34bec7ae93d5c6a331a0c323d /src/reflect | |
parent | 6f05acaa43d8aa036e26f68937e71dbae60bb5b4 (diff) | |
download | scala-7957f63caa7c50593e428a46e991708c6465f354.tar.gz scala-7957f63caa7c50593e428a46e991708c6465f354.tar.bz2 scala-7957f63caa7c50593e428a46e991708c6465f354.zip |
Optimation: use AnyRefMap in GenASM javaName caches
These are a hotspot in the backend.
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/SymbolTable.scala | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/SymbolTable.scala b/src/reflect/scala/reflect/internal/SymbolTable.scala index 571c4cfa5d..802bd18a4e 100644 --- a/src/reflect/scala/reflect/internal/SymbolTable.scala +++ b/src/reflect/scala/reflect/internal/SymbolTable.scala @@ -371,6 +371,8 @@ abstract class SymbolTable extends macros.Universe def newMap[K, V]() = recordCache(mutable.HashMap[K, V]()) def newSet[K]() = recordCache(mutable.HashSet[K]()) def newWeakSet[K <: AnyRef]() = recordCache(new WeakHashSet[K]()) + + def newAnyRefMap[K <: AnyRef, V]() = recordCache(mutable.AnyRefMap[K, V]()) def newGeneric[T](f: => T): () => T = { val NoCached: T = null.asInstanceOf[T] var cached: T = NoCached |