diff options
author | Som Snytt <som.snytt@gmail.com> | 2016-11-09 22:59:34 -0800 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2016-11-10 19:54:41 -0800 |
commit | 1dfdb9cf709be3234479cf4db089007fd63c3402 (patch) | |
tree | 2d80a26f6ef5904c4d7fe93c08366c7eb2130311 /src/compiler/scala/tools/nsc/symtab/classfile | |
parent | 74ed575a0f62c814595d159a8fd2290c04bcff5f (diff) | |
download | scala-1dfdb9cf709be3234479cf4db089007fd63c3402.tar.gz scala-1dfdb9cf709be3234479cf4db089007fd63c3402.tar.bz2 scala-1dfdb9cf709be3234479cf4db089007fd63c3402.zip |
[nomerge] SI-10037 ASR/LSR switched in ICodeReader
Noticed when inlining from a class file.
The test doesn't work because inlining fails with
bytecode unavailable due to:
```
scala.reflect.internal.MissingRequirementError: object X in compiler mirror not found.
```
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/classfile')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala index b2f5a4119d..7f18565cdf 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala @@ -452,10 +452,10 @@ abstract class ICodeReader extends ClassfileParser { case JVM.ishl => code.emit(CALL_PRIMITIVE(Shift(LSL, INT))) case JVM.lshl => code.emit(CALL_PRIMITIVE(Shift(LSL, LONG))) - case JVM.ishr => code.emit(CALL_PRIMITIVE(Shift(LSR, INT))) - case JVM.lshr => code.emit(CALL_PRIMITIVE(Shift(LSR, LONG))) - case JVM.iushr => code.emit(CALL_PRIMITIVE(Shift(ASR, INT))) - case JVM.lushr => code.emit(CALL_PRIMITIVE(Shift(ASR, LONG))) + case JVM.ishr => code.emit(CALL_PRIMITIVE(Shift(ASR, INT))) + case JVM.lshr => code.emit(CALL_PRIMITIVE(Shift(ASR, LONG))) + case JVM.iushr => code.emit(CALL_PRIMITIVE(Shift(LSR, INT))) + case JVM.lushr => code.emit(CALL_PRIMITIVE(Shift(LSR, LONG))) case JVM.iand => code.emit(CALL_PRIMITIVE(Logical(AND, INT))) case JVM.land => code.emit(CALL_PRIMITIVE(Logical(AND, LONG))) case JVM.ior => code.emit(CALL_PRIMITIVE(Logical(OR, INT))) |