summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/jvm/analysis/InstructionStackEffect.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/jvm/analysis/InstructionStackEffect.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/analysis/InstructionStackEffect.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/analysis/InstructionStackEffect.scala b/src/compiler/scala/tools/nsc/backend/jvm/analysis/InstructionStackEffect.scala
index 3d6c53765e..56c8c2e4e3 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/analysis/InstructionStackEffect.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/analysis/InstructionStackEffect.scala
@@ -196,9 +196,9 @@ object InstructionStackEffect {
LRETURN |
FRETURN |
DRETURN |
- ARETURN => (frame.getStackSize, 0)
+ ARETURN => (1, 0) // Frame.execute consumes one stack value
- case RETURN => (frame.getStackSize, 0)
+ case RETURN => (0, 0) // Frame.execute does not change the stack
case GETSTATIC => (0, 1)
@@ -229,7 +229,7 @@ object InstructionStackEffect {
ANEWARRAY |
ARRAYLENGTH => (1, 1)
- case ATHROW => (frame.getStackSize, 0)
+ case ATHROW => (1, 0) // Frame.execute consumes one stack value
case CHECKCAST => (0, 0)