From 89da530898fa08c23b59e3e3bf64f266f113e014 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Tue, 23 Jan 2024 10:01:11 +0100 Subject: [DYNAREC] use an rbtree for dynablock size and max_db_size update --- src/tools/rbtree.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/tools') diff --git a/src/tools/rbtree.c b/src/tools/rbtree.c index 1fa08b71..a7e4daf1 100644 --- a/src/tools/rbtree.c +++ b/src/tools/rbtree.c @@ -782,6 +782,20 @@ dynarec_log(LOG_DEBUG, "rb_unset(tree, 0x%lX, 0x%lX);\n", start, end); return 0; } +uintptr_t rb_get_righter(rbtree* tree) +{ +dynarec_log(LOG_DEBUG, "rb_get_righter(tree);\n"); + if (!tree->root) return 0; + + rbnode *node = tree->root; + while (node) { + if(!node->right) + return node->start; + node = node->right; + } + return 0; +} + #include void print_rbnode(const rbnode *node, unsigned depth, uintptr_t minstart, uintptr_t maxend, unsigned *bdepth) { if (!node) { -- cgit 1.4.1