Skip to content

Commit 8ea96e6

Browse files
anonrigaduh95
authored andcommitted
deps: V8: cherry-pick b25cd62c7ba2
Original commit message: Optimize utf8length for utf16 values Change-Id: I4d9546ab45264852f52361123e86fa3b38d79e45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7142019 Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Erik Corry <erikcorry@chromium.org> Commit-Queue: Erik Corry <erikcorry@chromium.org> Cr-Commit-Position: refs/heads/main@{#103754} Refs: v8/v8@b25cd62 PR-URL: #62354 Refs: #61601 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: René <contact.9a5d6388@renegade334.me.uk> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
1 parent cf2b05c commit 8ea96e6

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

common.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
# Reset this number to 0 on major V8 upgrades.
4040
# Increment by one for each non-official patch applied to deps/v8.
41-
'v8_embedder_string': '-node.16',
41+
'v8_embedder_string': '-node.17',
4242

4343
##### V8 defaults for Node.js #####
4444

deps/v8/src/objects/string-inl.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,6 +1221,12 @@ size_t String::Utf8Length(Isolate* isolate, DirectHandle<String> string) {
12211221
reinterpret_cast<const char*>(vec.begin()), vec.size());
12221222
}
12231223

1224+
base::Vector<const base::uc16> vec = content.ToUC16Vector();
1225+
const char16_t* data = reinterpret_cast<const char16_t*>(vec.begin());
1226+
if (simdutf::validate_utf16(data, vec.size())) {
1227+
return simdutf::utf8_length_from_utf16(data, vec.size());
1228+
}
1229+
12241230
// TODO(419496232): Use simdutf once upstream bug is resolved.
12251231
size_t utf8_length = 0;
12261232
uint16_t last_character = unibrow::Utf16::kNoPreviousCharacter;

0 commit comments

Comments
 (0)