| Index: runtime/vm/stub_code_arm64.cc
|
| ===================================================================
|
| --- runtime/vm/stub_code_arm64.cc (revision 36530)
|
| +++ runtime/vm/stub_code_arm64.cc (working copy)
|
| @@ -26,6 +26,8 @@
|
| "Set to true for debugging & verifying the slow paths.");
|
| DECLARE_FLAG(bool, trace_optimized_ic_calls);
|
|
|
| +DECLARE_FLAG(bool, enable_debugger);
|
| +
|
| // Input parameters:
|
| // LR : return address.
|
| // SP : address of last argument in argument array.
|
| @@ -1310,19 +1312,21 @@
|
| }
|
| #endif // DEBUG
|
|
|
| - // Check single stepping.
|
| - Label not_stepping;
|
| - __ LoadFieldFromOffset(R6, CTX, Context::isolate_offset(), kNoPP);
|
| - __ LoadFromOffset(
|
| - R6, R6, Isolate::single_step_offset(), kNoPP, kUnsignedByte);
|
| - __ CompareRegisters(R6, ZR);
|
| - __ b(¬_stepping, EQ);
|
| - __ EnterStubFrame();
|
| - __ Push(R5); // Preserve IC data.
|
| - __ CallRuntime(kSingleStepHandlerRuntimeEntry, 0);
|
| - __ Pop(R5);
|
| - __ LeaveStubFrame();
|
| - __ Bind(¬_stepping);
|
| + if (FLAG_enable_debugger) {
|
| + // Check single stepping.
|
| + Label not_stepping;
|
| + __ LoadFieldFromOffset(R6, CTX, Context::isolate_offset(), kNoPP);
|
| + __ LoadFromOffset(
|
| + R6, R6, Isolate::single_step_offset(), kNoPP, kUnsignedByte);
|
| + __ CompareRegisters(R6, ZR);
|
| + __ b(¬_stepping, EQ);
|
| + __ EnterStubFrame();
|
| + __ Push(R5); // Preserve IC data.
|
| + __ CallRuntime(kSingleStepHandlerRuntimeEntry, 0);
|
| + __ Pop(R5);
|
| + __ LeaveStubFrame();
|
| + __ Bind(¬_stepping);
|
| + }
|
|
|
| // Load arguments descriptor into R4.
|
| __ LoadFieldFromOffset(R4, R5, ICData::arguments_descriptor_offset(), kNoPP);
|
|
|