From 7262894d764617098215c604a8ee8fcb96942e7f Mon Sep 17 00:00:00 2001 From: Michael Starzinger Date: Wed, 20 May 2009 17:13:39 +0200 Subject: [PATCH] * src/vm/jit/codegen-common.cpp (codegen_start_native_call) [__MIPS__], (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 | 15 +++++++++++++-- src/vm/jit/mips/codegen.c | 10 ---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/vm/jit/codegen-common.cpp b/src/vm/jit/codegen-common.cpp index 218c2537f..d6334aeb2 100644 --- a/src/vm/jit/codegen-common.cpp +++ b/src/vm/jit/codegen-common.cpp @@ -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 */ diff --git a/src/vm/jit/mips/codegen.c b/src/vm/jit/mips/codegen.c index 890c7cd96..29e3a4137 100644 --- a/src/vm/jit/mips/codegen.c +++ b/src/vm/jit/mips/codegen.c @@ -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); -- 2.25.1