* src/vm/jit/arm/codegen.c (createnativestub) [!__ARM_EABI__]:
authortwisti <none@none>
Tue, 13 Feb 2007 23:14:35 +0000 (23:14 +0000)
committertwisti <none@none>
Tue, 13 Feb 2007 23:14:35 +0000 (23:14 +0000)
#ifdef'ed split-stuff.
* src/vm/jit/arm/md-abi.c (md_param_alloc_native) [!__ARM_EABI__]:
Added GNU EABI stuff.

src/vm/jit/arm/codegen.c
src/vm/jit/arm/md-abi.c

index 7e7d72cdabe7abf05c00a5d4044d65de44d5bc97..3e803686aa7e281a954af1bc251f726231c3a37b 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: codegen.c 7276 2007-02-02 11:58:18Z michi $
+   $Id: codegen.c 7353 2007-02-13 23:14:35Z twisti $
 
 */
 
@@ -2963,21 +2963,29 @@ u1 *createnativestub(functionptr f, jitdata *jd, methoddesc *nmd)
 
                        if (!nmd->params[j].inmemory) {
                                s2 = ARGUMENT_REGS(t, nmd->params[j].regoff);
+
+#if !defined(__ARM_EABI__)
                                SPLIT_OPEN(t, s1, REG_ITMP1);
                                SPLIT_LOAD(t, s1, cd->stackframesize);
                                SPLIT_OPEN(t, s2, REG_ITMP1);
+#endif
 
                                if (IS_2_WORD_TYPE(t))
                                        M_LNGMOVE(s1, s2);
                                else
                                        M_INTMOVE(s1, s2);
 
+#if !defined(__ARM_EABI__)
                                SPLIT_STORE_AND_CLOSE(t, s2, 0);
+#endif
                        }
                        else {
                                s2 = nmd->params[j].regoff;
+
+#if !defined(__ARM_EABI__)
                                SPLIT_OPEN(t, s1, REG_ITMP1);
                                SPLIT_LOAD(t, s1, cd->stackframesize);
+#endif
 
                                if (IS_2_WORD_TYPE(t))
                                        M_LST(s1, REG_SP, s2 * 4);
index 091f0b02e74ef05d66efc959586ade29c0406d3d..49d6dc906f87238cf8cd931398e78a900ce2c680 100644 (file)
@@ -22,7 +22,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: md-abi.c 7333 2007-02-11 22:17:27Z twisti $
+   $Id: md-abi.c 7353 2007-02-13 23:14:35Z twisti $
 
 */
 
@@ -224,22 +224,25 @@ void md_param_alloc_native(methoddesc *md)
 #endif
                                reguse += 2;
                        }
+#if !defined(__ARM_EABI__)
                        else if (reguse < INT_ARG_CNT) {
                                pd->inmemory = false;
-#if defined(__ARMEL__)
+# if defined(__ARMEL__)
                                pd->regoff   = PACK_REGS(reguse, INT_ARG_CNT);
-#else
+# else
                                pd->regoff   = PACK_REGS(INT_ARG_CNT, reguse);
-#endif
+# endif
                                reguse++;
                                stacksize++;
                        }
+#endif
                        else {
 #if defined(__ARM_EABI__)
                                ALIGN_2(stacksize);
 #endif
                                pd->inmemory  = true;
                                pd->regoff    = stacksize;
+                               reguse        = INT_ARG_CNT;
                                stacksize    += 2;
                        }
                        break;