| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index 16b8bd79fb9166b59167a5a50fadd358bef5d77c..63e786b273c721ab701b25df5cd9ad8738438492 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -445,19 +445,14 @@ void MacroAssembler::TaggedToI(Register result_reg,
|
| }
|
|
|
|
|
| -
|
| -static double kUint32Bias =
|
| - static_cast<double>(static_cast<uint32_t>(0xFFFFFFFF)) + 1;
|
| -
|
| -
|
| void MacroAssembler::LoadUint32(XMMRegister dst,
|
| Register src,
|
| XMMRegister scratch) {
|
| - ASSERT(!Serializer::enabled());
|
| Label done;
|
| cmp(src, Immediate(0));
|
| - movdbl(scratch,
|
| - Operand(reinterpret_cast<int32_t>(&kUint32Bias), RelocInfo::NONE32));
|
| + ExternalReference uint32_bias =
|
| + ExternalReference::address_of_uint32_bias();
|
| + movdbl(scratch, Operand::StaticVariable(uint32_bias));
|
| Cvtsi2sd(dst, src);
|
| j(not_sign, &done, Label::kNear);
|
| addsd(dst, scratch);
|
| @@ -466,13 +461,14 @@ 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));
|
| + ExternalReference uint32_bias =
|
| + ExternalReference::address_of_uint32_bias();
|
| + fld_d(Operand::StaticVariable(uint32_bias));
|
| faddp(1);
|
| bind(&done);
|
| add(esp, Immediate(kPointerSize));
|
|
|