Index: runtime/vm/debugger_mips.cc |
diff --git a/runtime/vm/debugger_mips.cc b/runtime/vm/debugger_mips.cc |
index b54a5e918580c42499d7228047591838392f658a..7caa4612a1bc3e0124afeb7f8269880a5b8547e4 100644 |
--- a/runtime/vm/debugger_mips.cc |
+++ b/runtime/vm/debugger_mips.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: |