diff options
author | Martin Odersky <odersky@gmail.com> | 2007-03-13 15:28:01 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-03-13 15:28:01 +0000 |
commit | f947c1f55fcb33a6cb2ba52f587b07ac982f33dc (patch) | |
tree | 709b647f47d8f5545bd2e48461ff88abd6f05dd1 /src/compiler | |
parent | 0eb18771918f5fd7659ad747126e97452c41c748 (diff) | |
download | scala-f947c1f55fcb33a6cb2ba52f587b07ac982f33dc.tar.gz scala-f947c1f55fcb33a6cb2ba52f587b07ac982f33dc.tar.bz2 scala-f947c1f55fcb33a6cb2ba52f587b07ac982f33dc.zip |
fixed problem with build
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala index 7c09d9a499..9f99e942fa 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala @@ -97,7 +97,7 @@ abstract class ReachingDefinitions { def updateReachingDefinition(b: BasicBlock, idx: Int, rd: Set[Definition]): Set[Definition] = { val STORE_LOCAL(local) = b(idx) var tmp = local - (rd filter { case (l, _, _) => l != tmp }) + (tmp, b, idx) + (rd filter { case (l, _, _) => l != tmp }) + ((tmp, b, idx)) } private def blockTransfer(b: BasicBlock, in: Set[Definition]): Set[Definition] = diff --git a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala index 329a2fe0bd..a2818d08f0 100644 --- a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala +++ b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala @@ -67,8 +67,8 @@ abstract class DeadCodeElimination extends SubComponent { for (val Pair(i, idx) <- bb.toList.zipWithIndex) { i match { case LOAD_LOCAL(l) => defs((bb, idx)) = rd - case RETURN(_) => worklist += (bb, idx) - case CALL_METHOD(m, _) if isSideEffecting(m) => worklist += (bb, idx) + case RETURN(_) => worklist += ((bb, idx)) + case CALL_METHOD(m, _) if isSideEffecting(m) => worklist += ((bb, idx)) case _ => () } rd = rdef.interpret(bb, idx, rd); @@ -82,17 +82,17 @@ abstract class DeadCodeElimination extends SubComponent { def mark { while (!worklist.isEmpty) { val (bb, idx) = worklist.elements.next - worklist -= (bb, idx) + worklist -= ((bb, idx)) val instr = bb(idx) assert(!instr.useful) instr match { case LOAD_LOCAL(l1) => for (val (_, bb1, idx1) <- defs((bb, idx)); !bb1(idx1).useful) - worklist += (bb1, idx1) + worklist += ((bb1, idx1)) case _ => for (val (bb1, idx1) <- bb.findDefs(idx, 0); !bb1(idx1).useful) - worklist += (bb1, idx1) + worklist += ((bb1, idx1)) } } } |