summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2014-12-16 16:08:59 +0100
committerLukas Rytz <lukas.rytz@gmail.com>2014-12-16 16:08:59 +0100
commit213e5463345a40a06b7c576b7d0d9e5c115dcfba (patch)
treede7a62205cf7dea6ee8e27cf8b1d115f0ed787d3 /src
parent36b1014ac63205a38e73ae18a05ac6f956c3410f (diff)
downloadscala-213e5463345a40a06b7c576b7d0d9e5c115dcfba.tar.gz
scala-213e5463345a40a06b7c576b7d0d9e5c115dcfba.tar.bz2
scala-213e5463345a40a06b7c576b7d0d9e5c115dcfba.zip
Run dead code elimination by default in GenBCode
This was disabled by mistake. Settings are still a challenge. This fixes the bcode-delambdafy-method build (https://scala-webapps.epfl.ch/jenkins/view/2.11.x/job/scala-nightly-genbcode-2.11.x/)
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/opt/LocalOpt.scala2
-rw-r--r--src/compiler/scala/tools/nsc/settings/ScalaSettings.scala1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/opt/LocalOpt.scala b/src/compiler/scala/tools/nsc/backend/jvm/opt/LocalOpt.scala
index 273112b93c..08f15438fe 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/opt/LocalOpt.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/opt/LocalOpt.scala
@@ -55,7 +55,7 @@ class LocalOpt(settings: ScalaSettings) {
* @return `true` if unreachable code was elminated in some method, `false` otherwise.
*/
def methodOptimizations(clazz: ClassNode): Boolean = {
- settings.Yopt.value.nonEmpty && clazz.methods.asScala.foldLeft(false) {
+ !settings.YoptNone && clazz.methods.asScala.foldLeft(false) {
case (changed, method) => methodOptimizations(method, clazz.name) || changed
}
}
diff --git a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
index 18e639b81c..fc02f6ff56 100644
--- a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
@@ -242,6 +242,7 @@ trait ScalaSettings extends AbsScalaSettings
descr = "Enable optimizations",
domain = YoptChoices)
+ def YoptNone = Yopt.isSetByUser && Yopt.value.isEmpty
def YoptUnreachableCode = !Yopt.isSetByUser || Yopt.contains(YoptChoices.unreachableCode)
def YoptSimplifyJumps = Yopt.contains(YoptChoices.simplifyJumps)
def YoptRecurseUnreachableJumps = Yopt.contains(YoptChoices.recurseUnreachableJumps)