| Index: runtime/vm/stub_code_ia32.cc
|
| diff --git a/runtime/vm/stub_code_ia32.cc b/runtime/vm/stub_code_ia32.cc
|
| index 9801f25551edc8b3144979267d77aa165f1206bd..b1060cb3460452dc177c9de648a005a6e111e01e 100644
|
| --- a/runtime/vm/stub_code_ia32.cc
|
| +++ b/runtime/vm/stub_code_ia32.cc
|
| @@ -1278,7 +1278,6 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
| intptr_t num_args,
|
| const RuntimeEntry& handle_ic_miss,
|
| Token::Kind kind,
|
| - RangeCollectionMode range_collection_mode,
|
| bool optimized) {
|
| ASSERT(num_args > 0);
|
| #if defined(DEBUG)
|
| @@ -1303,19 +1302,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
| __ j(NOT_EQUAL, &stepping);
|
| __ Bind(&done_stepping);
|
| }
|
| - __ Comment("Range feedback collection");
|
| Label not_smi_or_overflow;
|
| - if (range_collection_mode == kCollectRanges) {
|
| - ASSERT((num_args == 1) || (num_args == 2));
|
| - if (num_args == 2) {
|
| - __ movl(EAX, Address(ESP, + 2 * kWordSize));
|
| - __ UpdateRangeFeedback(EAX, 0, ECX, EBX, EDI, EDX, ¬_smi_or_overflow);
|
| - }
|
| -
|
| - __ movl(EAX, Address(ESP, + 1 * kWordSize));
|
| - __ UpdateRangeFeedback(EAX, (num_args - 1), ECX, EBX, EDI, EDX,
|
| - ¬_smi_or_overflow);
|
| - }
|
| if (kind != Token::kILLEGAL) {
|
| EmitFastSmiOp(assembler, kind, num_args, ¬_smi_or_overflow);
|
| }
|
| @@ -1434,27 +1421,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
| __ Comment("Call target");
|
| // EAX: Target function.
|
| __ movl(EBX, FieldAddress(EAX, Function::entry_point_offset()));
|
| - if (range_collection_mode == kCollectRanges) {
|
| - __ EnterStubFrame();
|
| - __ pushl(ECX);
|
| - const intptr_t arg_offset_words = num_args +
|
| - Assembler::kEnterStubFramePushedWords +
|
| - 1; // ECX
|
| - for (intptr_t i = 0; i < num_args; i++) {
|
| - __ movl(EDI, Address(ESP, arg_offset_words * kWordSize));
|
| - __ pushl(EDI);
|
| - }
|
| - __ call(EBX);
|
| -
|
| - __ movl(ECX, Address(EBP, kFirstLocalSlotFromFp * kWordSize));
|
| - Label done;
|
| - __ UpdateRangeFeedback(EAX, 2, ECX, EBX, EDI, EDX, &done);
|
| - __ Bind(&done);
|
| - __ LeaveFrame();
|
| - __ ret();
|
| - } else {
|
| - __ jmp(EBX);
|
| - }
|
| + __ jmp(EBX);
|
|
|
| if (FLAG_support_debugger && !optimized) {
|
| __ Bind(&stepping);
|
| @@ -1482,8 +1449,7 @@ void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 1,
|
| kInlineCacheMissHandlerOneArgRuntimeEntry,
|
| - Token::kILLEGAL,
|
| - kIgnoreRanges);
|
| + Token::kILLEGAL);
|
| }
|
|
|
|
|
| @@ -1491,8 +1457,7 @@ void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kInlineCacheMissHandlerTwoArgsRuntimeEntry,
|
| - Token::kILLEGAL,
|
| - kIgnoreRanges);
|
| + Token::kILLEGAL);
|
| }
|
|
|
|
|
| @@ -1500,8 +1465,7 @@ void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kInlineCacheMissHandlerTwoArgsRuntimeEntry,
|
| - Token::kADD,
|
| - kCollectRanges);
|
| + Token::kADD);
|
| }
|
|
|
|
|
| @@ -1509,8 +1473,7 @@ void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kInlineCacheMissHandlerTwoArgsRuntimeEntry,
|
| - Token::kSUB,
|
| - kCollectRanges);
|
| + Token::kSUB);
|
| }
|
|
|
|
|
| @@ -1518,8 +1481,7 @@ void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kInlineCacheMissHandlerTwoArgsRuntimeEntry,
|
| - Token::kEQ,
|
| - kIgnoreRanges);
|
| + Token::kEQ);
|
| }
|
|
|
|
|
| @@ -1528,8 +1490,7 @@ void StubCode::GenerateUnaryRangeCollectingInlineCacheStub(
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 1,
|
| kInlineCacheMissHandlerOneArgRuntimeEntry,
|
| - Token::kILLEGAL,
|
| - kCollectRanges);
|
| + Token::kILLEGAL);
|
| }
|
|
|
|
|
| @@ -1538,8 +1499,7 @@ void StubCode::GenerateBinaryRangeCollectingInlineCacheStub(
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kInlineCacheMissHandlerTwoArgsRuntimeEntry,
|
| - Token::kILLEGAL,
|
| - kCollectRanges);
|
| + Token::kILLEGAL);
|
| }
|
|
|
|
|
| @@ -1560,7 +1520,6 @@ void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub(
|
| GenerateNArgsCheckInlineCacheStub(assembler, 1,
|
| kInlineCacheMissHandlerOneArgRuntimeEntry,
|
| Token::kILLEGAL,
|
| - kIgnoreRanges,
|
| true /* optimized */);
|
| }
|
|
|
| @@ -1571,7 +1530,6 @@ void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub(
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kInlineCacheMissHandlerTwoArgsRuntimeEntry,
|
| Token::kILLEGAL,
|
| - kIgnoreRanges,
|
| true /* optimized */);
|
| }
|
|
|
| @@ -1645,8 +1603,7 @@ void StubCode::GenerateOneArgUnoptimizedStaticCallStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(
|
| assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry,
|
| - Token::kILLEGAL,
|
| - kIgnoreRanges);
|
| + Token::kILLEGAL);
|
| }
|
|
|
|
|
| @@ -1654,8 +1611,7 @@ void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, EBX);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kStaticCallMissHandlerTwoArgsRuntimeEntry,
|
| - Token::kILLEGAL,
|
| - kIgnoreRanges);
|
| + Token::kILLEGAL);
|
| }
|
|
|
|
|
|
|