* src/vm/jit/arm/codegen.c: removed unused ICMD_GETSTATIC branch
[cacao.git] / src / vm / jit / arm / codegen.c
index 05d3613cf8dcc1599cff51a08c68f98863b20c2c..bffb32709fe744278351f9f969c090375a8ab0b7 100644 (file)
@@ -1,6 +1,6 @@
 /* src/vm/jit/arm/codegen.c - machine code generator for Arm
 
-   Copyright (C) 1996-2005, 2006, 2007, 2008, 2009
+   Copyright (C) 1996-2011
    CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
@@ -257,7 +257,6 @@ void codegen_emit_instruction(jitdata* jd, instruction* iptr)
        int32_t             disp;
 
        // Get required compiler data.
-       codeinfo*     code = jd->code;
        codegendata*  cd   = jd->cd;
 
        /* the big switch */
@@ -1209,39 +1208,6 @@ void codegen_emit_instruction(jitdata* jd, instruction* iptr)
                        M_STR_INTERN(s3, REG_ITMP1, OFFSET(java_objectarray_t, data[0]));
                        break;
 
-               case ICMD_GETSTATIC:  /* ...  ==> ..., value                          */
-                       switch (fieldtype) {
-                       case TYPE_INT:
-#if defined(ENABLE_SOFTFLOAT)
-                       case TYPE_FLT:
-#endif
-                       case TYPE_ADR:
-                               d = codegen_reg_of_dst(jd, iptr, REG_ITMP1);
-                               M_ILD_INTERN(d, REG_ITMP3, 0);
-                               break;
-                       case TYPE_LNG:
-#if defined(ENABLE_SOFTFLOAT)
-                       case TYPE_DBL:
-#endif
-                               d = codegen_reg_of_dst(jd, iptr, REG_ITMP12_PACKED);
-                               M_LLD_INTERN(d, REG_ITMP3, 0);
-                               break;
-#if !defined(ENABLE_SOFTFLOAT)
-                       case TYPE_FLT:
-                               d = codegen_reg_of_dst(jd, iptr, REG_FTMP1);
-                               M_FLD_INTERN(d, REG_ITMP3, 0);
-                               break;
-                       case TYPE_DBL:
-                               d = codegen_reg_of_dst(jd, iptr, REG_FTMP1);
-                               M_DLD_INTERN(d, REG_ITMP3, 0);
-                               break;
-#endif
-                       default:
-                               assert(0);
-                       }
-                       emit_store_dst(jd, iptr, d);
-                       break;
-
                case ICMD_GETFIELD:   /* ..., objectref, value  ==> ...               */
 
                        s1 = emit_load_s1(jd, iptr, REG_ITMP3);
@@ -2405,14 +2371,14 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s
        /* calculate stackframe size */
 
        cd->stackframesize =
-               4 +                                                /* return address  */
-               sizeof(stackframeinfo_t) +                         /* stackframeinfo  */
-               sizeof(localref_table) +                           /* localref_table  */
-               nmd->memuse * 4;                                   /* stack arguments */
+               1 +                                                /* return address  */
+               sizeof(stackframeinfo_t) / SIZEOF_VOID_P +         /* stackframeinfo  */
+               sizeof(localref_table) / SIZEOF_VOID_P +           /* localref_table  */
+               nmd->memuse;                                       /* stack arguments */
 
        /* align stack to 8-byte */
 
-       cd->stackframesize = (cd->stackframesize + 4) & ~4;
+       cd->stackframesize = (cd->stackframesize + 1) & ~1;
 
        /* create method header */
 
@@ -2425,12 +2391,7 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s
        /* generate stub code */
 
        M_STMFD(1<<REG_LR, REG_SP);
-       M_SUB_IMM_EXT_MUL4(REG_SP, REG_SP, cd->stackframesize / 4 - 1);
-
-#if !defined(NDEBUG)
-       if (JITDATA_HAS_FLAG_VERBOSECALL(jd))
-               emit_verbosecall_enter(jd);
-#endif
+       M_SUB_IMM_EXT_MUL4(REG_SP, REG_SP, cd->stackframesize * 2 - 1);
 
 #if defined(ENABLE_GC_CACAO)
        /* Save callee saved integer registers in stackframeinfo (GC may
@@ -2503,7 +2464,7 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s
                        }
                }
                else {
-                       s1 = md->params[i].regoff + cd->stackframesize;
+                       s1 = md->params[i].regoff + cd->stackframesize * 8;
                        s2 = nmd->params[j].regoff;
 
                        if (IS_2_WORD_TYPE(t)) {
@@ -2561,11 +2522,6 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s
        }
 #endif
 
-#if !defined(NDEBUG)
-       if (JITDATA_HAS_FLAG_VERBOSECALL(jd))
-               emit_verbosecall_exit(jd);
-#endif
-
        /* remove native stackframe info */
        /* TODO: improve this store/load */
 
@@ -2593,7 +2549,7 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s
 
        /* finish stub code, but do not yet return to caller */
 
-       M_ADD_IMM_EXT_MUL4(REG_SP, REG_SP, cd->stackframesize / 4 - 1);
+       M_ADD_IMM_EXT_MUL4(REG_SP, REG_SP, cd->stackframesize * 2 - 1);
        M_LDMFD(1<<REG_LR, REG_SP);
 
        /* check for exception */