| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index 64b5683446038137855436a37a9b172809d19b23..16b8bd79fb9166b59167a5a50fadd358bef5d77c 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -253,8 +253,8 @@ void MacroAssembler::X87TOSToI(Register result_reg,
|
| Label::Distance dst) {
|
| Label done;
|
| sub(esp, Immediate(kPointerSize));
|
| - fist_s(MemOperand(esp, 0));
|
| fld(0);
|
| + fist_s(MemOperand(esp, 0));
|
| fild_s(MemOperand(esp, 0));
|
| pop(result_reg);
|
| FCmp();
|
| @@ -453,6 +453,7 @@ static double kUint32Bias =
|
| void MacroAssembler::LoadUint32(XMMRegister dst,
|
| Register src,
|
| XMMRegister scratch) {
|
| + ASSERT(!Serializer::enabled());
|
| Label done;
|
| cmp(src, Immediate(0));
|
| movdbl(scratch,
|
| @@ -464,6 +465,20 @@ void MacroAssembler::LoadUint32(XMMRegister dst,
|
| }
|
|
|
|
|
| +void MacroAssembler::LoadUint32NoSSE2(Register src) {
|
| + ASSERT(!Serializer::enabled());
|
| + Label done;
|
| + push(src);
|
| + fild_s(Operand(esp, 0));
|
| + cmp(src, Immediate(0));
|
| + j(not_sign, &done, Label::kNear);
|
| + fld_d(Operand(reinterpret_cast<int32_t>(&kUint32Bias), RelocInfo::NONE32));
|
| + faddp(1);
|
| + bind(&done);
|
| + add(esp, Immediate(kPointerSize));
|
| +}
|
| +
|
| +
|
| void MacroAssembler::RecordWriteArray(Register object,
|
| Register value,
|
| Register index,
|
|
|