Index: runtime/vm/deopt_instructions.cc |
diff --git a/runtime/vm/deopt_instructions.cc b/runtime/vm/deopt_instructions.cc |
index ecef27927e76447d5b42d12e0f7c89b62b6dc1cb..614b9765b8a3e62961d2fc129d740a4f491ce702 100644 |
--- a/runtime/vm/deopt_instructions.cc |
+++ b/runtime/vm/deopt_instructions.cc |
@@ -660,12 +660,16 @@ class DeoptPcMarkerInstr : public DeoptInstr { |
Function& function = Function::Handle(deopt_context->zone()); |
function ^= deopt_context->ObjectAt(object_table_index_); |
if (function.IsNull()) { |
+ // There are no deoptimization stubs on DBC. |
+#if !defined(TARGET_ARCH_DBC) |
*reinterpret_cast<RawObject**>(dest_addr) = deopt_context->is_lazy_deopt() |
? StubCode::DeoptimizeLazy_entry()->code() |
: StubCode::Deoptimize_entry()->code(); |
+#endif |
return; |
} |
+#if !defined(TARGET_ARCH_DBC) |
// We don't always have the Code object for the frame's corresponding |
// unoptimized code as it may have been collected. Use a stub as the pc |
// marker until we can recreate that Code object during deferred |
@@ -673,6 +677,7 @@ class DeoptPcMarkerInstr : public DeoptInstr { |
// a pc marker. |
*reinterpret_cast<RawObject**>(dest_addr) = |
StubCode::FrameAwaitingMaterialization_entry()->code(); |
+#endif |
deopt_context->DeferPcMarkerMaterialization(object_table_index_, dest_addr); |
} |