Mercurial > repos > blastem
comparison disasm.c @ 2207:de3d20e58555
Mostly fix label sorting post-refactor
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 27 Aug 2022 17:35:28 -0700 |
parents | 4c265d2f6c88 |
children | 53411df7fc71 |
comparison
equal
deleted
inserted
replaced
2206:4c265d2f6c88 | 2207:de3d20e58555 |
---|---|
1 #include "disasm.h" | 1 #include "disasm.h" |
2 | 2 |
3 label_def *find_label(disasm_context *context, uint32_t address) | 3 label_def *find_label(disasm_context *context, uint32_t address) |
4 { | 4 { |
5 char key[MAX_INT_KEY_SIZE]; | 5 char key[MAX_INT_KEY_SIZE]; |
6 tern_int_key(address & context->address_mask, key); | 6 tern_sortable_int_key(address & context->address_mask, key); |
7 return tern_find_ptr(context->labels, key); | 7 return tern_find_ptr(context->labels, key); |
8 } | 8 } |
9 | 9 |
10 label_def *add_find_label(disasm_context *context, uint32_t address) | 10 label_def *add_find_label(disasm_context *context, uint32_t address) |
11 { | 11 { |
12 char key[MAX_INT_KEY_SIZE]; | 12 char key[MAX_INT_KEY_SIZE]; |
13 tern_int_key(address & context->address_mask, key); | 13 tern_sortable_int_key(address & context->address_mask, key); |
14 label_def *def = tern_find_ptr(context->labels, key); | 14 label_def *def = tern_find_ptr(context->labels, key); |
15 if (!def) | 15 if (!def) |
16 { | 16 { |
17 def = calloc(1, sizeof(label_def)); | 17 def = calloc(1, sizeof(label_def)); |
18 context->labels = tern_insert_ptr(context->labels, key, def); | 18 context->labels = tern_insert_ptr(context->labels, key, def); |