From 85fc57faa32625f6b8294f0081d2af2e821750d9 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Tue, 8 Oct 2024 13:11:42 +0200 Subject: Improve debugging trace of rb_tree --- src/box64context.c | 2 +- src/custommem.c | 8 ++++---- src/include/rbtree.h | 2 +- src/tools/rbtree.c | 12 +++++++----- 4 files changed, 13 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/box64context.c b/src/box64context.c index 928357f4..2a2e1cae 100644 --- a/src/box64context.c +++ b/src/box64context.c @@ -287,7 +287,7 @@ box64context_t *NewBox64Context(int argc) initAllHelpers(context); #ifdef DYNAREC - context->db_sizes = init_rbtree(); + context->db_sizes = init_rbtree("db_sizes"); #endif return context; diff --git a/src/custommem.c b/src/custommem.c index f0b1f72d..f7ddf6d9 100644 --- a/src/custommem.c +++ b/src/custommem.c @@ -1924,12 +1924,12 @@ void init_custommem_helper(box64context_t* ctx) if(inited) // already initialized return; inited = 1; - blockstree = init_rbtree(); + blockstree = init_rbtree("blockstree"); // if there is some blocks already if(n_blocks) for(int i=0; iroot = NULL; tree->is_unstable = 0; + tree->name = name?"(rbtree)":name; return tree; } @@ -591,7 +593,7 @@ int rb_get_end(rbtree* tree, uintptr_t addr, uint32_t* val, uintptr_t* end) { int rb_set(rbtree *tree, uintptr_t start, uintptr_t end, uint32_t data) { // printf("rb_set( "); print_rbtree(tree); printf(" , 0x%lX, 0x%lX, %hhu);\n", start, end, data); fflush(stdout); -dynarec_log(LOG_DEBUG, "set 0x%lX, 0x%lX, 0x%x\n", start, end, data); +dynarec_log(LOG_DEBUG, "set %s: 0x%lX, 0x%lX, 0x%x\n", tree->name, start, end, data); if (!tree->root) { return add_range(tree, start, end, data); } @@ -724,7 +726,7 @@ dynarec_log(LOG_DEBUG, "set 0x%lX, 0x%lX, 0x%x\n", start, end, data); int rb_unset(rbtree *tree, uintptr_t start, uintptr_t end) { // printf("rb_unset( "); print_rbtree(tree); printf(" , 0x%lX, 0x%lX);\n", start, end); fflush(stdout); -dynarec_log(LOG_DEBUG, "rb_unset(tree, 0x%lX, 0x%lX);\n", start, end); +dynarec_log(LOG_DEBUG, "unset: %s 0x%lX, 0x%lX);\n", tree->name, start, end); if (!tree->root) return 0; rbnode *node = tree->root, *prev = NULL, *next = NULL; @@ -784,7 +786,7 @@ dynarec_log(LOG_DEBUG, "rb_unset(tree, 0x%lX, 0x%lX);\n", start, end); uintptr_t rb_get_righter(rbtree* tree) { -dynarec_log(LOG_DEBUG, "rb_get_righter(tree);\n"); +dynarec_log(LOG_DEBUG, "rb_get_righter(%s);\n", tree->name); if (!tree->root) return 0; rbnode *node = tree->root; @@ -858,7 +860,7 @@ void print_rbtree(const rbtree *tree) { #ifdef RBTREE_TEST int main() { - rbtree* tree = init_rbtree(); + rbtree* tree = init_rbtree("test"); print_rbtree(tree); fflush(stdout); /*int ret; ret = rb_set(tree, 0x43, 0x44, 0x01); -- cgit 1.4.1