Browse Source

ARM/FFI: Invoke SPLIT pass for double args in FFI call.

Mike Pall 13 years ago
parent
commit
d4a09431c8
1 changed files with 2 additions and 0 deletions
  1. 2 0
      src/lj_crecord.c

+ 2 - 0
src/lj_crecord.c

@@ -802,6 +802,8 @@ static TRef crec_call_args(jit_State *J, RecordFFData *rd,
 	else
 	else
 	  tr = emitconv(tr, IRT_INT, d->size==1 ? IRT_I8 : IRT_I16,IRCONV_SEXT);
 	  tr = emitconv(tr, IRT_INT, d->size==1 ? IRT_I8 : IRT_I16,IRCONV_SEXT);
       }
       }
+    } else if (LJ_SOFTFP && ctype_isfp(d->info) && d->size > 4) {
+      lj_needsplit(J);
     }
     }
 #if LJ_TARGET_X86
 #if LJ_TARGET_X86
     /* 64 bit args must not end up in registers for fastcall/thiscall. */
     /* 64 bit args must not end up in registers for fastcall/thiscall. */