From 7f66191805e87de02fec7c43fc14066e2577cb7a Mon Sep 17 00:00:00 2001 From: Mert Can Altin Date: Thu, 5 Feb 2026 22:09:04 +0300 Subject: [PATCH] src: use simdutf for one-byte string UTF-8 write in stringBytes --- src/string_bytes.cc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/string_bytes.cc b/src/string_bytes.cc index 6341346da07bec..28432a82ad8835 100644 --- a/src/string_bytes.cc +++ b/src/string_bytes.cc @@ -266,8 +266,17 @@ size_t StringBytes::Write(Isolate* isolate, case BUFFER: case UTF8: - nbytes = str->WriteUtf8V2( - isolate, buf, buflen, String::WriteFlags::kReplaceInvalidUtf8); + if (input_view.is_one_byte()) { + // Use simdutf for one-byte strings instead of V8's WriteUtf8V2. + nbytes = simdutf::convert_latin1_to_utf8_safe( + reinterpret_cast(input_view.data8()), + input_view.length(), + buf, + buflen); + } else { + nbytes = str->WriteUtf8V2( + isolate, buf, buflen, String::WriteFlags::kReplaceInvalidUtf8); + } break; case UCS2: {