Bug 1372883: wasm baseline: don't read returned values from x87 FPU stack on x86; r=lth

MozReview-Commit-ID: L2ovA8EXqy1

--HG--
extra : rebase_source : efc48ad1244dbb298eec937d738eb32d7a37e247
extra : amend_source : f8577e6f60e51df6733f0ab2422b1ce16c12ab8a
This commit is contained in:
Benjamin Bouvier 2017-06-14 16:46:29 +02:00
Родитель 531bc552f1
Коммит 6d50d62258
1 изменённых файлов: 2 добавлений и 18 удалений

Просмотреть файл

@ -2747,15 +2747,7 @@ class BaseCompiler
RegF32 rv = RegF32(ReturnFloat32Reg);
MOZ_ASSERT(isAvailable(rv));
needF32(rv);
#if defined(JS_CODEGEN_X86)
if (call.usesSystemAbi) {
masm.reserveStack(sizeof(float));
Operand op(esp, 0);
masm.fstp32(op);
masm.loadFloat32(op, rv);
masm.freeStack(sizeof(float));
}
#elif defined(JS_CODEGEN_ARM)
#if defined(JS_CODEGEN_ARM)
if (call.usesSystemAbi && !call.hardFP)
masm.ma_vxfer(r0, rv);
#endif
@ -2766,15 +2758,7 @@ class BaseCompiler
RegF64 rv = RegF64(ReturnDoubleReg);
MOZ_ASSERT(isAvailable(rv));
needF64(rv);
#if defined(JS_CODEGEN_X86)
if (call.usesSystemAbi) {
masm.reserveStack(sizeof(double));
Operand op(esp, 0);
masm.fstp(op);
masm.loadDouble(op, rv);
masm.freeStack(sizeof(double));
}
#elif defined(JS_CODEGEN_ARM)
#if defined(JS_CODEGEN_ARM)
if (call.usesSystemAbi && !call.hardFP)
masm.ma_vxfer(r0, r1, rv);
#endif