mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-27 04:37:22 +00:00
AK: Remove endianness override from Utf16View
Utf16View is now always in "host" endian mode. This makes it smaller and less branchy for everyone!
This commit is contained in:
parent
0e9480b944
commit
7628ddfaf7
Notes:
github-actions[bot]
2025-04-16 08:06:00 +00:00
Author: https://github.com/awesomekling
Commit: 7628ddfaf7
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4370
5 changed files with 16 additions and 159 deletions
|
@ -100,32 +100,11 @@ ErrorOr<String> String::from_utf16(Utf16View const& utf16)
|
|||
|
||||
String result;
|
||||
|
||||
auto utf8_length = [&]() {
|
||||
switch (utf16.endianness()) {
|
||||
case Endianness::Host:
|
||||
return simdutf::utf8_length_from_utf16(utf16.char_data(), utf16.length_in_code_units());
|
||||
case Endianness::Big:
|
||||
return simdutf::utf8_length_from_utf16be(utf16.char_data(), utf16.length_in_code_units());
|
||||
case Endianness::Little:
|
||||
return simdutf::utf8_length_from_utf16le(utf16.char_data(), utf16.length_in_code_units());
|
||||
}
|
||||
VERIFY_NOT_REACHED();
|
||||
}();
|
||||
auto utf8_length = simdutf::utf8_length_from_utf16(utf16.char_data(), utf16.length_in_code_units());
|
||||
|
||||
TRY(result.replace_with_new_string(utf8_length, [&](Bytes buffer) -> ErrorOr<void> {
|
||||
[[maybe_unused]] auto result = [&]() {
|
||||
switch (utf16.endianness()) {
|
||||
case Endianness::Host:
|
||||
return simdutf::convert_utf16_to_utf8(utf16.char_data(), utf16.length_in_code_units(), reinterpret_cast<char*>(buffer.data()));
|
||||
case Endianness::Big:
|
||||
return simdutf::convert_utf16be_to_utf8(utf16.char_data(), utf16.length_in_code_units(), reinterpret_cast<char*>(buffer.data()));
|
||||
case Endianness::Little:
|
||||
return simdutf::convert_utf16le_to_utf8(utf16.char_data(), utf16.length_in_code_units(), reinterpret_cast<char*>(buffer.data()));
|
||||
}
|
||||
VERIFY_NOT_REACHED();
|
||||
}();
|
||||
[[maybe_unused]] auto result = simdutf::convert_utf16_to_utf8(utf16.char_data(), utf16.length_in_code_units(), reinterpret_cast<char*>(buffer.data()));
|
||||
ASSERT(result == buffer.size());
|
||||
|
||||
return {};
|
||||
}));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue