| Index: src/arm64/assembler-arm64-inl.h | 
| diff --git a/src/arm64/assembler-arm64-inl.h b/src/arm64/assembler-arm64-inl.h | 
| index d11e71c87f0127e48715b1441e5bd8d57d7c9a5d..5cc1095f9ed8629b28d52c66e3d2c85a155fe4af 100644 | 
| --- a/src/arm64/assembler-arm64-inl.h | 
| +++ b/src/arm64/assembler-arm64-inl.h | 
| @@ -310,7 +310,6 @@ Immediate::Immediate(T t, RelocInfo::Mode rmode) | 
| STATIC_ASSERT(ImmediateInitializer<T>::kIsIntType); | 
| } | 
|  | 
| - | 
| // Operand. | 
| template<typename T> | 
| Operand::Operand(Handle<T> value) : immediate_(value), reg_(NoReg) {} | 
| @@ -325,7 +324,6 @@ Operand::Operand(T t, RelocInfo::Mode rmode) | 
| : immediate_(t, rmode), | 
| reg_(NoReg) {} | 
|  | 
| - | 
| Operand::Operand(Register reg, Shift shift, unsigned shift_amount) | 
| : immediate_(0), | 
| reg_(reg), | 
| @@ -354,7 +352,7 @@ Operand::Operand(Register reg, Extend extend, unsigned shift_amount) | 
|  | 
|  | 
| bool Operand::IsImmediate() const { | 
| -  return reg_.Is(NoReg); | 
| +  return reg_.Is(NoReg) && !is_heap_number(); | 
| } | 
|  | 
|  | 
|  |