Index: runtime/vm/weak_code.cc |
diff --git a/runtime/vm/weak_code.cc b/runtime/vm/weak_code.cc |
index 85e623afb9c1b7d138e40c017bb8244be728275f..cf1e132c5f4035fc096d50d8b2917380a54deec7 100644 |
--- a/runtime/vm/weak_code.cc |
+++ b/runtime/vm/weak_code.cc |
@@ -115,17 +115,15 @@ void WeakCodeReferences::DisableCode() { |
// function is invoked, it will be compiled again. |
function.ClearCode(); |
// Invalidate the old code object so existing references to it |
- // (from optimized code) will fail when invoked. |
- if (!CodePatcher::IsEntryPatched(code)) { |
- CodePatcher::PatchEntry( |
- code, Code::Handle(StubCode::FixCallersTarget_entry()->code())); |
+ // (from optimized code) will be patched when invoked. |
+ if (!code.IsDisabled()) { |
+ code.DisableDartCode(); |
} |
} else { |
// Make non-OSR code non-entrant. |
- if (!CodePatcher::IsEntryPatched(code)) { |
+ if (!code.IsDisabled()) { |
ReportSwitchingCode(code); |
- CodePatcher::PatchEntry( |
- code, Code::Handle(StubCode::FixCallersTarget_entry()->code())); |
+ code.DisableDartCode(); |
} |
} |
} |