| Index: src/x64/macro-assembler-x64.h | 
| diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h | 
| index 6408e6d6f76e25ad67802797d277c25fdab93442..dbf46782a4dff046b88c6a055cc54aad9fae6f07 100644 | 
| --- a/src/x64/macro-assembler-x64.h | 
| +++ b/src/x64/macro-assembler-x64.h | 
| @@ -153,6 +153,12 @@ class MacroAssembler: public Assembler { | 
| CompareRoot(with, index); | 
| j(equal, if_equal, if_equal_distance); | 
| } | 
| +  void JumpIfRoot(const Operand& with, Heap::RootListIndex index, | 
| +                  Label* if_equal, | 
| +                  Label::Distance if_equal_distance = Label::kNear) { | 
| +    CompareRoot(with, index); | 
| +    j(equal, if_equal, if_equal_distance); | 
| +  } | 
|  | 
| // Compare the object in a register to a value and jump if they are not equal. | 
| void JumpIfNotRoot(Register with, Heap::RootListIndex index, | 
| @@ -161,6 +167,12 @@ class MacroAssembler: public Assembler { | 
| CompareRoot(with, index); | 
| j(not_equal, if_not_equal, if_not_equal_distance); | 
| } | 
| +  void JumpIfNotRoot(const Operand& with, Heap::RootListIndex index, | 
| +                     Label* if_not_equal, | 
| +                     Label::Distance if_not_equal_distance = Label::kNear) { | 
| +    CompareRoot(with, index); | 
| +    j(not_equal, if_not_equal, if_not_equal_distance); | 
| +  } | 
|  | 
| // These functions do not arrange the registers in any particular order so | 
| // they are not useful for calls that can cause a GC.  The caller can | 
|  |