diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2015-09-16 14:27:26 +0200 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2015-09-17 22:05:05 +0200 |
commit | 7877ccda89a74c942107f955f3a217d9dab35a8e (patch) | |
tree | 3c0114f4f88c8381cabee4957d6a483963bb00b2 /src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala | |
parent | 7b52a12b0a4b5c7e7dcc439714baf167cf2f6e84 (diff) | |
download | scala-7877ccda89a74c942107f955f3a217d9dab35a8e.tar.gz scala-7877ccda89a74c942107f955f3a217d9dab35a8e.tar.bz2 scala-7877ccda89a74c942107f955f3a217d9dab35a8e.zip |
Run computeMaxLocalsMaxStack less often
Introduce a cache to remember which methods have maxLocals and
maxStack already computed. Before we were computing these values
on every run of eliminateUnreachableCode.
Also update the implementation of eliminateUnreachableCode to keep
correct max values.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala b/src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala index dc87ed631d..8cccc50c69 100644 --- a/src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala +++ b/src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala @@ -7,6 +7,7 @@ package scala.tools.nsc package backend.jvm import scala.tools.asm +import scala.tools.nsc.backend.jvm.analysis.Analyzers import scala.tools.nsc.backend.jvm.opt._ import scala.tools.nsc.backend.jvm.BTypes._ import BackendReporting._ @@ -48,6 +49,8 @@ class BTypesFromSymbols[G <: Global](val global: G) extends BTypes { val callGraph: CallGraph[this.type] = new CallGraph(this) + val analyzers: Analyzers[this.type] = new Analyzers(this) + val backendReporting: BackendReporting = new BackendReportingImpl(global) final def initializeCoreBTypes(): Unit = { |