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