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