| Index: runtime/vm/debugger_ia32.cc
|
| diff --git a/runtime/vm/debugger_ia32.cc b/runtime/vm/debugger_ia32.cc
|
| index 470c33330bbff68318a6bd434216c09188f4392d..8798e3804534d6ed561133d4377ed5259bd19adc 100644
|
| --- a/runtime/vm/debugger_ia32.cc
|
| +++ b/runtime/vm/debugger_ia32.cc
|
| @@ -50,12 +50,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:
|
|
|