* src/vm/jit/jit.h (jitdata): Removed isleafmethod.
[cacao.git] / src / vm / jit / mips / codegen.c
index 84b1b8af59348e7f9501f257e2557d404035f056..4bf2d0552a01e412c838f7393dc63171fe73086e 100644 (file)
@@ -118,7 +118,7 @@ bool codegen_emit(jitdata *jd)
        s4 i, p, t, l;
        s4 savedregs_num;
 
-       savedregs_num = (jd->isleafmethod) ? 0 : 1;       /* space to save the RA */
+       savedregs_num = code_is_leafmethod(code) ? 0 : 1; /* space to save the RA */
 
        /* space to save used callee saved registers */
 
@@ -163,7 +163,13 @@ bool codegen_emit(jitdata *jd)
 #endif
                (void) dseg_add_unique_s4(cd, 0);                  /* IsSync          */
                                               
-       (void) dseg_add_unique_s4(cd, jd->isleafmethod);       /* IsLeaf          */
+       /* REMOVEME: We still need it for exception handling in assembler. */
+
+       if (code_is_leafmethod(code))
+               (void) dseg_add_unique_s4(cd, 1);
+       else
+               (void) dseg_add_unique_s4(cd, 0);
+
        (void) dseg_add_unique_s4(cd, INT_SAV_CNT - rd->savintreguse); /* IntSave */
        (void) dseg_add_unique_s4(cd, FLT_SAV_CNT - rd->savfltreguse); /* FltSave */
        dseg_addlinenumbertablesize(cd);
@@ -186,7 +192,7 @@ bool codegen_emit(jitdata *jd)
        /* save return address and used callee saved registers */
 
        p = cd->stackframesize;
-       if (!jd->isleafmethod) {
+       if (!code_is_leafmethod(code)) {
                p--; M_AST(REG_RA, REG_SP, p * 8);
        }
        for (i = INT_SAV_CNT - 1; i >= rd->savintreguse; i--) {
@@ -2893,7 +2899,7 @@ nowperformreturn:
 
                        /* restore return address                                         */
 
-                       if (!jd->isleafmethod) {
+                       if (!code_is_leafmethod(code)) {
                                p--; M_ALD(REG_RA, REG_SP, p * 8);
                        }