summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-10-23 04:39:57 +0000
committerPaul Phillips <paulp@improving.org>2011-10-23 04:39:57 +0000
commit81fda510a7aecab4463a6b6b6f9eb4f90361cdc7 (patch)
treed74e616aec231a65fd0c9efdb165feb898804875
parent290f687fb6ab91b6aef62d871036ddc3829f12b4 (diff)
downloadscala-81fda510a7aecab4463a6b6b6f9eb4f90361cdc7.tar.gz
scala-81fda510a7aecab4463a6b6b6f9eb4f90361cdc7.tar.bz2
scala-81fda510a7aecab4463a6b6b6f9eb4f90361cdc7.zip
Debugging note.
Pinpointed line which gave us SI-3882. In case a remedy suggest itself to you, review by dragos.
-rw-r--r--src/compiler/scala/tools/nsc/backend/opt/Inliners.scala9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
index f79cec532d..74eb450960 100644
--- a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
+++ b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
@@ -135,8 +135,15 @@ abstract class Inliners extends SubComponent {
warn(i.pos, "Could not inline required method %s because %s.".format(msym.originalName.decode, reason))
}
- if (shouldLoadImplFor(concreteMethod, receiver))
+ if (shouldLoadImplFor(concreteMethod, receiver)) {
+ // Until r22824 this line was:
+ // icodes.icode(concreteMethod.enclClass, true)
+ //
+ // Changing it to the below was the proximate cause for SI-3882:
+ // error: Illegal index: 0 overlaps List((variable par1,LONG))
+ // error: Illegal index: 0 overlaps List((variable par1,LONG))
icodes.load(concreteMethod.enclClass)
+ }
def isAvailable = icodes available concreteMethod.enclClass
def isCandidate = (