| Index: runtime/vm/debugger_arm.cc
|
| diff --git a/runtime/vm/debugger_arm.cc b/runtime/vm/debugger_arm.cc
|
| index 65458fa256b0a286b468c25e3c82391a9ee4497a..3be4d1ecd79187e174617d874d07d4c023266fcc 100644
|
| --- a/runtime/vm/debugger_arm.cc
|
| +++ b/runtime/vm/debugger_arm.cc
|
| @@ -46,12 +46,22 @@ void CodeBreakpoint::PatchCode() {
|
| WritableInstructionsScope writable(instrs.EntryPoint(), instrs.size());
|
| switch (breakpoint_kind_) {
|
| case RawPcDescriptors::kIcCall:
|
| - case RawPcDescriptors::kUnoptStaticCall:
|
| - case RawPcDescriptors::kRuntimeCall:
|
| + case RawPcDescriptors::kUnoptStaticCall: {
|
| + saved_value_ = CodePatcher::GetStaticCallTargetAt(pc_, code);
|
| + CodePatcher::PatchStaticCallAt(
|
| + pc_, code, StubCode::ICCallBreakpointEntryPoint());
|
| + break;
|
| + }
|
| case RawPcDescriptors::kClosureCall: {
|
| saved_value_ = CodePatcher::GetStaticCallTargetAt(pc_, code);
|
| - CodePatcher::PatchStaticCallAt(pc_, code,
|
| - StubCode::BreakpointRuntimeEntryPoint());
|
| + CodePatcher::PatchStaticCallAt(
|
| + pc_, code, StubCode::ClosureCallBreakpointEntryPoint());
|
| + break;
|
| + }
|
| + case RawPcDescriptors::kRuntimeCall: {
|
| + saved_value_ = CodePatcher::GetStaticCallTargetAt(pc_, code);
|
| + CodePatcher::PatchStaticCallAt(
|
| + pc_, code, StubCode::RuntimeCallBreakpointEntryPoint());
|
| break;
|
| }
|
| default:
|
|
|