diff options
author | Oxore <oxore@protonmail.com> | 2025-01-04 16:07:56 +0300 |
---|---|---|
committer | Oxore <oxore@protonmail.com> | 2025-01-07 14:39:01 +0300 |
commit | 07ff2ebf9b29084670fb3fa46f8427d3272117d5 (patch) | |
tree | d8dd69aa52800b6c17ec0bee78b840dc9784a74a /src/disasm.h | |
parent | cb96278e25140cfcc1afc22df2102bcf3b6ae38c (diff) |
Integrate the new trace table parser
Diffstat (limited to 'src/disasm.h')
-rw-r--r-- | src/disasm.h | 4 |
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(); |