summaryrefslogtreecommitdiff
path: root/Source/Core/Common
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common')
-rw-r--r--Source/Core/Common/SymbolDB.cpp1
-rw-r--r--Source/Core/Common/SymbolDB.h13
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/Core/Common/SymbolDB.cpp b/Source/Core/Common/SymbolDB.cpp
index f9d352b415..bfdd9f57db 100644
--- a/Source/Core/Common/SymbolDB.cpp
+++ b/Source/Core/Common/SymbolDB.cpp
@@ -51,6 +51,7 @@ void SymbolDB::Clear(const char* prefix)
{
// TODO: honor prefix
m_functions.clear();
+ m_notes.clear();
m_checksum_to_function.clear();
}
diff --git a/Source/Core/Common/SymbolDB.h b/Source/Core/Common/SymbolDB.h
index 255994b3c2..8930b95996 100644
--- a/Source/Core/Common/SymbolDB.h
+++ b/Source/Core/Common/SymbolDB.h
@@ -29,6 +29,16 @@ struct SCall
u32 call_address;
};
+struct Note
+{
+ std::string name;
+ u32 address = 0;
+ u32 size = 0;
+ int layer = 0;
+
+ Note() = default;
+};
+
struct Symbol
{
enum class Type
@@ -71,6 +81,7 @@ class SymbolDB
{
public:
using XFuncMap = std::map<u32, Symbol>;
+ using XNoteMap = std::map<u32, Note>;
using XFuncPtrMap = std::map<u32, std::set<Symbol*>>;
SymbolDB();
@@ -86,6 +97,7 @@ public:
std::vector<Symbol*> GetSymbolsFromHash(u32 hash);
const XFuncMap& Symbols() const { return m_functions; }
+ const XNoteMap& Notes() const { return m_notes; }
XFuncMap& AccessSymbols() { return m_functions; }
bool IsEmpty() const;
void Clear(const char* prefix = "");
@@ -94,6 +106,7 @@ public:
protected:
XFuncMap m_functions;
+ XNoteMap m_notes;
XFuncPtrMap m_checksum_to_function;
};
} // namespace Common