From: Christian Thalinger Date: Mon, 22 Oct 2007 13:19:41 +0000 (+0200) Subject: * src/vm/jit/arm/codegen.c (codegen_emit): Moved ICMD_POP and X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=1c35b6ea8ad33cb8de42fee7aa1bd5169d1c8cce;p=cacao.git * src/vm/jit/arm/codegen.c (codegen_emit): Moved ICMD_POP and ICMD_POP2 to ICMD_NOP case. --- diff --git a/src/vm/jit/arm/codegen.c b/src/vm/jit/arm/codegen.c index 21cb0d0ab..d27d81e61 100644 --- a/src/vm/jit/arm/codegen.c +++ b/src/vm/jit/arm/codegen.c @@ -385,12 +385,15 @@ bool codegen_emit(jitdata *jd) MCODECHECK(64); /* an instruction usually needs < 64 words */ - /* the big switch */ - switch (iptr->opc) { - case ICMD_NOP: /* ... ==> ... */ + /* the big switch */ + switch (iptr->opc) { + + case ICMD_NOP: /* ... ==> ... */ + case ICMD_POP: /* ..., value ==> ... */ + case ICMD_POP2: /* ..., value, value ==> ... */ break; - /* constant operations ************************************************/ + /* constant operations ************************************************/ case ICMD_ICONST: /* ... ==> ..., constant */ @@ -468,19 +471,11 @@ bool codegen_emit(jitdata *jd) break; case ICMD_ASTORE: + if (!(iptr->flags.bits & INS_FLAG_RETADDR)) emit_copy(jd, iptr); break; - /* pop operations *****************************************************/ - - /* attention: double and longs are only one entry in CACAO ICMDs */ - - case ICMD_POP: /* ..., value ==> ... */ - case ICMD_POP2: /* ..., value, value ==> ... */ - - break; - /* integer operations *************************************************/