| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index 8c7559c94b460180d6498fb85cf0c495907a5917..6850bb597566ff494a28545304cff667477dddd2 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -617,7 +617,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.
|
| @@ -688,7 +688,7 @@ void LoadIndexedInterceptorStub::Generate(MacroAssembler* masm) {
|
| __ push(scratch); // return address
|
|
|
| // Perform tail call to the entry.
|
| - __ TailCallRuntime(Runtime::kLoadElementWithInterceptor, 2);
|
| + __ TailCallRuntime(Runtime::kLoadElementWithInterceptor);
|
|
|
| __ bind(&slow);
|
| PropertyAccessCompiler::TailCallBuiltin(
|
| @@ -787,7 +787,7 @@ void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* masm) {
|
| __ pop(ebx); // Return address.
|
| __ push(edx);
|
| __ push(ebx);
|
| - __ TailCallRuntime(Runtime::kArguments, 1);
|
| + __ TailCallRuntime(Runtime::kArguments);
|
| }
|
|
|
|
|
| @@ -819,7 +819,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
| __ push(edx); // Push parameters pointer.
|
| __ push(ecx); // Push parameter count.
|
| __ push(eax); // Push return address.
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments);
|
| }
|
|
|
|
|
| @@ -1054,7 +1054,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
| __ push(edx); // Push parameters pointer.
|
| __ push(ecx); // Push parameter count.
|
| __ push(eax); // Push return address.
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments);
|
| }
|
|
|
|
|
| @@ -1148,7 +1148,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
| __ push(edx); // Push parameters pointer.
|
| __ push(ecx); // Push parameter count.
|
| __ push(eax); // Push return address.
|
| - __ TailCallRuntime(Runtime::kNewStrictArguments, 3);
|
| + __ TailCallRuntime(Runtime::kNewStrictArguments);
|
| }
|
|
|
|
|
| @@ -1174,7 +1174,7 @@ void RestParamAccessStub::GenerateNew(MacroAssembler* masm) {
|
| __ mov(Operand(esp, 4 * kPointerSize), edx);
|
|
|
| __ bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kNewRestParam, 4);
|
| + __ TailCallRuntime(Runtime::kNewRestParam);
|
| }
|
|
|
|
|
| @@ -1183,7 +1183,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.
|
| @@ -1461,7 +1461,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| __ j(equal, &runtime);
|
|
|
| // For exception, throw the exception again.
|
| - __ TailCallRuntime(Runtime::kRegExpExecReThrow, 4);
|
| + __ TailCallRuntime(Runtime::kRegExpExecReThrow);
|
|
|
| __ bind(&failure);
|
| // For failure to match, return null.
|
| @@ -1553,7 +1553,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.
|
| // (7) Not a long external string? If yes, go to (10).
|
| @@ -1906,7 +1906,7 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| // Figure out which native to call and setup the arguments.
|
| if (cc == equal) {
|
| __ push(ecx);
|
| - __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals, 2);
|
| + __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals);
|
| } else {
|
| __ push(Immediate(Smi::FromInt(NegativeComparisonResult(cc))));
|
|
|
| @@ -1915,9 +1915,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);
|
| @@ -2249,7 +2248,7 @@ void CallICStub::GenerateMiss(MacroAssembler* masm) {
|
| __ push(edx);
|
|
|
| // Call the entry.
|
| - __ CallRuntime(Runtime::kCallIC_Miss, 3);
|
| + __ CallRuntime(Runtime::kCallIC_Miss);
|
|
|
| // Move result to edi and exit the internal frame.
|
| __ mov(edi, eax);
|
| @@ -2614,7 +2613,7 @@ void InstanceOfStub::Generate(MacroAssembler* masm) {
|
| // Invalidate the instanceof cache.
|
| __ Move(eax, Immediate(Smi::FromInt(0)));
|
| __ StoreRoot(eax, scratch, Heap::kInstanceofCacheFunctionRootIndex);
|
| - __ TailCallRuntime(Runtime::kHasInPrototypeChain, 2);
|
| + __ TailCallRuntime(Runtime::kHasInPrototypeChain);
|
|
|
| // Slow-case: Call the %InstanceOf runtime function.
|
| __ bind(&slow_case);
|
| @@ -2622,7 +2621,7 @@ void InstanceOfStub::Generate(MacroAssembler* masm) {
|
| __ Push(object);
|
| __ Push(function);
|
| __ PushReturnAddressFrom(scratch);
|
| - __ TailCallRuntime(Runtime::kInstanceOf, 2);
|
| + __ TailCallRuntime(Runtime::kInstanceOf);
|
| }
|
|
|
|
|
| @@ -2683,11 +2682,11 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
| __ push(object_);
|
| __ push(index_); // Consumed by runtime conversion function.
|
| 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);
|
| }
|
| if (!index_.is(eax)) {
|
| // Save the conversion result before the pop instructions below
|
| @@ -2717,7 +2716,7 @@ void StringCharCodeAtGenerator::GenerateSlow(
|
| __ push(object_);
|
| __ SmiTag(index_);
|
| __ push(index_);
|
| - __ CallRuntime(Runtime::kStringCharCodeAtRT, 2);
|
| + __ CallRuntime(Runtime::kStringCharCodeAtRT);
|
| if (!result_.is(eax)) {
|
| __ mov(result_, eax);
|
| }
|
| @@ -2763,7 +2762,7 @@ void StringCharFromCodeGenerator::GenerateSlow(
|
| __ bind(&slow_case_);
|
| call_helper.BeforeCall(masm);
|
| __ push(code_);
|
| - __ CallRuntime(Runtime::kStringCharFromCode, 1);
|
| + __ CallRuntime(Runtime::kStringCharFromCode);
|
| if (!result_.is(eax)) {
|
| __ mov(result_, eax);
|
| }
|
| @@ -3013,7 +3012,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);
|
| // eax: string
|
| @@ -3058,7 +3057,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ pop(ecx); // Pop return address.
|
| __ push(eax); // Push argument.
|
| __ push(ecx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kStringToNumber, 1);
|
| + __ TailCallRuntime(Runtime::kStringToNumber);
|
| __ bind(¬_string);
|
|
|
| Label not_oddball;
|
| @@ -3071,7 +3070,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ pop(ecx); // Pop return address.
|
| __ push(eax); // Push argument.
|
| __ push(ecx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kToNumber, 1);
|
| + __ TailCallRuntime(Runtime::kToNumber);
|
| }
|
|
|
|
|
| @@ -3090,7 +3089,7 @@ void ToLengthStub::Generate(MacroAssembler* masm) {
|
| __ pop(ecx); // Pop return address.
|
| __ push(eax); // Push argument.
|
| __ push(ecx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kToLength, 1);
|
| + __ TailCallRuntime(Runtime::kToLength);
|
| }
|
|
|
|
|
| @@ -3125,7 +3124,7 @@ void ToStringStub::Generate(MacroAssembler* masm) {
|
| __ pop(ecx); // Pop return address.
|
| __ push(eax); // Push argument.
|
| __ push(ecx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kToString, 1);
|
| + __ TailCallRuntime(Runtime::kToString);
|
| }
|
|
|
|
|
| @@ -3288,7 +3287,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
| __ Push(edx);
|
| __ Push(eax);
|
| __ PushReturnAddressFrom(ecx);
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| + __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
|
|
| @@ -3333,7 +3332,7 @@ void CompareICStub::GenerateBooleans(MacroAssembler* masm) {
|
| __ JumpIfNotRoot(ecx, Heap::kBooleanMapRootIndex, &miss, miss_distance);
|
| __ JumpIfNotRoot(ebx, Heap::kBooleanMapRootIndex, &miss, miss_distance);
|
| if (op() != Token::EQ_STRICT && is_strong(strength())) {
|
| - __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0);
|
| + __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion);
|
| } else {
|
| if (!Token::IsEqualityOp(op())) {
|
| __ mov(eax, FieldOperand(eax, Oddball::kToNumberOffset));
|
| @@ -3629,9 +3628,9 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
| __ push(right);
|
| __ push(tmp1);
|
| if (equality) {
|
| - __ TailCallRuntime(Runtime::kStringEquals, 2);
|
| + __ TailCallRuntime(Runtime::kStringEquals);
|
| } else {
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| + __ TailCallRuntime(Runtime::kStringCompare);
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -3678,14 +3677,14 @@ void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
|
| __ sub(eax, edx);
|
| __ ret(0);
|
| } else if (is_strong(strength())) {
|
| - __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0);
|
| + __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion);
|
| } else {
|
| __ PopReturnAddressTo(ecx);
|
| __ Push(edx);
|
| __ Push(eax);
|
| __ Push(Immediate(Smi::FromInt(NegativeComparisonResult(GetCondition()))));
|
| __ PushReturnAddressFrom(ecx);
|
| - __ TailCallRuntime(Runtime::kCompare, 3);
|
| + __ TailCallRuntime(Runtime::kCompare);
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -3702,7 +3701,7 @@ void CompareICStub::GenerateMiss(MacroAssembler* masm) {
|
| __ push(edx); // And also use them as the arguments.
|
| __ push(eax);
|
| __ push(Immediate(Smi::FromInt(op())));
|
| - __ CallRuntime(Runtime::kCompareIC_Miss, 3);
|
| + __ CallRuntime(Runtime::kCompareIC_Miss);
|
| // Compute the entry point of the rewritten stub.
|
| __ lea(edi, FieldOperand(eax, Code::kHeaderSize));
|
| __ pop(eax);
|
| @@ -5157,7 +5156,7 @@ void LoadGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| __ Pop(result_reg); // Pop return address.
|
| __ Push(slot_reg);
|
| __ Push(result_reg); // Push return address.
|
| - __ TailCallRuntime(Runtime::kLoadGlobalViaContext, 1);
|
| + __ TailCallRuntime(Runtime::kLoadGlobalViaContext);
|
| }
|
|
|
|
|
| @@ -5280,8 +5279,7 @@ void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| __ Push(cell_reg); // Push return address.
|
| __ TailCallRuntime(is_strict(language_mode())
|
| ? Runtime::kStoreGlobalViaContext_Strict
|
| - : Runtime::kStoreGlobalViaContext_Sloppy,
|
| - 2);
|
| + : Runtime::kStoreGlobalViaContext_Sloppy);
|
| }
|
|
|
|
|
| @@ -5452,7 +5450,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.
|
| ExternalReference delete_extensions =
|
|
|