| Index: src/arm/code-stubs-arm.cc
|
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
|
| index 14b969fb16f4c9b481598f45055e405ee541a1ee..c3cbca15ada383f2df13546d3864c9086a1c1d6a 100644
|
| --- a/src/arm/code-stubs-arm.cc
|
| +++ b/src/arm/code-stubs-arm.cc
|
| @@ -682,7 +682,7 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| __ Push(lhs, rhs);
|
| // Figure out which native to call and setup the arguments.
|
| if (cc == eq) {
|
| - __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals, 2);
|
| + __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals);
|
| } else {
|
| int ncr; // NaN compare result
|
| if (cc == lt || cc == le) {
|
| @@ -696,9 +696,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);
|
| @@ -900,7 +899,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
| if (exponent_type() == ON_STACK) {
|
| // The arguments are still on the stack.
|
| __ bind(&call_runtime);
|
| - __ TailCallRuntime(Runtime::kMathPowRT, 2);
|
| + __ TailCallRuntime(Runtime::kMathPowRT);
|
|
|
| // The stub is called from non-optimized code, which expects the result
|
| // as heap number in exponent.
|
| @@ -1404,12 +1403,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);
|
| }
|
|
|
|
|
| @@ -1511,7 +1510,7 @@ void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* masm) {
|
| // by calling the runtime system.
|
| __ bind(&slow);
|
| __ push(r1);
|
| - __ TailCallRuntime(Runtime::kArguments, 1);
|
| + __ TailCallRuntime(Runtime::kArguments);
|
| }
|
|
|
|
|
| @@ -1538,7 +1537,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
|
|
| __ bind(&runtime);
|
| __ Push(r1, r3, r2);
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments);
|
| }
|
|
|
|
|
| @@ -1738,7 +1737,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
| // r5 = argument count (tagged)
|
| __ bind(&runtime);
|
| __ Push(r1, r3, r5);
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments);
|
| }
|
|
|
|
|
| @@ -1757,7 +1756,7 @@ void LoadIndexedInterceptorStub::Generate(MacroAssembler* masm) {
|
| __ Push(receiver, key); // Receiver, key.
|
|
|
| // Perform tail call to the entry.
|
| - __ TailCallRuntime(Runtime::kLoadElementWithInterceptor, 2);
|
| + __ TailCallRuntime(Runtime::kLoadElementWithInterceptor);
|
|
|
| __ bind(&slow);
|
| PropertyAccessCompiler::TailCallBuiltin(
|
| @@ -1850,7 +1849,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
| // Do the runtime call to allocate the arguments object.
|
| __ bind(&runtime);
|
| __ Push(r1, r3, r2);
|
| - __ TailCallRuntime(Runtime::kNewStrictArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewStrictArguments);
|
| }
|
|
|
|
|
| @@ -1875,7 +1874,7 @@ void RestParamAccessStub::GenerateNew(MacroAssembler* masm) {
|
| __ str(r3, MemOperand(sp, 3 * kPointerSize));
|
|
|
| __ bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kNewRestParam, 4);
|
| + __ TailCallRuntime(Runtime::kNewRestParam);
|
| }
|
|
|
|
|
| @@ -1884,7 +1883,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| // time or if regexp entry in generated code is turned off runtime switch or
|
| // at compilation.
|
| #ifdef V8_INTERPRETED_REGEXP
|
| - __ TailCallRuntime(Runtime::kRegExpExec, 4);
|
| + __ TailCallRuntime(Runtime::kRegExpExec);
|
| #else // V8_INTERPRETED_REGEXP
|
|
|
| // Stack frame on entry.
|
| @@ -2155,7 +2154,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| __ b(eq, &runtime);
|
|
|
| // For exception, throw the exception again.
|
| - __ TailCallRuntime(Runtime::kRegExpExecReThrow, 4);
|
| + __ TailCallRuntime(Runtime::kRegExpExecReThrow);
|
|
|
| __ bind(&failure);
|
| // For failure and exception return null.
|
| @@ -2250,7 +2249,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
|
|
| // Do the runtime call to execute the regexp.
|
| __ 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).
|
| @@ -2609,7 +2608,7 @@ void CallICStub::GenerateMiss(MacroAssembler* masm) {
|
| __ Push(r1, r2, r3);
|
|
|
| // Call the entry.
|
| - __ CallRuntime(Runtime::kCallIC_Miss, 3);
|
| + __ CallRuntime(Runtime::kCallIC_Miss);
|
|
|
| // Move result to edi and exit the internal frame.
|
| __ mov(r1, r0);
|
| @@ -2674,11 +2673,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.
|
| @@ -2705,7 +2704,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
| call_helper.BeforeCall(masm);
|
| __ SmiTag(index_);
|
| __ Push(object_, index_);
|
| - __ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
| + __ CallRuntime(Runtime::kStringCharCodeAtRT);
|
| __ Move(result_, r0);
|
| call_helper.AfterCall(masm);
|
| __ jmp(&exit_);
|
| @@ -2744,7 +2743,7 @@ void StringCharFromCodeGenerator::GenerateSlow(
|
| __ bind(&slow_case_);
|
| call_helper.BeforeCall(masm);
|
| __ push(code_);
|
| - __ CallRuntime(Runtime::kStringCharFromCode, 1);
|
| + __ CallRuntime(Runtime::kStringCharFromCode);
|
| __ Move(result_, r0);
|
| call_helper.AfterCall(masm);
|
| __ jmp(&exit_);
|
| @@ -3000,7 +2999,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
|
|
| // Just jump to runtime to create the sub string.
|
| __ bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kSubString, 3);
|
| + __ TailCallRuntime(Runtime::kSubString);
|
|
|
| __ bind(&single_char);
|
| // r0: original string
|
| @@ -3040,7 +3039,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ Ret();
|
| __ bind(&slow_string);
|
| __ push(r0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kStringToNumber, 1);
|
| + __ TailCallRuntime(Runtime::kStringToNumber);
|
| __ bind(¬_string);
|
|
|
| Label not_oddball;
|
| @@ -3051,7 +3050,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ bind(¬_oddball);
|
|
|
| __ push(r0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kToNumber, 1);
|
| + __ TailCallRuntime(Runtime::kToNumber);
|
| }
|
|
|
|
|
| @@ -3066,7 +3065,7 @@ void ToLengthStub::Generate(MacroAssembler* masm) {
|
| __ bind(¬_smi);
|
|
|
| __ push(r0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kToLength, 1);
|
| + __ TailCallRuntime(Runtime::kToLength);
|
| }
|
|
|
|
|
| @@ -3096,7 +3095,7 @@ void ToStringStub::Generate(MacroAssembler* masm) {
|
| __ bind(¬_oddball);
|
|
|
| __ push(r0); // Push argument.
|
| - __ TailCallRuntime(Runtime::kToString, 1);
|
| + __ TailCallRuntime(Runtime::kToString);
|
| }
|
|
|
|
|
| @@ -3226,7 +3225,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
| // tagged as a small integer.
|
| __ bind(&runtime);
|
| __ Push(r1, r0);
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| + __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
|
|
| @@ -3268,7 +3267,7 @@ void CompareICStub::GenerateBooleans(MacroAssembler* masm) {
|
| __ CheckMap(r1, r2, Heap::kBooleanMapRootIndex, &miss, DO_SMI_CHECK);
|
| __ CheckMap(r0, r3, 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(r1, FieldMemOperand(r1, Oddball::kToNumberOffset));
|
| @@ -3529,9 +3528,9 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
| __ bind(&runtime);
|
| __ Push(left, right);
|
| if (equality) {
|
| - __ TailCallRuntime(Runtime::kStringEquals, 2);
|
| + __ TailCallRuntime(Runtime::kStringEquals);
|
| } else {
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| + __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -3577,7 +3576,7 @@ void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
|
| __ sub(r0, r0, Operand(r1));
|
| __ Ret();
|
| } else if (is_strong(strength())) {
|
| - __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0);
|
| + __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion);
|
| } else {
|
| if (op() == Token::LT || op() == Token::LTE) {
|
| __ mov(r2, Operand(Smi::FromInt(GREATER)));
|
| @@ -3585,7 +3584,7 @@ void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
|
| __ mov(r2, Operand(Smi::FromInt(LESS)));
|
| }
|
| __ Push(r1, r0, r2);
|
| - __ TailCallRuntime(Runtime::kCompare, 3);
|
| + __ TailCallRuntime(Runtime::kCompare);
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -3601,7 +3600,7 @@ void CompareICStub::GenerateMiss(MacroAssembler* masm) {
|
| __ Push(lr, r1, r0);
|
| __ mov(ip, Operand(Smi::FromInt(op())));
|
| __ push(ip);
|
| - __ CallRuntime(Runtime::kCompareIC_Miss, 3);
|
| + __ CallRuntime(Runtime::kCompareIC_Miss);
|
| // Compute the entry point of the rewritten stub.
|
| __ add(r2, r0, Operand(Code::kHeaderSize - kHeapObjectTag));
|
| // Restore registers.
|
| @@ -4945,7 +4944,7 @@ void LoadGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| // Fallback to runtime.
|
| __ SmiTag(slot);
|
| __ push(slot);
|
| - __ TailCallRuntime(Runtime::kLoadGlobalViaContext, 1);
|
| + __ TailCallRuntime(Runtime::kLoadGlobalViaContext);
|
| }
|
|
|
|
|
| @@ -5069,8 +5068,7 @@ void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| __ Push(slot, value);
|
| __ TailCallRuntime(is_strict(language_mode())
|
| ? Runtime::kStoreGlobalViaContext_Strict
|
| - : Runtime::kStoreGlobalViaContext_Sloppy,
|
| - 2);
|
| + : Runtime::kStoreGlobalViaContext_Sloppy);
|
| }
|
|
|
|
|
| @@ -5197,7 +5195,7 @@ static void CallApiFunctionAndReturn(MacroAssembler* masm,
|
|
|
| // 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);
|
|
|