From f35f6d22182b901dbe868b46a82c42e35a57d11c Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Thu, 2 Feb 2023 12:51:01 -0500 Subject: [PATCH] src: use simdutf utf8 to utf16 instead of icu PR-URL: https://github.com/nodejs/node/pull/46471 Reviewed-By: Anna Henningsen Reviewed-By: Rafael Gonzaga Reviewed-By: James M Snell --- src/inspector/main_thread_interface.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/inspector/main_thread_interface.cc b/src/inspector/main_thread_interface.cc index 0cf75a37146729..23c34da7f58573 100644 --- a/src/inspector/main_thread_interface.cc +++ b/src/inspector/main_thread_interface.cc @@ -2,8 +2,9 @@ #include "env-inl.h" #include "node_mutex.h" -#include "v8-inspector.h" +#include "simdutf.h" #include "util-inl.h" +#include "v8-inspector.h" #include @@ -289,10 +290,12 @@ Deletable* MainThreadInterface::GetObjectIfExists(int id) { } std::unique_ptr Utf8ToStringView(const std::string& message) { - icu::UnicodeString utf16 = icu::UnicodeString::fromUTF8( - icu::StringPiece(message.data(), message.length())); - StringView view(reinterpret_cast(utf16.getBuffer()), - utf16.length()); + size_t expected_u16_length = + simdutf::utf16_length_from_utf8(message.data(), message.length()); + MaybeStackBuffer buffer(expected_u16_length); + size_t utf16_length = simdutf::convert_utf8_to_utf16( + message.data(), message.length(), buffer.out()); + StringView view(reinterpret_cast(buffer.out()), utf16_length); return StringBuffer::create(view); }