Index: runtime/vm/code_descriptors.cc |
diff --git a/runtime/vm/code_descriptors.cc b/runtime/vm/code_descriptors.cc |
index e5fa106746c9ca756c77762b250baf89d9617c61..dad76d97e0179cb0b70c971d282fcc663011ce2a 100644 |
--- a/runtime/vm/code_descriptors.cc |
+++ b/runtime/vm/code_descriptors.cc |
@@ -44,6 +44,9 @@ RawPcDescriptors* DescriptorList::FinalizePcDescriptors(uword entry_point) { |
void CodeSourceMapBuilder::AddEntry(intptr_t pc_offset, |
TokenPosition token_pos) { |
+ // Require pc offset to monotonically increase. |
+ ASSERT((prev_pc_offset < pc_offset) || |
+ ((prev_pc_offset == 0) && (pc_offset == 0))); |
CodeSourceMap::EncodeInteger(&encoded_data_, pc_offset - prev_pc_offset); |
CodeSourceMap::EncodeInteger(&encoded_data_, |
token_pos.value() - prev_token_pos); |