summaryrefslogtreecommitdiff
path: root/src/disasm.h
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2025-01-04 16:07:56 +0300
committerOxore <oxore@protonmail.com>2025-01-07 14:39:01 +0300
commit07ff2ebf9b29084670fb3fa46f8427d3272117d5 (patch)
treed8dd69aa52800b6c17ec0bee78b840dc9784a74a /src/disasm.h
parentcb96278e25140cfcc1afc22df2102bcf3b6ae38c (diff)
Integrate the new trace table parser
Diffstat (limited to 'src/disasm.h')
-rw-r--r--src/disasm.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/disasm.h b/src/disasm.h
index a805df6..5b1b4b9 100644
--- a/src/disasm.h
+++ b/src/disasm.h
@@ -6,6 +6,7 @@
#include "elf_image.h"
#include "common.h"
#include "m68k.h"
+#include "tracetab.h"
#include <cstdint>
#include <cstddef>
@@ -90,11 +91,11 @@ class DisasmMap {
DisasmNode *_map[kDisasmMapSizeElements]{};
Symbol *_symtab{};
size_t _symtab_size{};
+ TraceTable _tt{};
constexpr DisasmNode *findNodeByAddress(uint32_t address) const;
constexpr size_t findFirstSymbolAtAddress(
uint32_t address, bool return_last_considered=false) const;
DisasmNode &insertNode(uint32_t address, NodeType);
- void insertSymbol(uint32_t address, ReferenceType ref_type);
DisasmNode &insertReferencedBy(
const uint32_t by_addr,
const uint32_t ref_addr,
@@ -113,6 +114,7 @@ public:
};
void InsertNode(uint32_t address, NodeType type);
bool ApplySymbolsFromElf(const ELF::Image &);
+ void ConsumeTraceTable(TraceTable &&);
void Disasm(const DataView &code, const Settings &, size_t from=0, bool nested=false);
DisasmMap(DisasmMapType type): _type(type) {}
~DisasmMap();