comparison x86_backend.c @ 282:7b8a49220e3b

Remove deferred address entries from abandoned translations inside z80_retrans_inst
author Mike Pavone <pavone@retrodev.com>
date Sat, 04 May 2013 14:36:50 -0700
parents d9bf8e61c33c
children 140af5509ce7
comparison
equal deleted inserted replaced
281:44f0bbf57b4f 282:7b8a49220e3b
6 deferred_addr * new_head = malloc(sizeof(deferred_addr)); 6 deferred_addr * new_head = malloc(sizeof(deferred_addr));
7 new_head->next = old_head; 7 new_head->next = old_head;
8 new_head->address = address & 0xFFFFFF; 8 new_head->address = address & 0xFFFFFF;
9 new_head->dest = dest; 9 new_head->dest = dest;
10 return new_head; 10 return new_head;
11 }
12
13 void remove_deferred_until(deferred_addr **head_ptr, deferred_addr * remove_to)
14 {
15 for(deferred_addr *cur = *head_ptr; cur && cur != remove_to; cur = *head_ptr)
16 {
17 *head_ptr = cur->next;
18 free(cur);
19 }
11 } 20 }
12 21
13 void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native) 22 void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native)
14 { 23 {
15 deferred_addr * cur = *head_ptr; 24 deferred_addr * cur = *head_ptr;