зеркало из https://github.com/mozilla/pjs.git
nanojit/Nativei386.cpp: asm_load64 for i386 wasn't properly copying the loaded value into the stack frames in all cases for non-sse2 path. (r=edwsmith, bug=534613)
--HG-- extra : convert_revision : 107017b4c232e89e4ecb11ef69c11747644a6dc3
This commit is contained in:
Родитель
1189e52a80
Коммит
dbcb6b48e3
|
@ -617,11 +617,16 @@ namespace nanojit
|
|||
{
|
||||
NanoAssert(rmask(rr)&x87Regs);
|
||||
_allocator.retire(rr);
|
||||
// Be sure to shadow the value onto our local area if there's space for it,
|
||||
// but don't pop the FP stack, we expect the register to stay valid.
|
||||
if (dr)
|
||||
FSTQ(0,dr, FP);
|
||||
FLD32(db, rb);
|
||||
}
|
||||
else
|
||||
{
|
||||
// need to use fpu to expand 32->64
|
||||
// We need to use fpu to expand 32->64, can't use asm_mmq...
|
||||
// just load-and-store-with-pop.
|
||||
NanoAssert(dr != 0);
|
||||
FSTPQ(dr, FP);
|
||||
FLD32(db, rb);
|
||||
|
|
Загрузка…
Ссылка в новой задаче