X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=cacao.git;a=blobdiff_plain;f=src%2Fvm%2Fjit%2Farm%2Fcodegen.c;h=b82661a1d997e17bfb0d2ea77f5961f1c8d4f72a;hp=f96ee749c441bcf2d081eb4fab84f6121053786f;hb=278063eaf49b3b3fc68b40cc7fc4172a065f4e99;hpb=4ace3f4e68529dcf1572e56eace426ad26feed8b diff --git a/src/vm/jit/arm/codegen.c b/src/vm/jit/arm/codegen.c index f96ee749c..b82661a1d 100644 --- a/src/vm/jit/arm/codegen.c +++ b/src/vm/jit/arm/codegen.c @@ -1708,28 +1708,6 @@ void codegen_emit_instruction(jitdata* jd, instruction* iptr) M_MOV(REG_LR, REG_PC); M_MOV(REG_PC, REG_PV); -#if !defined(__SOFTFP__) - d = md->returntype.type; - - /* TODO: this is only a hack, since we use R0/R1 for float - return! this depends on gcc; it is independent from - our ENABLE_SOFTFLOAT define */ - if (d != TYPE_VOID && IS_FLT_DBL_TYPE(d)) { -#if 0 && !defined(NDEBUG) - dolog("BUILTIN that returns float or double (%s.%s)", m->clazz->name->text, m->name->text); -#endif - /* we cannot use this macro, since it is not defined - in ENABLE_SOFTFLOAT M_CAST_FLT_TO_INT_TYPED(d, - REG_FRESULT, REG_RESULT_TYPED(d)); */ - if (IS_2_WORD_TYPE(d)) { - DCD(0xed2d8102); /* stfd f0, [sp, #-8]! */ - M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8); - } else { - DCD(0xed2d0101); /* stfs f0, [sp, #-4]!*/ - M_LDR_UPDATE(REG_RESULT, REG_SP, 4); - } - } -#endif break; case ICMD_INVOKESPECIAL: @@ -2507,25 +2485,6 @@ void codegen_emit_stub_native(jitdata *jd, methoddesc *nmd, functionptr f, int s emit_recompute_pv(cd); -#if !defined(__SOFTFP__) - /* TODO: this is only a hack, since we use R0/R1 for float return! */ - /* this depends on gcc; it is independent from our ENABLE_SOFTFLOAT define */ - if (md->returntype.type != TYPE_VOID && IS_FLT_DBL_TYPE(md->returntype.type)) { -#if 0 && !defined(NDEBUG) - dolog("NATIVESTUB that returns float or double (%s.%s)", m->clazz->name->text, m->name->text); -#endif - /* we cannot use this macro, since it is not defined in ENABLE_SOFTFLOAT */ - /* M_CAST_FLT_TO_INT_TYPED(md->returntype.type, REG_FRESULT, REG_RESULT_TYPED(md->returntype.type)); */ - if (IS_2_WORD_TYPE(md->returntype.type)) { - DCD(0xed2d8102); /* stfd f0, [sp, #-8]! */ - M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8); - } else { - DCD(0xed2d0101); /* stfs f0, [sp, #-4]!*/ - M_LDR_UPDATE(REG_RESULT, REG_SP, 4); - } - } -#endif - /* remove native stackframe info */ /* TODO: improve this store/load */