1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:28:11 +00:00

LibDebug: Avoid unnecessary String allocation in append_to_line_info()

This code path is very hot, and since we're seeing a lot of the same
strings repeatedly (and they're heading into a FlyString for storage)
let's construct those using FlyString(StringView) to avoid temporary
String objects.
This commit is contained in:
Andreas Kling 2021-05-15 09:54:01 +02:00
parent a4099fc756
commit 08c55b7606

View file

@ -130,14 +130,14 @@ void LineProgram::append_to_line_info()
if (m_file_index >= m_source_files.size())
return;
String directory = m_source_directories[m_source_files[m_file_index].directory_index];
auto const& directory = m_source_directories[m_source_files[m_file_index].directory_index];
StringBuilder full_path(directory.length() + m_source_files[m_file_index].name.length() + 1);
full_path.append(directory);
full_path.append('/');
full_path.append(m_source_files[m_file_index].name);
m_lines.append({ m_address, full_path.to_string(), m_line });
m_lines.append({ m_address, FlyString { full_path.string_view() }, m_line });
}
void LineProgram::reset_registers()