From b1d92fc6c2d0ca7574546f9dcbfe5c227e7d565a Mon Sep 17 00:00:00 2001 From: Joel Dice Date: Sun, 31 May 2009 14:15:45 -0600 Subject: [PATCH] fix compilation of synchronized methods which return values --- src/compile.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/compile.cpp b/src/compile.cpp index 3317756106..95cbaa7a99 100644 --- a/src/compile.cpp +++ b/src/compile.cpp @@ -2646,9 +2646,8 @@ compile(MyThread* t, Frame* initialFrame, unsigned ip, } break; case areturn: { - Compiler::Operand* value = frame->popObject(); handleExit(t, frame); - c->return_(BytesPerWord, value); + c->return_(BytesPerWord, frame->popObject()); } return; case arraylength: { @@ -3465,9 +3464,8 @@ compile(MyThread* t, Frame* initialFrame, unsigned ip, case ireturn: case freturn: { - Compiler::Operand* value = frame->popInt(); handleExit(t, frame); - c->return_(4, value); + c->return_(4, frame->popInt()); } return; case ishl: { @@ -3760,9 +3758,8 @@ compile(MyThread* t, Frame* initialFrame, unsigned ip, case lreturn: case dreturn: { - Compiler::Operand* value = frame->popLong(); handleExit(t, frame); - c->return_(8, value); + c->return_(8, frame->popLong()); } return; case lshl: {