Index: src/interpreter/source-position-table.cc |
diff --git a/src/interpreter/source-position-table.cc b/src/interpreter/source-position-table.cc |
index 2a8800548bd76bd499de5a5c591e3433ed02687b..72ce7d5268cbbcf911910ad63e0840b1144fb4fd 100644 |
--- a/src/interpreter/source-position-table.cc |
+++ b/src/interpreter/source-position-table.cc |
@@ -18,7 +18,7 @@ class SourcePositionField : public BitField<int, 1, 30> {}; |
void SourcePositionTableBuilder::AddStatementPosition(size_t bytecode_offset, |
int source_position) { |
int offset = static_cast<int>(bytecode_offset); |
- AssertMonotonic(offset); |
+ if (AlreadyHasPosition(offset)) return; |
uint32_t encoded = IsStatementField::encode(true) | |
SourcePositionField::encode(source_position); |
entries_.push_back({offset, encoded}); |
@@ -27,7 +27,7 @@ void SourcePositionTableBuilder::AddStatementPosition(size_t bytecode_offset, |
void SourcePositionTableBuilder::AddExpressionPosition(size_t bytecode_offset, |
int source_position) { |
int offset = static_cast<int>(bytecode_offset); |
- AssertMonotonic(offset); |
+ if (AlreadyHasPosition(offset)) return; |
uint32_t encoded = IsStatementField::encode(false) | |
SourcePositionField::encode(source_position); |
entries_.push_back({offset, encoded}); |