| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index a87b2425fbbc0b1798a3f4e07d739e0a0f828849..25ec35eb2c944771ea65268bac66981bf8f013f4 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -743,13 +743,13 @@ void MacroAssembler::SarPair_cl(Register high, Register low) {
|
| bool MacroAssembler::IsUnsafeImmediate(const Immediate& x) {
|
| static const int kMaxImmediateBits = 17;
|
| if (!RelocInfo::IsNone(x.rmode_)) return false;
|
| - return !is_intn(x.x_, kMaxImmediateBits);
|
| + return !is_intn(x.immediate(), kMaxImmediateBits);
|
| }
|
|
|
|
|
| void MacroAssembler::SafeMove(Register dst, const Immediate& x) {
|
| if (IsUnsafeImmediate(x) && jit_cookie() != 0) {
|
| - Move(dst, Immediate(x.x_ ^ jit_cookie()));
|
| + Move(dst, Immediate(x.immediate() ^ jit_cookie()));
|
| xor_(dst, jit_cookie());
|
| } else {
|
| Move(dst, x);
|
| @@ -759,7 +759,7 @@ void MacroAssembler::SafeMove(Register dst, const Immediate& x) {
|
|
|
| void MacroAssembler::SafePush(const Immediate& x) {
|
| if (IsUnsafeImmediate(x) && jit_cookie() != 0) {
|
| - push(Immediate(x.x_ ^ jit_cookie()));
|
| + push(Immediate(x.immediate() ^ jit_cookie()));
|
| xor_(Operand(esp, 0), Immediate(jit_cookie()));
|
| } else {
|
| push(x);
|
| @@ -2052,7 +2052,7 @@ void MacroAssembler::Move(Register dst, Register src) {
|
|
|
|
|
| void MacroAssembler::Move(Register dst, const Immediate& x) {
|
| - if (x.is_zero() && RelocInfo::IsNone(x.rmode_)) {
|
| + if (!x.is_heap_number() && x.is_zero() && RelocInfo::IsNone(x.rmode_)) {
|
| xor_(dst, dst); // Shorter than mov of 32-bit immediate 0.
|
| } else {
|
| mov(dst, x);
|
|
|