| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index 38ab0e9a183fcf01539ae4617b73b85393bbe2a2..89e6f83df4dbf42cf6f0472a6e236ea6cc3dc51d 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -1096,20 +1096,6 @@ void MacroAssembler::MovFromFloatParameter(DwVfpRegister dst) {
|
| }
|
|
|
|
|
| -void MacroAssembler::SetCallKind(Register dst, CallKind call_kind) {
|
| - // This macro takes the dst register to make the code more readable
|
| - // at the call sites. However, the dst register has to be r5 to
|
| - // follow the calling convention which requires the call type to be
|
| - // in r5.
|
| - ASSERT(dst.is(r5));
|
| - if (call_kind == CALL_AS_FUNCTION) {
|
| - mov(dst, Operand(Smi::FromInt(1)));
|
| - } else {
|
| - mov(dst, Operand(Smi::FromInt(0)));
|
| - }
|
| -}
|
| -
|
| -
|
| void MacroAssembler::InvokePrologue(const ParameterCount& expected,
|
| const ParameterCount& actual,
|
| Handle<Code> code_constant,
|
| @@ -1117,8 +1103,7 @@ void MacroAssembler::InvokePrologue(const ParameterCount& expected,
|
| Label* done,
|
| bool* definitely_mismatches,
|
| InvokeFlag flag,
|
| - const CallWrapper& call_wrapper,
|
| - CallKind call_kind) {
|
| + const CallWrapper& call_wrapper) {
|
| bool definitely_matches = false;
|
| *definitely_mismatches = false;
|
| Label regular_invoke;
|
| @@ -1176,14 +1161,12 @@ void MacroAssembler::InvokePrologue(const ParameterCount& expected,
|
| isolate()->builtins()->ArgumentsAdaptorTrampoline();
|
| if (flag == CALL_FUNCTION) {
|
| call_wrapper.BeforeCall(CallSize(adaptor));
|
| - SetCallKind(r5, call_kind);
|
| Call(adaptor);
|
| call_wrapper.AfterCall();
|
| if (!*definitely_mismatches) {
|
| b(done);
|
| }
|
| } else {
|
| - SetCallKind(r5, call_kind);
|
| Jump(adaptor, RelocInfo::CODE_TARGET);
|
| }
|
| bind(®ular_invoke);
|
| @@ -1195,8 +1178,7 @@ void MacroAssembler::InvokeCode(Register code,
|
| const ParameterCount& expected,
|
| const ParameterCount& actual,
|
| InvokeFlag flag,
|
| - const CallWrapper& call_wrapper,
|
| - CallKind call_kind) {
|
| + const CallWrapper& call_wrapper) {
|
| // You can't call a function without a valid frame.
|
| ASSERT(flag == JUMP_FUNCTION || has_frame());
|
|
|
| @@ -1204,16 +1186,14 @@ void MacroAssembler::InvokeCode(Register code,
|
| bool definitely_mismatches = false;
|
| InvokePrologue(expected, actual, Handle<Code>::null(), code,
|
| &done, &definitely_mismatches, flag,
|
| - call_wrapper, call_kind);
|
| + call_wrapper);
|
| if (!definitely_mismatches) {
|
| if (flag == CALL_FUNCTION) {
|
| call_wrapper.BeforeCall(CallSize(code));
|
| - SetCallKind(r5, call_kind);
|
| Call(code);
|
| call_wrapper.AfterCall();
|
| } else {
|
| ASSERT(flag == JUMP_FUNCTION);
|
| - SetCallKind(r5, call_kind);
|
| Jump(code);
|
| }
|
|
|
| @@ -1228,8 +1208,7 @@ void MacroAssembler::InvokeCode(Handle<Code> code,
|
| const ParameterCount& expected,
|
| const ParameterCount& actual,
|
| RelocInfo::Mode rmode,
|
| - InvokeFlag flag,
|
| - CallKind call_kind) {
|
| + InvokeFlag flag) {
|
| // You can't call a function without a valid frame.
|
| ASSERT(flag == JUMP_FUNCTION || has_frame());
|
|
|
| @@ -1237,13 +1216,11 @@ void MacroAssembler::InvokeCode(Handle<Code> code,
|
| bool definitely_mismatches = false;
|
| InvokePrologue(expected, actual, code, no_reg,
|
| &done, &definitely_mismatches, flag,
|
| - NullCallWrapper(), call_kind);
|
| + NullCallWrapper());
|
| if (!definitely_mismatches) {
|
| if (flag == CALL_FUNCTION) {
|
| - SetCallKind(r5, call_kind);
|
| Call(code, rmode);
|
| } else {
|
| - SetCallKind(r5, call_kind);
|
| Jump(code, rmode);
|
| }
|
|
|
| @@ -1257,8 +1234,7 @@ void MacroAssembler::InvokeCode(Handle<Code> code,
|
| void MacroAssembler::InvokeFunction(Register fun,
|
| const ParameterCount& actual,
|
| InvokeFlag flag,
|
| - const CallWrapper& call_wrapper,
|
| - CallKind call_kind) {
|
| + const CallWrapper& call_wrapper) {
|
| // You can't call a function without a valid frame.
|
| ASSERT(flag == JUMP_FUNCTION || has_frame());
|
|
|
| @@ -1278,7 +1254,7 @@ void MacroAssembler::InvokeFunction(Register fun,
|
| FieldMemOperand(r1, JSFunction::kCodeEntryOffset));
|
|
|
| ParameterCount expected(expected_reg);
|
| - InvokeCode(code_reg, expected, actual, flag, call_wrapper, call_kind);
|
| + InvokeCode(code_reg, expected, actual, flag, call_wrapper);
|
| }
|
|
|
|
|
| @@ -1286,8 +1262,7 @@ void MacroAssembler::InvokeFunction(Register function,
|
| const ParameterCount& expected,
|
| const ParameterCount& actual,
|
| InvokeFlag flag,
|
| - const CallWrapper& call_wrapper,
|
| - CallKind call_kind) {
|
| + const CallWrapper& call_wrapper) {
|
| // You can't call a function without a valid frame.
|
| ASSERT(flag == JUMP_FUNCTION || has_frame());
|
|
|
| @@ -1301,7 +1276,7 @@ void MacroAssembler::InvokeFunction(Register function,
|
| // allow recompilation to take effect without changing any of the
|
| // call sites.
|
| ldr(r3, FieldMemOperand(r1, JSFunction::kCodeEntryOffset));
|
| - InvokeCode(r3, expected, actual, flag, call_wrapper, call_kind);
|
| + InvokeCode(r3, expected, actual, flag, call_wrapper);
|
| }
|
|
|
|
|
| @@ -1309,10 +1284,9 @@ void MacroAssembler::InvokeFunction(Handle<JSFunction> function,
|
| const ParameterCount& expected,
|
| const ParameterCount& actual,
|
| InvokeFlag flag,
|
| - const CallWrapper& call_wrapper,
|
| - CallKind call_kind) {
|
| + const CallWrapper& call_wrapper) {
|
| Move(r1, function);
|
| - InvokeFunction(r1, expected, actual, flag, call_wrapper, call_kind);
|
| + InvokeFunction(r1, expected, actual, flag, call_wrapper);
|
| }
|
|
|
|
|
| @@ -2759,12 +2733,10 @@ void MacroAssembler::InvokeBuiltin(Builtins::JavaScript id,
|
| GetBuiltinEntry(r2, id);
|
| if (flag == CALL_FUNCTION) {
|
| call_wrapper.BeforeCall(CallSize(r2));
|
| - SetCallKind(r5, CALL_AS_METHOD);
|
| Call(r2);
|
| call_wrapper.AfterCall();
|
| } else {
|
| ASSERT(flag == JUMP_FUNCTION);
|
| - SetCallKind(r5, CALL_AS_METHOD);
|
| Jump(r2);
|
| }
|
| }
|
|
|