| Index: src/mips/macro-assembler-mips.cc
|
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc
|
| index 32dce660d8ccdc1f2337f14f87cc04acd2ef5b7f..36c4f45730ceb0ad547dc10b4c23b94ce5e00d18 100644
|
| --- a/src/mips/macro-assembler-mips.cc
|
| +++ b/src/mips/macro-assembler-mips.cc
|
| @@ -3610,7 +3610,7 @@ void MacroAssembler::InvokeFunction(Register function,
|
| }
|
|
|
|
|
| -void MacroAssembler::InvokeFunction(JSFunction* function,
|
| +void MacroAssembler::InvokeFunction(Handle<JSFunction> function,
|
| const ParameterCount& actual,
|
| InvokeFlag flag,
|
| CallKind call_kind) {
|
| @@ -3618,7 +3618,7 @@ void MacroAssembler::InvokeFunction(JSFunction* function,
|
| ASSERT(flag == JUMP_FUNCTION || has_frame());
|
|
|
| // Get the function and setup the context.
|
| - li(a1, Operand(Handle<JSFunction>(function)));
|
| + li(a1, Operand(function));
|
| lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset));
|
|
|
| ParameterCount expected(function->shared()->formal_parameter_count());
|
| @@ -3739,45 +3739,19 @@ void MacroAssembler::CallStub(CodeStub* stub, Condition cond,
|
| }
|
|
|
|
|
| -MaybeObject* MacroAssembler::TryCallStub(CodeStub* stub, Condition cond,
|
| - Register r1, const Operand& r2) {
|
| - ASSERT(AllowThisStubCall(stub)); // Stub calls are not allowed in some stubs.
|
| - Object* result;
|
| - { MaybeObject* maybe_result = stub->TryGetCode();
|
| - if (!maybe_result->ToObject(&result)) return maybe_result;
|
| - }
|
| - Call(Handle<Code>(Code::cast(result)), RelocInfo::CODE_TARGET,
|
| - kNoASTId, cond, r1, r2);
|
| - return result;
|
| -}
|
| -
|
| -
|
| void MacroAssembler::TailCallStub(CodeStub* stub) {
|
| ASSERT(allow_stub_calls_ || stub->CompilingCallsToThisStubIsGCSafe());
|
| Jump(stub->GetCode(), RelocInfo::CODE_TARGET);
|
| }
|
|
|
|
|
| -MaybeObject* MacroAssembler::TryTailCallStub(CodeStub* stub,
|
| - Condition cond,
|
| - Register r1,
|
| - const Operand& r2) {
|
| - Object* result;
|
| - { MaybeObject* maybe_result = stub->TryGetCode();
|
| - if (!maybe_result->ToObject(&result)) return maybe_result;
|
| - }
|
| - Jump(Handle<Code>(Code::cast(result)), RelocInfo::CODE_TARGET, cond, r1, r2);
|
| - return result;
|
| -}
|
| -
|
| -
|
| static int AddressOffset(ExternalReference ref0, ExternalReference ref1) {
|
| return ref0.address() - ref1.address();
|
| }
|
|
|
|
|
| -MaybeObject* MacroAssembler::TryCallApiFunctionAndReturn(
|
| - ExternalReference function, int stack_space) {
|
| +void MacroAssembler::CallApiFunctionAndReturn(ExternalReference function,
|
| + int stack_space) {
|
| ExternalReference next_address =
|
| ExternalReference::handle_scope_next_address();
|
| const int kNextOffset = 0;
|
| @@ -3848,11 +3822,10 @@ MaybeObject* MacroAssembler::TryCallApiFunctionAndReturn(
|
| Ret();
|
|
|
| bind(&promote_scheduled_exception);
|
| - MaybeObject* result = TryTailCallExternalReference(
|
| - ExternalReference(Runtime::kPromoteScheduledException, isolate()), 0, 1);
|
| - if (result->IsFailure()) {
|
| - return result;
|
| - }
|
| + TailCallExternalReference(
|
| + ExternalReference(Runtime::kPromoteScheduledException, isolate()),
|
| + 0,
|
| + 1);
|
|
|
| // HandleScope limit has changed. Delete allocated extensions.
|
| bind(&delete_allocated_handles);
|
| @@ -3865,8 +3838,6 @@ MaybeObject* MacroAssembler::TryCallApiFunctionAndReturn(
|
| 1);
|
| mov(v0, s0);
|
| jmp(&leave_exit_frame);
|
| -
|
| - return result;
|
| }
|
|
|
|
|
| @@ -4089,17 +4060,6 @@ void MacroAssembler::TailCallExternalReference(const ExternalReference& ext,
|
| }
|
|
|
|
|
| -MaybeObject* MacroAssembler::TryTailCallExternalReference(
|
| - const ExternalReference& ext, int num_arguments, int result_size) {
|
| - // TODO(1236192): Most runtime routines don't need the number of
|
| - // arguments passed in because it is constant. At some point we
|
| - // should remove this need and make the runtime routine entry code
|
| - // smarter.
|
| - li(a0, num_arguments);
|
| - return TryJumpToExternalReference(ext);
|
| -}
|
| -
|
| -
|
| void MacroAssembler::TailCallRuntime(Runtime::FunctionId fid,
|
| int num_arguments,
|
| int result_size) {
|
| @@ -4116,14 +4076,6 @@ void MacroAssembler::JumpToExternalReference(const ExternalReference& builtin) {
|
| }
|
|
|
|
|
| -MaybeObject* MacroAssembler::TryJumpToExternalReference(
|
| - const ExternalReference& builtin) {
|
| - li(a1, Operand(builtin));
|
| - CEntryStub stub(1);
|
| - return TryTailCallStub(&stub);
|
| -}
|
| -
|
| -
|
| void MacroAssembler::InvokeBuiltin(Builtins::JavaScript id,
|
| InvokeFlag flag,
|
| const CallWrapper& call_wrapper) {
|
|
|