summaryrefslogtreecommitdiff
path: root/x86_backend.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-05-04 14:36:50 -0700
committerMike Pavone <pavone@retrodev.com>2013-05-04 14:36:50 -0700
commitd3d2b9651df7ba9fc44b0e24d93a5d3258c75c57 (patch)
tree8d52d4db5e5f7b33ec9d099929c30e6cb88b1f96 /x86_backend.c
parente8b34d6a607ae2e7b0b232baec476b5cbafb4aca (diff)
Remove deferred address entries from abandoned translations inside z80_retrans_inst
Diffstat (limited to 'x86_backend.c')
-rw-r--r--x86_backend.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/x86_backend.c b/x86_backend.c
index b03703e..e3fe0ce 100644
--- a/x86_backend.c
+++ b/x86_backend.c
@@ -10,6 +10,15 @@ deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_
return new_head;
}
+void remove_deferred_until(deferred_addr **head_ptr, deferred_addr * remove_to)
+{
+ for(deferred_addr *cur = *head_ptr; cur && cur != remove_to; cur = *head_ptr)
+ {
+ *head_ptr = cur->next;
+ free(cur);
+ }
+}
+
void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native)
{
deferred_addr * cur = *head_ptr;