LibDebug: Use FlyString for file paths
The same file path occurs over and over in debug info, so let's store them as FlyString to ensure we only have one of each in memory.
This commit is contained in:
parent
4eb3cf68b7
commit
395313039d
Notes:
sideshowbarker
2024-07-19 01:22:31 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/395313039d8
2 changed files with 5 additions and 5 deletions
|
@ -43,7 +43,7 @@ public:
|
|||
explicit DebugInfo(NonnullRefPtr<const ELF::Loader> elf);
|
||||
|
||||
struct SourcePosition {
|
||||
String file_path;
|
||||
FlyString file_path;
|
||||
size_t line_number { 0 };
|
||||
u32 address_of_first_statement { 0 };
|
||||
|
||||
|
@ -96,7 +96,7 @@ public:
|
|||
template<typename Callback>
|
||||
void for_each_source_position(Callback callback) const
|
||||
{
|
||||
String previous_file = "";
|
||||
FlyString previous_file = "";
|
||||
size_t previous_line = 0;
|
||||
for (const auto& line_info : m_sorted_lines) {
|
||||
if (line_info.file == previous_file && line_info.line == previous_line)
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <AK/FlyString.h>
|
||||
#include <AK/MemoryStream.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/Vector.h>
|
||||
|
||||
namespace Debug::Dwarf {
|
||||
|
@ -38,7 +38,7 @@ public:
|
|||
|
||||
struct LineInfo {
|
||||
u32 address { 0 };
|
||||
String file;
|
||||
FlyString file;
|
||||
size_t line { 0 };
|
||||
};
|
||||
|
||||
|
@ -93,7 +93,7 @@ private:
|
|||
};
|
||||
|
||||
struct FileEntry {
|
||||
String name;
|
||||
FlyString name;
|
||||
size_t directory_index { 0 };
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue