summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2008-10-30 13:47:45 +0000
committerIulian Dragos <jaguarul@gmail.com>2008-10-30 13:47:45 +0000
commitf36b262369c7f933c0e2a864389ff932de00ee28 (patch)
tree75f73ea23141e465aa3a7460adf45f7f193d58a0
parentd1c56b7580c537f3f163bd32980a2887f95f5461 (diff)
downloadscala-f36b262369c7f933c0e2a864389ff932de00ee28.tar.gz
scala-f36b262369c7f933c0e2a864389ff932de00ee28.tar.bz2
scala-f36b262369c7f933c0e2a864389ff932de00ee28.zip
Reverted propagation, it was to late for RC5
-rw-r--r--src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
index 49cebeb1d7..05f959886d 100644
--- a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
+++ b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
@@ -47,7 +47,8 @@ abstract class DeadCodeElimination extends SubComponent {
def analyzeClass(cls: IClass) {
cls.methods.foreach { m =>
this.method = m
- dieCodeDie(m)
+// analyzeMethod(m);
+ dieCodeDie(m)
}
}
@@ -259,13 +260,11 @@ abstract class DeadCodeElimination extends SubComponent {
abort("could not find init in: " + method)
}
- lazy val RuntimePackage = definitions.getModule("scala.runtime")
/** Is 'sym' a side-effecting method? TODO: proper analysis. */
private def isSideEffecting(sym: Symbol): Boolean = {
- !((sym.isGetter && !sym.hasFlag(Flags.LAZY))
+ !((sym.isGetter && !sym.hasFlag(Flags.LAZY)) // for testing only
|| (sym.isConstructor
- && !(sym.owner == method.symbol.owner && method.symbol.isConstructor) // a call to another constructor
- && sym.owner.owner == RuntimePackage.moduleClass)
+ && sym.owner.owner == definitions.getModule("scala.runtime").moduleClass)
|| (sym.isConstructor && inliner.isClosureClass(sym.owner))
/* || definitions.isBox(sym)
|| definitions.isUnbox(sym)*/)