Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index c0024b9cea9b6304a2a260873056371036236046..6f0f16472e248b3bddd20d37e062b2055ceaa405 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -14229,6 +14229,8 @@ RawCode* Code::New(intptr_t pointer_offsets_length) { |
result.set_is_alive(false); |
result.set_comments(Comments::New(0)); |
result.set_compile_timestamp(0); |
+ result.set_lazy_deopt_return_pc_offset(kInvalidPc); |
+ result.set_lazy_deopt_throw_pc_offset(kInvalidPc); |
result.set_pc_descriptors(Object::empty_descriptors()); |
} |
return result.raw(); |
@@ -14542,6 +14544,18 @@ void Code::SetActiveInstructions(RawInstructions* instructions) const { |
} |
+uword Code::GetLazyDeoptReturnPc() const { |
+ return (lazy_deopt_return_pc_offset() != kInvalidPc) |
+ ? PayloadStart() + lazy_deopt_return_pc_offset() : 0; |
+} |
+ |
+ |
+uword Code::GetLazyDeoptThrowPc() const { |
+ return (lazy_deopt_throw_pc_offset() != kInvalidPc) |
+ ? PayloadStart() + lazy_deopt_throw_pc_offset() : 0; |
+} |
+ |
+ |
RawStackmap* Code::GetStackmap( |
uint32_t pc_offset, Array* maps, Stackmap* map) const { |
// This code is used during iterating frames during a GC and hence it |