* src/vm/jit/arm/emit.c (emit_verbosecall_enter): Fixed bug with inmemory
authormichi <none@none>
Wed, 14 Mar 2007 16:44:05 +0000 (16:44 +0000)
committermichi <none@none>
Wed, 14 Mar 2007 16:44:05 +0000 (16:44 +0000)
arguments, which caused some crashes with verbose-calls.

src/vm/jit/arm/emit.c

index c5ab738d8c1429d95b25f54ce507d1abf626d7c0..20e23d9ab90e64120fb7d2652e42661009f69353 100644 (file)
@@ -691,12 +691,15 @@ void emit_verbosecall_enter(jitdata *jd)
                        }
                }
                else {
-                       s1 = md->params[i].regoff + stackframesize;
+                       s1 = REG_ITMP12_PACKED;
+                       s2 = md->params[i].regoff + stackframesize;
 
                        if (IS_2_WORD_TYPE(t))
-                               M_LLD(REG_ITMP12_PACKED, REG_SP, s1 * 4);
-                       else
-                               M_ILD(REG_ITMP1, REG_SP, s1 * 4);
+                               M_LLD(s1, REG_SP, s2 * 4);
+                       else {
+                               M_ILD(GET_LOW_REG(s1), REG_SP, s2 * 4);
+                               M_MOV_IMM(GET_HIGH_REG(s1), 0);
+                       }
                }
 
                /* place argument for tracer */