Bug 524587 - remove softfloat guards, restore CodeAlloc ref-ptr, r=gal.

--HG--
extra : rebase_source : b7bca87acdd97bf8f0598c6069f7094a16488eb8
This commit is contained in:
Graydon Hoare 2009-10-27 15:24:12 -07:00
parent 7a8d396e51
commit a87bf773fa
4 changed files with 8 additions and 16 deletions

View File

@ -1038,7 +1038,6 @@ namespace nanojit
asm_arith(ins);
break;
}
#ifndef NJ_SOFTFLOAT
case LIR_fneg:
{
countlir_fpu();
@ -1073,7 +1072,6 @@ namespace nanojit
asm_promote(ins);
break;
}
#endif // NJ_SOFTFLOAT
case LIR_sti:
{
countlir_st();
@ -1220,7 +1218,6 @@ namespace nanojit
break;
}
#ifndef NJ_SOFTFLOAT
case LIR_feq:
case LIR_fle:
case LIR_flt:
@ -1231,7 +1228,6 @@ namespace nanojit
asm_fcond(ins);
break;
}
#endif
case LIR_eq:
case LIR_ov:
case LIR_le:
@ -1259,9 +1255,7 @@ namespace nanojit
break;
}
#ifndef NJ_SOFTFLOAT
case LIR_fcall:
#endif
#ifdef NANOJIT_64BIT
case LIR_qcall:
#endif
@ -1269,14 +1263,12 @@ namespace nanojit
{
countlir_call();
Register rr = UnknownReg;
#ifndef NJ_SOFTFLOAT
if (op == LIR_fcall)
if (ARM_VFP && op == LIR_fcall)
{
// fcall
rr = asm_prep_fcall(getresv(ins), ins);
}
else
#endif
{
rr = retRegs[0];
prepResultReg(ins, rmask(rr));

View File

@ -244,7 +244,7 @@ namespace nanojit
#if defined NANOJIT_ARM && defined UNDER_CE
// Use a single flush for the whole CodeList, when we have no
// finer-granularity flush support, as on WinCE.
void CodeAlloc::flushICache(CodeList*) {
void CodeAlloc::flushICache(CodeList* &/*blocks*/) {
FlushInstructionCache(GetCurrentProcess(), NULL, NULL);
}
#else

View File

@ -971,10 +971,8 @@ namespace nanojit
ArgSize sizes[MAXARGS];
int32_t argc = ci->get_sizes(sizes);
#ifdef NJ_SOFTFLOAT
if (!ARM_VFP && (op == LIR_fcall || op == LIR_qcall))
op = LIR_callh;
#endif
NanoAssert(argc <= (int)MAXARGS);

View File

@ -39,10 +39,12 @@
#include "VMPI.h"
#ifdef AVMPLUS_ARM
#define ARM_ARCH config.arch
#define ARM_VFP config.vfp
#define ARM_THUMB2 config.thumb2
#define ARM_ARCH AvmCore::config.arch
#define ARM_VFP AvmCore::config.vfp
#define ARM_THUMB2 AvmCore::config.thumb2
#else
#define ARM_VFP 1
#define ARM_THUMB2 1
#endif
#if !defined(AVMPLUS_LITTLE_ENDIAN) && !defined(AVMPLUS_BIG_ENDIAN)