| Index: src/x64/code-stubs-x64.cc
|
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
|
| index 5200ab4413234414a20d8de43163893da7da81f3..ab57fe9e77d1e9dbbce71127725c928235de9ab6 100644
|
| --- a/src/x64/code-stubs-x64.cc
|
| +++ b/src/x64/code-stubs-x64.cc
|
| @@ -491,7 +491,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, 1);
|
| + __ TailCallRuntime(Runtime::kMathPowRT, 2);
|
|
|
| // The stub is called from non-optimized code, which expects the result
|
| // as heap number in rax.
|
| @@ -591,7 +591,7 @@ void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* masm) {
|
| __ PopReturnAddressTo(rbx);
|
| __ Push(rdx);
|
| __ PushReturnAddressFrom(rbx);
|
| - __ TailCallRuntime(Runtime::kArguments, 1, 1);
|
| + __ TailCallRuntime(Runtime::kArguments, 1);
|
| }
|
|
|
|
|
| @@ -803,7 +803,7 @@ void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
|
| __ Push(rdx); // Push parameters pointer.
|
| __ Push(r11); // Push parameter count.
|
| __ PushReturnAddressFrom(rax);
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| }
|
|
|
|
|
| @@ -837,7 +837,7 @@ void ArgumentsAccessStub::GenerateNewSloppySlow(MacroAssembler* masm) {
|
| __ Push(rdx); // Push parameters pointer.
|
| __ Push(rcx); // Push parameter count.
|
| __ PushReturnAddressFrom(rax);
|
| - __ TailCallRuntime(Runtime::kNewSloppyArguments, 3, 1);
|
| + __ TailCallRuntime(Runtime::kNewSloppyArguments, 3);
|
| }
|
|
|
|
|
| @@ -865,7 +865,7 @@ void RestParamAccessStub::GenerateNew(MacroAssembler* masm) {
|
| __ movp(args.GetArgumentOperand(0), rdx);
|
|
|
| __ bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kNewRestParam, 4, 1);
|
| + __ TailCallRuntime(Runtime::kNewRestParam, 4);
|
| }
|
|
|
|
|
| @@ -889,7 +889,7 @@ void LoadIndexedInterceptorStub::Generate(MacroAssembler* masm) {
|
| __ PushReturnAddressFrom(scratch);
|
|
|
| // Perform tail call to the entry.
|
| - __ TailCallRuntime(Runtime::kLoadElementWithInterceptor, 2, 1);
|
| + __ TailCallRuntime(Runtime::kLoadElementWithInterceptor, 2);
|
|
|
| __ bind(&slow);
|
| PropertyAccessCompiler::TailCallBuiltin(
|
| @@ -1023,7 +1023,7 @@ void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
|
| __ Push(rdx); // Push parameters pointer.
|
| __ Push(rcx); // Push parameter count.
|
| __ PushReturnAddressFrom(rax);
|
| - __ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
|
| + __ TailCallRuntime(Runtime::kNewStrictArguments, 3);
|
| }
|
|
|
|
|
| @@ -1032,7 +1032,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, 1);
|
| + __ TailCallRuntime(Runtime::kRegExpExec, 4);
|
| #else // V8_INTERPRETED_REGEXP
|
|
|
| // Stack frame on entry.
|
| @@ -1415,11 +1415,11 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
|
| __ j(equal, &runtime);
|
|
|
| // For exception, throw the exception again.
|
| - __ TailCallRuntime(Runtime::kRegExpExecReThrow, 4, 1);
|
| + __ TailCallRuntime(Runtime::kRegExpExecReThrow, 4);
|
|
|
| // Do the runtime call to execute the regexp.
|
| __ bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
|
| + __ TailCallRuntime(Runtime::kRegExpExec, 4);
|
|
|
| // Deferred code for string handling.
|
| // (7) Not a long external string? If yes, go to (10).
|
| @@ -1763,14 +1763,13 @@ void CompareICStub::GenerateGeneric(MacroAssembler* masm) {
|
| // Figure out which native to call and setup the arguments.
|
| if (cc == equal) {
|
| __ PushReturnAddressFrom(rcx);
|
| - __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals, 2,
|
| - 1);
|
| + __ TailCallRuntime(strict() ? Runtime::kStrictEquals : Runtime::kEquals, 2);
|
| } else {
|
| __ Push(Smi::FromInt(NegativeComparisonResult(cc)));
|
| __ PushReturnAddressFrom(rcx);
|
| __ TailCallRuntime(
|
| - is_strong(strength()) ? Runtime::kCompare_Strong : Runtime::kCompare, 3,
|
| - 1);
|
| + is_strong(strength()) ? Runtime::kCompare_Strong : Runtime::kCompare,
|
| + 3);
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -2566,7 +2565,7 @@ void InstanceOfStub::Generate(MacroAssembler* masm) {
|
| // Invalidate the instanceof cache.
|
| __ Move(rax, Smi::FromInt(0));
|
| __ StoreRoot(rax, Heap::kInstanceofCacheFunctionRootIndex);
|
| - __ TailCallRuntime(Runtime::kHasInPrototypeChain, 2, 1);
|
| + __ TailCallRuntime(Runtime::kHasInPrototypeChain, 2);
|
|
|
| // Slow-case: Call the %InstanceOf runtime function.
|
| __ bind(&slow_case);
|
| @@ -2574,7 +2573,7 @@ void InstanceOfStub::Generate(MacroAssembler* masm) {
|
| __ Push(object);
|
| __ Push(function);
|
| __ PushReturnAddressFrom(kScratchRegister);
|
| - __ TailCallRuntime(Runtime::kInstanceOf, 2, 1);
|
| + __ TailCallRuntime(Runtime::kInstanceOf, 2);
|
| }
|
|
|
|
|
| @@ -2951,7 +2950,7 @@ void SubStringStub::Generate(MacroAssembler* masm) {
|
|
|
| // Just jump to runtime to create the sub string.
|
| __ bind(&runtime);
|
| - __ TailCallRuntime(Runtime::kSubString, 3, 1);
|
| + __ TailCallRuntime(Runtime::kSubString, 3);
|
|
|
| __ bind(&single_char);
|
| // rax: string
|
| @@ -2997,7 +2996,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ PopReturnAddressTo(rcx); // Pop return address.
|
| __ Push(rax); // Push argument.
|
| __ PushReturnAddressFrom(rcx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kStringToNumber, 1, 1);
|
| + __ TailCallRuntime(Runtime::kStringToNumber, 1);
|
| __ bind(¬_string);
|
|
|
| Label not_oddball;
|
| @@ -3010,7 +3009,7 @@ void ToNumberStub::Generate(MacroAssembler* masm) {
|
| __ PopReturnAddressTo(rcx); // Pop return address.
|
| __ Push(rax); // Push argument.
|
| __ PushReturnAddressFrom(rcx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kToNumber, 1, 1);
|
| + __ TailCallRuntime(Runtime::kToNumber, 1);
|
| }
|
|
|
|
|
| @@ -3029,7 +3028,7 @@ void ToLengthStub::Generate(MacroAssembler* masm) {
|
| __ PopReturnAddressTo(rcx); // Pop return address.
|
| __ Push(rax); // Push argument.
|
| __ PushReturnAddressFrom(rcx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kToLength, 1, 1);
|
| + __ TailCallRuntime(Runtime::kToLength, 1);
|
| }
|
|
|
|
|
| @@ -3064,7 +3063,7 @@ void ToStringStub::Generate(MacroAssembler* masm) {
|
| __ PopReturnAddressTo(rcx); // Pop return address.
|
| __ Push(rax); // Push argument.
|
| __ PushReturnAddressFrom(rcx); // Push return address.
|
| - __ TailCallRuntime(Runtime::kToString, 1, 1);
|
| + __ TailCallRuntime(Runtime::kToString, 1);
|
| }
|
|
|
|
|
| @@ -3239,7 +3238,7 @@ void StringCompareStub::Generate(MacroAssembler* masm) {
|
| __ Push(rdx);
|
| __ Push(rax);
|
| __ PushReturnAddressFrom(rcx);
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
| + __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| }
|
|
|
|
|
| @@ -3284,7 +3283,7 @@ void CompareICStub::GenerateBooleans(MacroAssembler* masm) {
|
| __ JumpIfNotRoot(rcx, Heap::kBooleanMapRootIndex, &miss, miss_distance);
|
| __ JumpIfNotRoot(rbx, Heap::kBooleanMapRootIndex, &miss, miss_distance);
|
| if (op() != Token::EQ_STRICT && is_strong(strength())) {
|
| - __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0, 1);
|
| + __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0);
|
| } else {
|
| if (!Token::IsEqualityOp(op())) {
|
| __ movp(rax, FieldOperand(rax, Oddball::kToNumberOffset));
|
| @@ -3566,9 +3565,9 @@ void CompareICStub::GenerateStrings(MacroAssembler* masm) {
|
| __ Push(right);
|
| __ PushReturnAddressFrom(tmp1);
|
| if (equality) {
|
| - __ TailCallRuntime(Runtime::kStringEquals, 2, 1);
|
| + __ TailCallRuntime(Runtime::kStringEquals, 2);
|
| } else {
|
| - __ TailCallRuntime(Runtime::kStringCompare, 2, 1);
|
| + __ TailCallRuntime(Runtime::kStringCompare, 2);
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -3613,14 +3612,14 @@ void CompareICStub::GenerateKnownReceivers(MacroAssembler* masm) {
|
| __ subp(rax, rdx);
|
| __ ret(0);
|
| } else if (is_strong(strength())) {
|
| - __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0, 1);
|
| + __ TailCallRuntime(Runtime::kThrowStrongModeImplicitConversion, 0);
|
| } else {
|
| __ PopReturnAddressTo(rcx);
|
| __ Push(rdx);
|
| __ Push(rax);
|
| __ Push(Smi::FromInt(NegativeComparisonResult(GetCondition())));
|
| __ PushReturnAddressFrom(rcx);
|
| - __ TailCallRuntime(Runtime::kCompare, 3, 1);
|
| + __ TailCallRuntime(Runtime::kCompare, 3);
|
| }
|
|
|
| __ bind(&miss);
|
| @@ -4773,8 +4772,7 @@ void ArrayConstructorStub::Generate(MacroAssembler* masm) {
|
| __ Push(rdx);
|
| __ Push(rbx);
|
| __ PushReturnAddressFrom(rcx);
|
| - __ JumpToExternalReference(ExternalReference(Runtime::kNewArray, isolate()),
|
| - 1);
|
| + __ JumpToExternalReference(ExternalReference(Runtime::kNewArray, isolate()));
|
| }
|
|
|
|
|
| @@ -4893,7 +4891,7 @@ void LoadGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| __ PopReturnAddressTo(kScratchRegister);
|
| __ Push(slot_reg);
|
| __ Push(kScratchRegister);
|
| - __ TailCallRuntime(Runtime::kLoadGlobalViaContext, 1, 1);
|
| + __ TailCallRuntime(Runtime::kLoadGlobalViaContext, 1);
|
| }
|
|
|
|
|
| @@ -5017,7 +5015,7 @@ void StoreGlobalViaContextStub::Generate(MacroAssembler* masm) {
|
| __ TailCallRuntime(is_strict(language_mode())
|
| ? Runtime::kStoreGlobalViaContext_Strict
|
| : Runtime::kStoreGlobalViaContext_Sloppy,
|
| - 2, 1);
|
| + 2);
|
| }
|
|
|
|
|
| @@ -5191,7 +5189,7 @@ static void CallApiFunctionAndReturn(MacroAssembler* masm,
|
|
|
| // Re-throw by promoting a scheduled exception.
|
| __ bind(&promote_scheduled_exception);
|
| - __ TailCallRuntime(Runtime::kPromoteScheduledException, 0, 1);
|
| + __ TailCallRuntime(Runtime::kPromoteScheduledException, 0);
|
|
|
| // HandleScope limit has changed. Delete allocated extensions.
|
| __ bind(&delete_allocated_handles);
|
|
|