summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/settings
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-01-24 10:19:25 +0100
committerLukas Rytz <lukas.rytz@gmail.com>2016-01-24 13:02:08 +0100
commit1a9e649e34cda4306537d74ab425c33d5f6a77db (patch)
tree389a254831541bd8a02a3b03642249d3691c5dd2 /src/compiler/scala/tools/nsc/settings
parent790ed59d9fe5ca396984b8a5135b7a091e4224f7 (diff)
downloadscala-1a9e649e34cda4306537d74ab425c33d5f6a77db.tar.gz
scala-1a9e649e34cda4306537d74ab425c33d5f6a77db.tar.bz2
scala-1a9e649e34cda4306537d74ab425c33d5f6a77db.zip
Jump optimizations may enable more push-pop elimination
Jump optimization replaces an unnecessary conditional jump, e.g. `IFNULL l; l: ...` by `POP`, which enables further push-pop elimination. Also introduces a `-YoptTrace` flag that traces the progress of the bytecode as it goes through local optimizations.
Diffstat (limited to 'src/compiler/scala/tools/nsc/settings')
-rw-r--r--src/compiler/scala/tools/nsc/settings/ScalaSettings.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
index f64fe437e4..1bb1943c0c 100644
--- a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
@@ -322,6 +322,8 @@ trait ScalaSettings extends AbsScalaSettings
def YoptWarningNoInlineMissingBytecode = YoptWarnings.contains(YoptWarningsChoices.noInlineMissingBytecode)
def YoptWarningNoInlineMissingScalaInlineInfoAttr = YoptWarnings.contains(YoptWarningsChoices.noInlineMissingScalaInlineInfoAttr)
+ val YoptTrace = BooleanSetting("-YoptTrace", "trace optimizer progress")
+
private def removalIn212 = "This flag is scheduled for removal in 2.12. If you have a case where you need this flag then please report a bug."
object YstatisticsPhases extends MultiChoiceEnumeration { val parser, typer, patmat, erasure, cleanup, jvm = Value }