comparison m68k_core.c @ 2242:31fc1186ffbb

Use translate_out_of_bounds rather than defer_translation for addresses that lack native code size metadata
author Michael Pavone <pavone@retrodev.com>
date Sun, 30 Oct 2022 12:04:29 -0700
parents e22137f0aca4
children 0111c8344477
comparison
equal deleted inserted replaced
2241:48f718126099 2242:31fc1186ffbb
1035 break; 1035 break;
1036 } 1036 }
1037 memmap_chunk const *chunk = find_map_chunk(address, &opts->gen, 0, NULL); 1037 memmap_chunk const *chunk = find_map_chunk(address, &opts->gen, 0, NULL);
1038 if (!chunk) { 1038 if (!chunk) {
1039 code_ptr start = code->cur; 1039 code_ptr start = code->cur;
1040 defer_translation(&opts->gen, address, opts->retrans_stub); 1040 translate_out_of_bounds(opts, address);
1041 code_ptr after = code->cur; 1041 code_ptr after = code->cur;
1042 map_native_address(context, address, start, 2, after-start); 1042 map_native_address(context, address, start, 2, after-start);
1043 break; 1043 break;
1044 } 1044 }
1045 if (!(chunk->flags & MMAP_READ)) { 1045 if (!(chunk->flags & MMAP_READ)) {
1046 code_ptr start = code->cur; 1046 code_ptr start = code->cur;
1047 defer_translation(&opts->gen, address, opts->retrans_stub); 1047 if (chunk->flags & MMAP_CODE) {
1048 defer_translation(&opts->gen, address, opts->retrans_stub);
1049 } else {
1050 translate_out_of_bounds(opts, address);
1051 }
1048 code_ptr after = code->cur; 1052 code_ptr after = code->cur;
1049 map_native_address(context, address, start, 2, after-start); 1053 map_native_address(context, address, start, 2, after-start);
1050 break; 1054 break;
1051 } 1055 }
1052 if (!starting_chunk) { 1056 if (!starting_chunk) {