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); |