Index: src/mips64/macro-assembler-mips64.h |
diff --git a/src/mips64/macro-assembler-mips64.h b/src/mips64/macro-assembler-mips64.h |
index 17e0857ba59d905ffb7203741d7be7965c1d60ae..b374d43b797742b54f33bf2b547c23561cf3d776 100644 |
--- a/src/mips64/macro-assembler-mips64.h |
+++ b/src/mips64/macro-assembler-mips64.h |
@@ -313,6 +313,24 @@ class MacroAssembler: public Assembler { |
void Load(Register dst, const MemOperand& src, Representation r); |
void Store(Register src, const MemOperand& dst, Representation r); |
+ void PushRoot(Heap::RootListIndex index) { |
+ LoadRoot(at, index); |
+ Push(at); |
+ } |
+ |
+ // 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) { |
+ LoadRoot(at, index); |
+ Branch(if_equal, eq, with, Operand(at)); |
+ } |
+ |
+ // 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) { |
+ LoadRoot(at, index); |
+ Branch(if_not_equal, ne, with, Operand(at)); |
+ } |
+ |
// Load an object from the root table. |
void LoadRoot(Register destination, |
Heap::RootListIndex index); |
@@ -953,6 +971,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 |
@@ -1557,6 +1578,9 @@ const Operand& rt = Operand(zero_reg), BranchDelaySlot bd = PROTECT |
// 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); |