| Index: src/mips/macro-assembler-mips.cc
|
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc
|
| index bd585946f11d546bed602bd8d338b4ca1f0f1c5c..8a9029cb952703f29612a90244989a7b986c222f 100644
|
| --- a/src/mips/macro-assembler-mips.cc
|
| +++ b/src/mips/macro-assembler-mips.cc
|
| @@ -193,6 +193,7 @@ void MacroAssembler::RecordWriteHelper(Register object,
|
| sw(scratch, MemOperand(object, Page::kDirtyFlagOffset));
|
| }
|
|
|
| +
|
| // Push and pop all registers that can hold pointers.
|
| void MacroAssembler::PushSafepointRegisters() {
|
| // Safepoints expect a block of kNumSafepointRegisters values on the
|
| @@ -203,12 +204,14 @@ void MacroAssembler::PushSafepointRegisters() {
|
| MultiPush(kSafepointSavedRegisters);
|
| }
|
|
|
| +
|
| void MacroAssembler::PopSafepointRegisters() {
|
| const int num_unsaved = kNumSafepointRegisters - kNumSafepointSavedRegisters;
|
| MultiPop(kSafepointSavedRegisters);
|
| Addu(sp, sp, Operand(num_unsaved * kPointerSize));
|
| }
|
|
|
| +
|
| void MacroAssembler::PushSafepointRegistersAndDoubles() {
|
| PushSafepointRegisters();
|
| Subu(sp, sp, Operand(FPURegister::kNumAllocatableRegisters * kDoubleSize));
|
| @@ -218,6 +221,7 @@ void MacroAssembler::PushSafepointRegistersAndDoubles() {
|
| }
|
| }
|
|
|
| +
|
| void MacroAssembler::PopSafepointRegistersAndDoubles() {
|
| for (int i = 0; i < FPURegister::kNumAllocatableRegisters; i+=2) {
|
| FPURegister reg = FPURegister::FromAllocationIndex(i);
|
| @@ -227,6 +231,7 @@ void MacroAssembler::PopSafepointRegistersAndDoubles() {
|
| PopSafepointRegisters();
|
| }
|
|
|
| +
|
| void MacroAssembler::StoreToSafepointRegistersAndDoublesSlot(Register src,
|
| Register dst) {
|
| sw(src, SafepointRegistersAndDoublesSlot(dst));
|
| @@ -3027,12 +3032,12 @@ MaybeObject* MacroAssembler::TryCallStub(CodeStub* stub, Condition cond,
|
| }
|
|
|
|
|
| -
|
| void MacroAssembler::TailCallStub(CodeStub* stub) {
|
| ASSERT(allow_stub_calls()); // Stub calls are not allowed in some stubs.
|
| Jump(stub->GetCode(), RelocInfo::CODE_TARGET);
|
| }
|
|
|
| +
|
| MaybeObject* MacroAssembler::TryTailCallStub(CodeStub* stub,
|
| Condition cond,
|
| Register r1,
|
| @@ -3353,6 +3358,7 @@ void MacroAssembler::TailCallExternalReference(const ExternalReference& ext,
|
| JumpToExternalReference(ext);
|
| }
|
|
|
| +
|
| MaybeObject* MacroAssembler::TryTailCallExternalReference(
|
| const ExternalReference& ext, int num_arguments, int result_size) {
|
| // TODO(1236192): Most runtime routines don't need the number of
|
| @@ -3758,6 +3764,7 @@ int MacroAssembler::ActivationFrameAlignment() {
|
| #endif // defined(V8_HOST_ARCH_MIPS)
|
| }
|
|
|
| +
|
| void MacroAssembler::AssertStackIsAligned() {
|
| if (emit_debug_code()) {
|
| const int frame_alignment = ActivationFrameAlignment();
|
|
|