| Index: src/arm/macro-assembler-arm.h | 
| diff --git a/src/arm/macro-assembler-arm.h b/src/arm/macro-assembler-arm.h | 
| index d4187857402854045c378799b01618e518acdb16..d0f770499c0ad348b1e18e224015e7aac86bb2f7 100644 | 
| --- a/src/arm/macro-assembler-arm.h | 
| +++ b/src/arm/macro-assembler-arm.h | 
| @@ -608,6 +608,9 @@ class MacroAssembler: public Assembler { | 
|  | 
| void LoadContext(Register dst, int context_chain_length); | 
|  | 
| +  // Load the global proxy from the current context. | 
| +  void LoadGlobalProxy(Register dst); | 
| + | 
| // Conditionally load the cached Array transitioned map of type | 
| // transitioned_kind from the native context if the map in register | 
| // map_in_out is the cached Array map in the native context of | 
| @@ -947,7 +950,23 @@ class MacroAssembler: public Assembler { | 
| // Compare the object in a register to a value from the root list. | 
| // Uses the ip register as scratch. | 
| void CompareRoot(Register obj, Heap::RootListIndex index); | 
| +  void PushRoot(Heap::RootListIndex index) { | 
| +    LoadRoot(ip, index); | 
| +    Push(ip); | 
| +  } | 
| + | 
| +  // Compare the object in a register to a value and jump if they are equal. | 
| +  void JumpIfRoot(Register with, Heap::RootListIndex index, Label* if_equal) { | 
| +    CompareRoot(with, index); | 
| +    b(eq, if_equal); | 
| +  } | 
|  | 
| +  // Compare the object in a register to a value and jump if they are not equal. | 
| +  void JumpIfNotRoot(Register with, Heap::RootListIndex index, | 
| +                     Label* if_not_equal) { | 
| +    CompareRoot(with, index); | 
| +    b(ne, if_not_equal); | 
| +  } | 
|  | 
| // Load and check the instance type of an object for being a string. | 
| // Loads the type into the second argument register. | 
| @@ -1288,6 +1307,9 @@ class MacroAssembler: public Assembler { | 
| // Abort execution if argument is not a name, enabled via --debug-code. | 
| void AssertName(Register object); | 
|  | 
| +  // Abort execution if argument is not a JSFunction, enabled via --debug-code. | 
| +  void AssertFunction(Register object); | 
| + | 
| // Abort execution if argument is not undefined or an AllocationSite, enabled | 
| // via --debug-code. | 
| void AssertUndefinedOrAllocationSite(Register object, Register scratch); | 
|  |