| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent d4c9b5c commit c4ecfef
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -266,8 +266,17 @@ size_t StringBytes::Write(Isolate* isolate, | |||
| 266 | 266 | ||
| 267 | 267 | case BUFFER: | |
| 268 | 268 | case UTF8: | |
| 269 | - nbytes = str->WriteUtf8V2( | ||
| 270 | - isolate, buf, buflen, String::WriteFlags::kReplaceInvalidUtf8); | ||
| 269 | + if (input_view.is_one_byte()) { | ||
| 270 | + // Use simdutf for one-byte strings instead of V8's WriteUtf8V2. | ||
| 271 | + nbytes = simdutf::convert_latin1_to_utf8_safe( | ||
| 272 | + reinterpret_cast<const char*>(input_view.data8()), | ||
| 273 | + input_view.length(), | ||
| 274 | + buf, | ||
| 275 | + buflen); | ||
| 276 | + } else { | ||
| 277 | + nbytes = str->WriteUtf8V2( | ||
| 278 | + isolate, buf, buflen, String::WriteFlags::kReplaceInvalidUtf8); | ||
| 279 | + } | ||
| 271 | 280 | break; | |
| 272 | 281 | ||
| 273 | 282 | case UCS2: { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments