diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2007-11-13 08:13:05 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2007-11-13 08:13:05 +0000 |
commit | 5438ab13a944a0721816012a9be99a9d3141d7a9 (patch) | |
tree | 9034f3358b86b18fd04945d2e0c4618041969e14 /src/compiler/scala/tools/nsc/backend/icode/Checkers.scala | |
parent | 16f241cfe73244de1b8600318c104f81596b3afa (diff) | |
download | scala-5438ab13a944a0721816012a9be99a9d3141d7a9.tar.gz scala-5438ab13a944a0721816012a9be99a9d3141d7a9.tar.bz2 scala-5438ab13a944a0721816012a9be99a9d3141d7a9.zip |
Fixed minor bugs in icode.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/Checkers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/Checkers.scala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala index 0c467f1279..da80fe148a 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala @@ -537,6 +537,16 @@ abstract class Checkers { checkBool(stack.pop.isReferenceType, "MONITOR_EXIT on non-reference type") + case BOX(kind) => + checkStack(1) + checkType(stack.pop, kind) + stack.push(icodes.AnyRefReference) + + case UNBOX(kind) => + checkStack(1) + stack.pop + stack.push(kind) + case _ => abort("Unknown instruction: " + instr) } |