| Index: src/arm64/code-stubs-arm64.cc
|
| diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc
|
| index c6a7fcefefc50c5e5ca4f1541ef5b8c86b3c2550..6bcfb65a3f56cb6957cc87b55781089f446b3cca 100644
|
| --- a/src/arm64/code-stubs-arm64.cc
|
| +++ b/src/arm64/code-stubs-arm64.cc
|
| @@ -653,7 +653,7 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| __ Push(lhs, rhs);
|
| // Figure out which native to call and setup the arguments.
|
| if (cond == eq) {
|
| - __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals, 2);
|
| + __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals);
|
| } else {
|
| int ncr; // NaN compare result
|
| if ((cond == lt) || (cond == le)) {
|
| @@ -667,9 +667,8 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
|
|
| // Call the native; it returns -1 (less), 0 (equal), or 1 (greater)
|
| // tagged as a small integer.
|
| - __ TailCallRuntime(
|
| - is_strong(strength()) ? Runtime::kCompare_Strong : Runtime::kCompare,
|
| - 3);
|
| + __ TailCallRuntime(is_strong(strength()) ? Runtime::kCompare_Strong
|
| + : Runtime::kCompare);
|
| }
|
|
|
| __ Bind(&miss);
|
| @@ -965,7 +964,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
| __ Bind(&call_runtime);
|
| // Put the arguments back on the stack.
|
| __ Push(base_tagged, exponent_tagged);
|
| - __ TailCallRuntime(Runtime::kMathPowRT, 2);
|
| + __ TailCallRuntime(Runtime::kMathPowRT);
|
|
|
| // Return.
|
| __ Bind(&done);
|
| @@ -1608,12 +1607,12 @@ void InstanceOfStub::Generate(MacroAssembler* masm) {
|
| // Invalidate the instanceof cache.
|
| __ Move(scratch, Smi::FromInt(0));
|
| __ StoreRoot(scratch, Heap::kInstanceofCacheFunctionRootIndex);
|
| - __ TailCallRuntime(Runtime::kHasInPrototypeChain, 2);
|
| + __ TailCallRuntime(Runtime::kHasInPrototypeChain);
|
|
|
| // Slow-case: Call the %InstanceOf runtime function.
|
| __ bind(&slow_case);
|
| __ Push(object, function);
|
| - __ TailCallRuntime(Runtime::kInstanceOf, 2);
|
| + __ TailCallRuntime(Runtime::kInstanceOf);
|
| }
|
|
|
|
|
| @@ -1664,7 +1663,7 @@ void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* masm) {
|
| // the runtime system.
|
| __ Bind(&slow);
|
| __ Push(key);
|
| - __ TailCallRuntime(Runtime::kArguments, 1);
|
| + __ TailCallRuntime(Runtime::kArguments);
|
| }
|
|
|
|
|
| @@ -1695,7 +1694,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
|
|
| __ Bind(&runtime);
|
| __ Push(x1, x3, x2);
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments);
|
| }
|
|
|
|
|
| @@ -1970,7 +1969,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
| // Do the runtime call to allocate the arguments object.
|
| __ Bind(&runtime);
|
| __ Push(function, recv_arg, arg_count_smi);
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments);
|
| }
|
|
|
|
|
| @@ -1986,7 +1985,7 @@ void LoadIndexedInterceptorStub::Generate(MacroAssembler* masm) {
|
|
|
| // Everything is fine, call runtime.
|
| __ Push(receiver, key);
|
| - __ TailCallRuntime(Runtime::kLoadElementWithInterceptor, 2);
|
| + __ TailCallRuntime(Runtime::kLoadElementWithInterceptor);
|
|
|
| __ Bind(&slow);
|
| PropertyAccessCompiler::TailCallBuiltin(
|
| @@ -2118,7 +2117,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
| // Do the runtime call to allocate the arguments object.
|
| __ Bind(&runtime);
|
| __ Push(function, params, param_count_smi);
|
| - __ TailCallRuntime(Runtime::kNewStrictArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewStrictArguments);
|
| }
|
|
|
|
|
| @@ -2167,13 +2166,13 @@ void RestParamAccessStub::GenerateNew(MacroAssembler* masm) {
|
|
|
| __ Bind(&runtime);
|
| __ Push(params, param_count_smi, rest_index_smi, language_mode_smi);
|
| - __ TailCallRuntime(Runtime::kNewRestParam, 4);
|
| + __ TailCallRuntime(Runtime::kNewRestParam);
|
| }
|
|
|
|
|
| void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| #ifdef V8_INTERPRETED_REGEXP
|
| - __ TailCallRuntime(Runtime::kRegExpExec, 4);
|
| + __ TailCallRuntime(Runtime::kRegExpExec);
|
| #else // V8_INTERPRETED_REGEXP
|
|
|
| // Stack frame on entry.
|
| @@ -2614,7 +2613,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| __ B(eq, &runtime);
|
|
|
| // For exception, throw the exception again.
|
| - __ TailCallRuntime(Runtime::kRegExpExecReThrow, 4);
|
| + __ TailCallRuntime(Runtime::kRegExpExecReThrow);
|
|
|
| __ Bind(&failure);
|
| __ Mov(x0, Operand(isolate()->factory()->null_value()));
|
| @@ -2623,7 +2622,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| __ Ret();
|
|
|
| __ Bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kRegExpExec, 4);
|
| + __ TailCallRuntime(Runtime::kRegExpExec);
|
|
|
| // Deferred code for string handling.
|
| // (6) Not a long external string? If yes, go to (8).
|
| @@ -3015,7 +3014,7 @@ void CallICStub::GenerateMiss(MacroAssembler* masm) {
|
| __ Push(x1, x2, x3);
|
|
|
| // Call the entry.
|
| - __ CallRuntime(Runtime::kCallIC_Miss, 3);
|
| + __ CallRuntime(Runtime::kCallIC_Miss);
|
|
|
| // Move result to edi and exit the internal frame.
|
| __ Mov(x1, x0);
|
| @@ -3073,11 +3072,11 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
| __ Push(object_, index_);
|
| }
|
| if (index_flags_ == STRING_INDEX_IS_NUMBER) {
|
| - __ CallRuntime(Runtime::kNumberToIntegerMapMinusZero, 1);
|
| + __ CallRuntime(Runtime::kNumberToIntegerMapMinusZero);
|
| } else {
|
| DCHECK(index_flags_ == STRING_INDEX_IS_ARRAY_INDEX);
|
| // NumberToSmi discards numbers that are not exact integers.
|
| - __ CallRuntime(Runtime::kNumberToSmi, 1);
|
| + __ CallRuntime(Runtime::kNumberToSmi);
|
| }
|
| // Save the conversion result before the pop instructions below
|
| // have a chance to overwrite it.
|
| @@ -3105,7 +3104,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
| call_helper.BeforeCall(masm);
|
| __ SmiTag(index_);
|
| __ Push(object_, index_);
|
| - __ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
| + __ CallRuntime(Runtime::kStringCharCodeAtRT);
|
| __ Mov(result_, x0);
|
| call_helper.AfterCall(masm);
|
| __ B(&exit_);
|
| @@ -3136,7 +3135,7 @@ void StringCharFromCodeGenerator::GenerateSlow(
|
| __ Bind(&slow_case_);
|
| call_helper.BeforeCall(masm);
|
| __ Push(code_);
|
| - __ CallRuntime(Runtime::kStringCharFromCode, 1);
|
| + __ CallRuntime(Runtime::kStringCharFromCode);
|
| __ Mov(result_, x0);
|
| call_helper.AfterCall(masm);
|
| __ B(&exit_);
|
| @@ -3154,7 +3153,7 @@ void CompareICStub::GenerateBooleans(MacroAssembler* masm) {
|
| __ CheckMap(x1, x2, Heap::kBooleanMapRootIndex, &miss, DO_SMI_CHECK);
|
| __ CheckMap(x0, x3, Heap::kBooleanMapRootIndex, &miss, DO_SMI_CHECK);
|
| if (op() != Token::EQ_STRICT && is_strong(strength())) {
|
| - __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0);
|
| + __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion);
|
| } else {
|
| if (!Token::IsEqualityOp(op())) {
|
| __ Ldr(x1, FieldMemOperand(x1, Oddball::kToNumberOffset));
|
| @@ -3408,9 +3407,9 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
| __ Bind(&runtime);
|
| __ Push(lhs, rhs);
|
| if (equality) {
|
| - __ TailCallRuntime(Runtime::kStringEquals, 2);
|
| + __ TailCallRuntime(Runtime::kStringEquals);
|
| } else {
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| + __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
| __ Bind(&miss);
|
| @@ -3470,7 +3469,7 @@ void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
|
| __ Sub(result, rhs, lhs);
|
| __ Ret();
|
| } else if (is_strong(strength())) {
|
| - __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0);
|
| + __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion);
|
| } else {
|
| Register ncr = x2;
|
| if (op() == Token::LT || op() == Token::LTE) {
|
| @@ -3479,7 +3478,7 @@ void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
|
| __ Mov(ncr, Smi::FromInt(LESS));
|
| }
|
| __ Push(lhs, rhs, ncr);
|
| - __ TailCallRuntime(Runtime::kCompare, 3);
|
| + __ TailCallRuntime(Runtime::kCompare);
|
| }
|
|
|
| __ Bind(&miss);
|
| @@ -3507,7 +3506,7 @@ void CompareICStub::GenerateMiss(MacroAssembler* masm) {
|
| __ Push(left, right, op);
|
|
|
| // Call the miss handler. This also pops the arguments.
|
| - __ CallRuntime(Runtime::kCompareIC_Miss, 3);
|
| + __ CallRuntime(Runtime::kCompareIC_Miss);
|
|
|
| // Compute the entry point of the rewritten stub.
|
| __ Add(stub_entry, x0, Code::kHeaderSize - kHeapObjectTag);
|
| @@ -3753,7 +3752,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
| __ Ret();
|
|
|
| __ Bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kSubString, 3);
|
| + __ TailCallRuntime(Runtime::kSubString);
|
|
|
| __ bind(&single_char);
|
| // x1: result_length
|
| @@ -3799,7 +3798,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ Ret();
|
| __ Bind(&slow_string);
|
| __ Push(x0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kStringToNumber, 1);
|
| + __ TailCallRuntime(Runtime::kStringToNumber);
|
| __ Bind(¬_string);
|
|
|
| Label not_oddball;
|
| @@ -3810,7 +3809,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ Bind(¬_oddball);
|
|
|
| __ Push(x0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kToNumber, 1);
|
| + __ TailCallRuntime(Runtime::kToNumber);
|
| }
|
|
|
|
|
| @@ -3825,7 +3824,7 @@ void ToLengthStub::Generate(MacroAssembler* masm) {
|
| __ Bind(¬_smi);
|
|
|
| __ Push(x0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kToLength, 1);
|
| + __ TailCallRuntime(Runtime::kToLength);
|
| }
|
|
|
|
|
| @@ -3857,7 +3856,7 @@ void ToStringStub::Generate(MacroAssembler* masm) {
|
| __ Bind(¬_oddball);
|
|
|
| __ Push(x0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kToString, 1);
|
| + __ TailCallRuntime(Runtime::kToString);
|
| }
|
|
|
|
|
| @@ -4001,7 +4000,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
| // Returns -1 (less), 0 (equal), or 1 (greater) tagged as a small integer.
|
| __ Bind(&runtime);
|
| __ Push(x1, x0);
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| + __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
|
|
| @@ -5370,7 +5369,7 @@ void LoadGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| __ Bind(&slow_case);
|
| __ SmiTag(slot);
|
| __ Push(slot);
|
| - __ TailCallRuntime(Runtime::kLoadGlobalViaContext, 1);
|
| + __ TailCallRuntime(Runtime::kLoadGlobalViaContext);
|
| }
|
|
|
|
|
| @@ -5490,8 +5489,7 @@ void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| __ Push(slot, value);
|
| __ TailCallRuntime(is_strict(language_mode())
|
| ? Runtime::kStoreGlobalViaContext_Strict
|
| - : Runtime::kStoreGlobalViaContext_Sloppy,
|
| - 2);
|
| + : Runtime::kStoreGlobalViaContext_Sloppy);
|
| }
|
|
|
|
|
| @@ -5644,7 +5642,7 @@ static void CallApiFunctionAndReturn(
|
|
|
| // Re-throw by promoting a scheduled exception.
|
| __ Bind(&promote_scheduled_exception);
|
| - __ TailCallRuntime(Runtime::kPromoteScheduledException, 0);
|
| + __ TailCallRuntime(Runtime::kPromoteScheduledException);
|
|
|
| // HandleScope limit has changed. Delete allocated extensions.
|
| __ Bind(&delete_allocated_handles);
|
|
|