* src/vm/jit/mips/codegen.c (codegen_emit): Fixed minor problem in ICMD_ATHROW.
authorMichael Starzinger <michi@complang.tuwien.ac.at>
Wed, 20 May 2009 14:43:41 +0000 (16:43 +0200)
committerMichael Starzinger <michi@complang.tuwien.ac.at>
Wed, 20 May 2009 14:43:41 +0000 (16:43 +0200)
src/vm/jit/mips/codegen.c

index 4db7b0d74726fe0fab9b1864d38c99d401ebeaee..890c7cd9600898496f6e833b3f290c0830c5f601 100644 (file)
@@ -2256,9 +2256,11 @@ bool codegen_emit(jitdata *jd)
                        }
 #endif /* ENABLE_VERIFIER */
 
+                       // Some processor implementations seem to have a problem when using
+                       // the JALR instruction with (reg_dest == reg_src), so avoid that.
                        disp = dseg_add_functionptr(cd, asm_handle_exception);
-                       M_ALD(REG_ITMP2, REG_PV, disp);
-                       M_JSR(REG_ITMP2_XPC, REG_ITMP2);
+                       M_ALD(REG_ITMP3, REG_PV, disp);
+                       M_JSR(REG_ITMP2_XPC, REG_ITMP3);
                        M_NOP;
                        M_NOP;              /* nop ensures that XPC is less than the end */
                                            /* of basic block                            */