Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index 63feb828407b11f8c39bfeda27bceeb898d5824a..cce88d8cc7f2b7ba25a8e064cc23508881c986e6 100644 |
--- a/src/x64/macro-assembler-x64.h |
+++ b/src/x64/macro-assembler-x64.h |
@@ -148,6 +148,21 @@ class MacroAssembler: public Assembler { |
void CompareRoot(const Operand& with, Heap::RootListIndex index); |
void PushRoot(Heap::RootListIndex index); |
+ // 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, |
+ 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, |
+ 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 |
// exclude up to 3 registers that do not need to be saved and restored. |
@@ -1101,6 +1116,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); |
@@ -1253,6 +1271,9 @@ class MacroAssembler: public Assembler { |
// Find the function context up the context chain. |
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 |