Index: src/mips/macro-assembler-mips.h |
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h |
index 5e1d2c6253c2022fad0ab860ec85bde1f13c580e..96eb9b4105d3b2740dbb722b8753539de0bbf1a1 100644 |
--- a/src/mips/macro-assembler-mips.h |
+++ b/src/mips/macro-assembler-mips.h |
@@ -292,6 +292,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); |
@@ -923,6 +941,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 |
@@ -1464,6 +1485,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); |