summaryrefslogtreecommitdiff
path: root/deps/v8/src/parsing/scanner.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/parsing/scanner.h')
-rw-r--r--deps/v8/src/parsing/scanner.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/deps/v8/src/parsing/scanner.h b/deps/v8/src/parsing/scanner.h
index b638185b5b..2e035b2976 100644
--- a/deps/v8/src/parsing/scanner.h
+++ b/deps/v8/src/parsing/scanner.h
@@ -44,7 +44,9 @@ class Utf16CharacterStream {
virtual ~Utf16CharacterStream() = default;
V8_INLINE void set_parser_error() {
- buffer_cursor_ = buffer_end_;
+ // source_pos() returns one previous position of the cursor.
+ // Offset 1 cancels this out and makes it return exactly buffer_end_.
+ buffer_cursor_ = buffer_end_ + 1;
has_parser_error_ = true;
}
V8_INLINE void reset_parser_error_flag() { has_parser_error_ = false; }
@@ -245,7 +247,9 @@ class V8_EXPORT_PRIVATE Scanner {
if (!has_parser_error()) {
c0_ = kEndOfInput;
source_->set_parser_error();
- for (TokenDesc& desc : token_storage_) desc.token = Token::ILLEGAL;
+ for (TokenDesc& desc : token_storage_) {
+ if (desc.token != Token::UNINITIALIZED) desc.token = Token::ILLEGAL;
+ }
}
}
V8_INLINE void reset_parser_error_flag() {