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); }