From 0a66b223e149a841669bfad5598e4254589730cb Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Tue, 1 Aug 2017 11:36:44 -0500 Subject: deps: update V8 to 6.0.286.52 PR-URL: https://github.com/nodejs/node/pull/14004 Reviewed-By: Anna Henningsen Reviewed-By: Anna Henningsen Reviewed-By: Franziska Hinkelmann Reviewed-By: James M Snell Reviewed-By: Matteo Collina Reviewed-By: Colin Ihrig --- deps/v8/src/parsing/scanner-character-streams.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'deps/v8/src/parsing/scanner-character-streams.cc') diff --git a/deps/v8/src/parsing/scanner-character-streams.cc b/deps/v8/src/parsing/scanner-character-streams.cc index d3162dfbb2..e22308e8d5 100644 --- a/deps/v8/src/parsing/scanner-character-streams.cc +++ b/deps/v8/src/parsing/scanner-character-streams.cc @@ -387,8 +387,10 @@ void Utf8ExternalStreamingStream::SearchPosition(size_t position) { // checking whether the # bytes in a chunk are equal to the # chars, and if // so avoid the expensive SkipToPosition.) bool ascii_only_chunk = + chunks_[chunk_no].start.incomplete_char == + unibrow::Utf8::Utf8IncrementalBuffer(0) && (chunks_[chunk_no + 1].start.bytes - chunks_[chunk_no].start.bytes) == - (chunks_[chunk_no + 1].start.chars - chunks_[chunk_no].start.chars); + (chunks_[chunk_no + 1].start.chars - chunks_[chunk_no].start.chars); if (ascii_only_chunk) { size_t skip = position - chunks_[chunk_no].start.chars; current_ = {chunk_no, @@ -816,16 +818,20 @@ Utf16CharacterStream* ScannerStream::For(Handle data) { Utf16CharacterStream* ScannerStream::For(Handle data, int start_pos, int end_pos) { DCHECK(start_pos >= 0); + DCHECK(start_pos <= end_pos); DCHECK(end_pos <= data->length()); if (data->IsExternalOneByteString()) { return new ExternalOneByteStringUtf16CharacterStream( - Handle::cast(data), start_pos, end_pos); + Handle::cast(data), + static_cast(start_pos), static_cast(end_pos)); } else if (data->IsExternalTwoByteString()) { return new ExternalTwoByteStringUtf16CharacterStream( - Handle::cast(data), start_pos, end_pos); + Handle::cast(data), + static_cast(start_pos), static_cast(end_pos)); } else { // TODO(vogelheim): Maybe call data.Flatten() first? - return new GenericStringUtf16CharacterStream(data, start_pos, end_pos); + return new GenericStringUtf16CharacterStream( + data, static_cast(start_pos), static_cast(end_pos)); } } -- cgit v1.2.1