diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-01-23 10:01:11 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-01-23 10:01:11 +0100 |
| commit | 89da530898fa08c23b59e3e3bf64f266f113e014 (patch) | |
| tree | e38ddfff281f2d2144916be550b839081cbcd095 /src/tools | |
| parent | 2367e7df504dadd495abe095bd167cce67afb713 (diff) | |
| download | box64-89da530898fa08c23b59e3e3bf64f266f113e014.tar.gz box64-89da530898fa08c23b59e3e3bf64f266f113e014.zip | |
[DYNAREC] use an rbtree for dynablock size and max_db_size update
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/rbtree.c | 14 |
1 files changed, 14 insertions, 0 deletions
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 <stdio.h> void print_rbnode(const rbnode *node, unsigned depth, uintptr_t minstart, uintptr_t maxend, unsigned *bdepth) { if (!node) { |