diff options
author | Michaël Zasso <targos@protonmail.com> | 2020-05-05 09:19:02 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2020-05-12 16:12:13 +0200 |
commit | 1d6adf7432defeb39b751a19c68335e8afb0d8ee (patch) | |
tree | 7ab67931110b8d9db770d774c7a6d0d14c976c15 /deps/v8/src/parsing/scanner-character-streams.cc | |
parent | aee36a04475a20c13663d1037aa6f175ff368bc7 (diff) | |
download | node-new-1d6adf7432defeb39b751a19c68335e8afb0d8ee.tar.gz |
deps: update V8 to 8.3.110.9
PR-URL: https://github.com/nodejs/node/pull/32831
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/parsing/scanner-character-streams.cc')
-rw-r--r-- | deps/v8/src/parsing/scanner-character-streams.cc | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/deps/v8/src/parsing/scanner-character-streams.cc b/deps/v8/src/parsing/scanner-character-streams.cc index 49c7e1f793..1414b3490b 100644 --- a/deps/v8/src/parsing/scanner-character-streams.cc +++ b/deps/v8/src/parsing/scanner-character-streams.cc @@ -792,10 +792,35 @@ std::unique_ptr<Utf16CharacterStream> ScannerStream::ForTesting( std::unique_ptr<Utf16CharacterStream> ScannerStream::ForTesting( const char* data, size_t length) { + if (data == nullptr) { + DCHECK_EQ(length, 0); + + // We don't want to pass in a null pointer into the the character stream, + // because then the one-past-the-end pointer is undefined, so instead pass + // through this static array. + static const char non_null_empty_string[1] = {0}; + data = non_null_empty_string; + } + return std::unique_ptr<Utf16CharacterStream>( new BufferedCharacterStream<TestingStream>( - static_cast<size_t>(0), reinterpret_cast<const uint8_t*>(data), - static_cast<size_t>(length))); + 0, reinterpret_cast<const uint8_t*>(data), length)); +} + +std::unique_ptr<Utf16CharacterStream> ScannerStream::ForTesting( + const uint16_t* data, size_t length) { + if (data == nullptr) { + DCHECK_EQ(length, 0); + + // We don't want to pass in a null pointer into the the character stream, + // because then the one-past-the-end pointer is undefined, so instead pass + // through this static array. + static const uint16_t non_null_empty_uint16_t_string[1] = {0}; + data = non_null_empty_uint16_t_string; + } + + return std::unique_ptr<Utf16CharacterStream>( + new UnbufferedCharacterStream<TestingStream>(0, data, length)); } Utf16CharacterStream* ScannerStream::For( |