Skip to content

Commit f1b2861

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 3ef0a5b commit f1b2861

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.24',
41+
'v8_embedder_string': '-node.25',
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
@@ -1226,6 +1226,12 @@ size_t String::Utf8Length(Isolate* isolate, DirectHandle<String> string) {
12261226
reinterpret_cast<const char*>(vec.begin()), vec.size());
12271227
}
12281228

1229+
base::Vector<const base::uc16> vec = content.ToUC16Vector();
1230+
const char16_t* data = reinterpret_cast<const char16_t*>(vec.begin());
1231+
if (simdutf::validate_utf16(data, vec.size())) {
1232+
return simdutf::utf8_length_from_utf16(data, vec.size());
1233+
}
1234+
12291235
// TODO(419496232): Use simdutf once upstream bug is resolved.
12301236
size_t utf8_length = 0;
12311237
uint16_t last_character = unibrow::Utf16::kNoPreviousCharacter;

0 commit comments

Comments
 (0)