summaryrefslogtreecommitdiff
path: root/src/disasm.h
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2025-02-01 18:14:31 +0300
committerOxore <oxore@protonmail.com>2025-02-01 18:21:52 +0300
commitbea4c5538e287cd3b5943c1e45e8b24c5b462cb4 (patch)
treedcbd39477f9482006aa566d315c9d25026b90e1e /src/disasm.h
parent07ff2ebf9b29084670fb3fa46f8427d3272117d5 (diff)
Turn ReferenceRecord chains into a simple linked list
Diffstat (limited to 'src/disasm.h')
-rw-r--r--src/disasm.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/disasm.h b/src/disasm.h
index 5b1b4b9..2a6a1d0 100644
--- a/src/disasm.h
+++ b/src/disasm.h
@@ -20,18 +20,11 @@ enum class ReferenceType {
};
struct ReferenceRecord {
+ ReferenceRecord *next{};
ReferenceType type{};
uint32_t address{};
};
-constexpr size_t kRefsCountPerBuffer = 10;
-
-struct ReferenceNode {
- ReferenceNode *next{};
- ReferenceRecord refs[kRefsCountPerBuffer];
- uint32_t refs_count{};
-};
-
enum class NodeType {
kTracedInstruction,
kRefInstruction,
@@ -50,8 +43,8 @@ struct DisasmNode {
uint32_t ref1_addr{};
/// Address of second argument reference
uint32_t ref2_addr{};
- ReferenceNode *ref_by{};
- ReferenceNode *last_ref_by{};
+ ReferenceRecord *ref_by{};
+ ReferenceRecord *last_ref_by{};
Op op{};
/*! Disassembles instruction with arguments