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