Restored original exception handling code
authorstefan <none@none>
Wed, 14 May 2003 14:04:09 +0000 (14:04 +0000)
committerstefan <none@none>
Wed, 14 May 2003 14:04:09 +0000 (14:04 +0000)
mips/asmpart.S
mips/ngen.c

index 5fdf0dbb40f1a4bf1423acc16478654011ba6e04..e8eec972f0c0a9a79c0be03fa0051e52f90dde20 100644 (file)
@@ -504,11 +504,11 @@ ex_stack_loop:
 
 ex_table_loop:
        ald     t2,ExStartPC(t1)      /* t2 = exception start pc                  */
-       slt     t2,t2,xpc             /* t2 = (xpc < startpc)                     */
-       beqz    t2,ex_table_cont      /* if (true) continue                       */
+       slt     t2,xpc,t2             /* t2 = (xpc < startpc)                     */
+       bnez    t2,ex_table_cont      /* if (true) continue                       */
        ald     t2,ExEndPC(t1)        /* t2 = exception end pc                    */
-       slt     t2,t2,xpc             /* t2 = (xpc < endpc)                       */
-       bnez    t2,ex_table_cont      /* if (false) continue                      */
+       slt     t2,xpc,t2             /* t2 = (xpc < endpc)                       */
+       beqz    t2,ex_table_cont      /* if (false) continue                      */
        ald     a1,ExCatchType(t1)    /* arg1 = exception catch type              */
        beqz    a1,ex_handle_it       /* NULL catches everything                  */
 
index 0340f3bbae0dc04357fe43e40568fc4742c01c07..f89f9f6dbdb86b082e59351c9721d69c6ec8065d 100644 (file)
@@ -10,7 +10,7 @@
 
        Authors: Andreas  Krall      EMAIL: cacao@complang.tuwien.ac.at
 
-       Last Change: $Id: ngen.c 280 2003-05-09 20:55:46Z stefan $
+       Last Change: $Id: ngen.c 304 2003-05-14 14:04:09Z stefan $
 
 *******************************************************************************/
 
@@ -582,6 +582,7 @@ static void gen_mcode()
 
        /* call trace function */
 
+#if 0
        if (runverbose && !isleafmethod) {
                M_LDA (REG_SP, REG_SP, -8);
                p = dseg_addaddress (method);
@@ -593,6 +594,7 @@ static void gen_mcode()
                M_NOP;
                M_LDA(REG_SP, REG_SP, 8);
                }
+#endif
 
        /* call monitorenter function */
 
@@ -2233,6 +2235,8 @@ static void gen_mcode()
                        M_ALD(REG_ITMP2, REG_PV, a);
                        M_JSR(REG_ITMP2_XPC, REG_ITMP2);
                        M_NOP;
+                       M_NOP;              /* nop ensures that XPC is less than the end */
+                                           /* of basic block                            */
                        ALIGNCODENOP;
                        break;