diff options
author | Paul Phillips <paulp@improving.org> | 2011-10-23 04:39:57 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-10-23 04:39:57 +0000 |
commit | 81fda510a7aecab4463a6b6b6f9eb4f90361cdc7 (patch) | |
tree | d74e616aec231a65fd0c9efdb165feb898804875 /src/compiler | |
parent | 290f687fb6ab91b6aef62d871036ddc3829f12b4 (diff) | |
download | scala-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.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/opt/Inliners.scala | 9 |
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 = ( |