Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(190)

Unified Diff: runtime/vm/stub_code_arm64.cc

Issue 2132933003: VM: Remove collection of unused range feedback. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: remove comment Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/stub_code_arm.cc ('k') | runtime/vm/stub_code_ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/stub_code_arm64.cc
diff --git a/runtime/vm/stub_code_arm64.cc b/runtime/vm/stub_code_arm64.cc
index 997c24684c07bf6de3075d92cb91a254948c27cc..32ea930f99cd22877d272874b041f30c796c24f9 100644
--- a/runtime/vm/stub_code_arm64.cc
+++ b/runtime/vm/stub_code_arm64.cc
@@ -1293,8 +1293,7 @@ void StubCode::GenerateUsageCounterIncrement(Assembler* assembler,
static void EmitFastSmiOp(Assembler* assembler,
Token::Kind kind,
intptr_t num_args,
- Label* not_smi_or_overflow,
- bool should_update_result_range) {
+ Label* not_smi_or_overflow) {
__ Comment("Fast Smi op");
__ ldr(R0, Address(SP, + 0 * kWordSize)); // Right.
__ ldr(R1, Address(SP, + 1 * kWordSize)); // Left.
@@ -1322,12 +1321,6 @@ static void EmitFastSmiOp(Assembler* assembler,
default: UNIMPLEMENTED();
}
- if (should_update_result_range) {
- Label done;
- __ UpdateRangeFeedback(R0, 2, R5, R1, R6, &done);
- __ Bind(&done);
- }
-
// R5: IC data object (preserved).
__ LoadFieldFromOffset(R6, R5, ICData::ic_data_offset());
// R6: ic_data_array with check entries: classes and target functions.
@@ -1376,7 +1369,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)
@@ -1405,24 +1397,12 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
__ 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) {
- __ ldr(R0, Address(SP, 1 * kWordSize));
- __ UpdateRangeFeedback(R0, 0, R5, R1, R4, &not_smi_or_overflow);
- }
-
- __ ldr(R0, Address(SP, 0 * kWordSize));
- __ UpdateRangeFeedback(R0, num_args - 1, R5, R1, R4, &not_smi_or_overflow);
- }
if (kind != Token::kILLEGAL) {
EmitFastSmiOp(assembler,
kind,
num_args,
- &not_smi_or_overflow,
- (range_collection_mode == kCollectRanges));
+ &not_smi_or_overflow);
}
__ Bind(&not_smi_or_overflow);
@@ -1546,32 +1526,9 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
__ Comment("Call target");
__ Bind(&call_target_function);
// R0: target function.
- if (range_collection_mode == kCollectRanges) {
- __ LoadFieldFromOffset(R2, R0, Function::entry_point_offset());
- __ ldr(R1, Address(SP, 0 * kWordSize));
- if (num_args == 2) {
- __ ldr(R3, Address(SP, 1 * kWordSize));
- }
- __ EnterStubFrame();
- __ Push(R5);
- if (num_args == 2) {
- __ Push(R3);
- }
- __ Push(R1);
- __ LoadFieldFromOffset(CODE_REG, R0, Function::code_offset());
- __ blr(R2);
-
- Label done;
- __ ldr(R5, Address(FP, kFirstLocalSlotFromFp * kWordSize));
- __ UpdateRangeFeedback(R0, 2, R5, R1, R4, &done);
- __ Bind(&done);
- __ LeaveStubFrame();
- __ ret();
- } else {
- __ LoadFieldFromOffset(CODE_REG, R0, Function::code_offset());
- __ LoadFieldFromOffset(R2, R0, Function::entry_point_offset());
- __ br(R2);
- }
+ __ LoadFieldFromOffset(CODE_REG, R0, Function::code_offset());
+ __ LoadFieldFromOffset(R2, R0, Function::entry_point_offset());
+ __ br(R2);
if (FLAG_support_debugger && !optimized) {
__ Bind(&stepping);
@@ -1599,40 +1556,35 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 1,
- kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL,
- kIgnoreRanges);
+ kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
}
void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
- kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL,
- kIgnoreRanges);
+ kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
}
void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
- kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD,
- kCollectRanges);
+ kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
}
void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
- kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB,
- kCollectRanges);
+ kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
}
void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
- kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ,
- kIgnoreRanges);
+ kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
}
@@ -1641,8 +1593,7 @@ void StubCode::GenerateUnaryRangeCollectingInlineCacheStub(
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 1,
kInlineCacheMissHandlerOneArgRuntimeEntry,
- Token::kILLEGAL,
- kCollectRanges);
+ Token::kILLEGAL);
}
@@ -1651,8 +1602,7 @@ void StubCode::GenerateBinaryRangeCollectingInlineCacheStub(
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
kInlineCacheMissHandlerTwoArgsRuntimeEntry,
- Token::kILLEGAL,
- kCollectRanges);
+ Token::kILLEGAL);
}
@@ -1661,7 +1611,7 @@ void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub(
GenerateOptimizedUsageCounterIncrement(assembler);
GenerateNArgsCheckInlineCacheStub(assembler, 1,
kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL,
- kIgnoreRanges, true /* optimized */);
+ true /* optimized */);
}
@@ -1670,7 +1620,7 @@ void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub(
GenerateOptimizedUsageCounterIncrement(assembler);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL,
- kIgnoreRanges, true /* optimized */);
+ true /* optimized */);
}
@@ -1744,16 +1694,14 @@ void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) {
void StubCode::GenerateOneArgUnoptimizedStaticCallStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(
- assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry, Token::kILLEGAL,
- kIgnoreRanges);
+ assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
}
void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, R6);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
- kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL,
- kIgnoreRanges);
+ kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
}
« no previous file with comments | « runtime/vm/stub_code_arm.cc ('k') | runtime/vm/stub_code_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698