| Index: runtime/vm/stub_code_arm.cc
|
| diff --git a/runtime/vm/stub_code_arm.cc b/runtime/vm/stub_code_arm.cc
|
| index afe30f72a4e073ec76bb6b5409f4da1b60938478..08a6d0e556e632b14e56977868ea7abc101a27a6 100644
|
| --- a/runtime/vm/stub_code_arm.cc
|
| +++ b/runtime/vm/stub_code_arm.cc
|
| @@ -1336,7 +1336,8 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
| intptr_t num_args,
|
| const RuntimeEntry& handle_ic_miss,
|
| Token::Kind kind,
|
| - RangeCollectionMode range_collection_mode) {
|
| + RangeCollectionMode range_collection_mode,
|
| + bool optimized) {
|
| ASSERT(num_args > 0);
|
| #if defined(DEBUG)
|
| { Label ok;
|
| @@ -1353,7 +1354,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
| #endif // DEBUG
|
|
|
| Label stepping, done_stepping;
|
| - if (FLAG_support_debugger) {
|
| + if (FLAG_support_debugger && !optimized) {
|
| __ Comment("Check single stepping");
|
| __ LoadIsolate(R6);
|
| __ ldrb(R6, Address(R6, Isolate::single_step_offset()));
|
| @@ -1507,7 +1508,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
| __ bx(R2);
|
| }
|
|
|
| - if (FLAG_support_debugger) {
|
| + if (FLAG_support_debugger && !optimized) {
|
| __ Bind(&stepping);
|
| __ EnterStubFrame();
|
| __ Push(R5); // Preserve IC data.
|
| @@ -1600,7 +1601,7 @@ void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub(
|
| GenerateOptimizedUsageCounterIncrement(assembler);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 1,
|
| kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL,
|
| - kIgnoreRanges);
|
| + kIgnoreRanges, true /* optimized */);
|
| }
|
|
|
|
|
| @@ -1609,7 +1610,7 @@ void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub(
|
| GenerateOptimizedUsageCounterIncrement(assembler);
|
| GenerateNArgsCheckInlineCacheStub(assembler, 2,
|
| kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL,
|
| - kIgnoreRanges);
|
| + kIgnoreRanges, true /* optimized */);
|
| }
|
|
|
|
|
|
|