Mercurial > repos > blastem
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) { |