Index: src/assembler.cc |
diff --git a/src/assembler.cc b/src/assembler.cc |
index 19662c44972da9aab22ccac15b45fdc3efedbc3f..89dc8751d1d98b2a1646f8770d4005498980b1cd 100644 |
--- a/src/assembler.cc |
+++ b/src/assembler.cc |
@@ -1620,9 +1620,10 @@ bool PositionsRecorder::WriteRecordedPositions() { |
} |
// Write the position if it is different from what was written last time and |
- // also different from the written statement position. |
+ // also different from the statement position that was just written. |
if (state_.current_position != state_.written_position && |
- state_.current_position != state_.written_statement_position) { |
+ (state_.current_position != state_.written_statement_position || |
+ !written)) { |
EnsureSpace ensure_space(assembler_); |
assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); |
state_.written_position = state_.current_position; |