comparison m68k_core.c @ 2244:e6bad7bd8751

merge
author Michael Pavone <pavone@retrodev.com>
date Tue, 22 Nov 2022 23:07:41 -0800
parents 31fc1186ffbb
children 0111c8344477
comparison
equal deleted inserted replaced
2243:0d1d5dccdd28 2244:e6bad7bd8751
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) {