summaryrefslogtreecommitdiff
path: root/deps/v8/src/parsing/scanner-character-streams.cc
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2020-05-05 09:19:02 +0200
committerMichaël Zasso <targos@protonmail.com>2020-05-12 16:12:13 +0200
commit1d6adf7432defeb39b751a19c68335e8afb0d8ee (patch)
tree7ab67931110b8d9db770d774c7a6d0d14c976c15 /deps/v8/src/parsing/scanner-character-streams.cc
parentaee36a04475a20c13663d1037aa6f175ff368bc7 (diff)
downloadnode-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.cc29
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(