* src/vm/jit/codegen-common.cpp (codegen_start_native_call) [__MIPS__],
authorMichael Starzinger <michi@complang.tuwien.ac.at>
Wed, 20 May 2009 15:13:39 +0000 (17:13 +0200)
committerMichael Starzinger <michi@complang.tuwien.ac.at>
Wed, 20 May 2009 15:13:39 +0000 (17:13 +0200)
(codegen_finish_native_call) [__MIPS__]: Trace native calls implicitly now.
* src/vm/jit/mips/codegen.c (codegen_emit_stub_native): Removed explicit
calltracer code generation.

src/vm/jit/codegen-common.cpp
src/vm/jit/mips/codegen.c

index 218c2537f9b85a4c2cd314b8f1c09f0468ba06ad..d6334aeb2216e228b074ba1fa88dab8139e0bab3 100644 (file)
@@ -754,6 +754,12 @@ java_handle_t *codegen_start_native_call(u1 *sp, u1 *pv)
        /* MIPS always uses 8 bytes to store the RA */
        datasp    = sp + framesize - 8;
        javasp    = sp + framesize;
+# if SIZEOF_VOID_P == 8
+       arg_regs  = (uint64_t *) sp;
+# else
+       arg_regs  = (uint64_t *) (sp + 5 * 8);
+# endif
+       arg_stack = (uint64_t *) javasp;
 #elif defined(__S390__)
        datasp    = sp + framesize - 8;
        javasp    = sp + framesize;
@@ -793,7 +799,7 @@ java_handle_t *codegen_start_native_call(u1 *sp, u1 *pv)
 #endif
 
 #if !defined(NDEBUG)
-# if defined(__ALPHA__) || defined(__I386__) || defined(__M68K__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__S390__) || defined(__X86_64__)
+# if defined(__ALPHA__) || defined(__I386__) || defined(__M68K__) || defined(__MIPS__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__S390__) || defined(__X86_64__)
        /* print the call-trace if necesarry */
        /* BEFORE: filling the local reference table */
 
@@ -865,6 +871,11 @@ java_object_t *codegen_finish_native_call(u1 *sp, u1 *pv)
 #elif defined(__MIPS__)
        /* MIPS always uses 8 bytes to store the RA */
        datasp   = sp + framesize - 8;
+# if SIZEOF_VOID_P == 8
+       ret_regs = (uint64_t *) sp;
+# else
+       ret_regs = (uint64_t *) (sp + 1 * 8);
+# endif
 #elif defined(__S390__)
        datasp   = sp + framesize - 8;
        ret_regs = (uint64_t *) (sp + 96);
@@ -918,7 +929,7 @@ java_object_t *codegen_finish_native_call(u1 *sp, u1 *pv)
 #endif
 
 #if !defined(NDEBUG)
-# if defined(__ALPHA__) || defined(__I386__) || defined(__M68K__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__S390__) || defined(__X86_64__)
+# if defined(__ALPHA__) || defined(__I386__) || defined(__M68K__) || defined(__MIPS__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__S390__) || defined(__X86_64__)
        /* print the call-trace if necesarry */
        /* AFTER: unwrapping the return value */
 
index 890c7cd9600898496f6e833b3f290c0830c5f601..29e3a4137b9b2540c30d322f225fffcd8a8ca69e 100644 (file)
@@ -3746,11 +3746,6 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s
        M_LDA(REG_SP, REG_SP, -cd->stackframesize * 8); /* build up stackframe    */
        M_AST(REG_RA, REG_SP, (cd->stackframesize - 1) * 8); /* store RA          */
 
-#if !defined(NDEBUG)
-       if (JITDATA_HAS_FLAG_VERBOSECALL(jd))
-               emit_verbosecall_enter(jd);
-#endif
-
        /* save integer and float argument registers */
 
 #if SIZEOF_VOID_P == 8
@@ -4020,11 +4015,6 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s
                break;
        }
 
-#if !defined(NDEBUG)
-       if (JITDATA_HAS_FLAG_VERBOSECALL(jd))
-               emit_verbosecall_exit(jd);
-#endif
-
        /* remove native stackframe info */
 
        M_MOV(REG_SP, REG_A0);