cfgfile_write_str (f, _T("comp_trustnaddr"), compmode[p->comptrustnaddr]);
cfgfile_write_bool (f, _T("comp_nf"), p->compnf);
cfgfile_write_bool (f, _T("comp_constjump"), p->comp_constjump);
- cfgfile_write_bool (f, _T("comp_oldsegv"), p->comp_oldsegv);
cfgfile_write_str (f, _T("comp_flushmode"), flushmode[p->comp_hardflush]);
#ifdef USE_JIT_FPU
cfgfile_write_bool (f, _T("compfpu"), p->compfpu);
|| cfgfile_yesno (option, value, _T("fpu_softfloat"), &p->fpu_softfloat)
|| cfgfile_yesno (option, value, _T("comp_nf"), &p->compnf)
|| cfgfile_yesno (option, value, _T("comp_constjump"), &p->comp_constjump)
- || cfgfile_yesno (option, value, _T("comp_oldsegv"), &p->comp_oldsegv)
#ifdef USE_JIT_FPU
|| cfgfile_yesno (option, value, _T("compfpu"), &p->compfpu)
#endif
p->compnf = 1;
p->comp_hardflush = 0;
p->comp_constjump = 1;
- p->comp_oldsegv = 0;
#ifdef USE_JIT_FPU
p->compfpu = 1;
#else
bool compfpu;
bool comp_hardflush;
bool comp_constjump;
- bool comp_oldsegv;
int cachesize;
bool fpu_strict;
currprefs.compnf != changed_prefs.compnf ||
currprefs.comp_hardflush != changed_prefs.comp_hardflush ||
currprefs.comp_constjump != changed_prefs.comp_constjump ||
- currprefs.comp_oldsegv != changed_prefs.comp_oldsegv ||
currprefs.compfpu != changed_prefs.compfpu ||
currprefs.fpu_strict != changed_prefs.fpu_strict)
changed = 1;
currprefs.compnf = changed_prefs.compnf;
currprefs.comp_hardflush = changed_prefs.comp_hardflush;
currprefs.comp_constjump = changed_prefs.comp_constjump;
- currprefs.comp_oldsegv = changed_prefs.comp_oldsegv;
currprefs.compfpu = changed_prefs.compfpu;
currprefs.fpu_strict = changed_prefs.fpu_strict;
abort ();
}
if (pr) {
- if (currprefs.comp_oldsegv) {
- uae_u32 addr = uae_p32(fault_addr) - uae_p32(NATMEM_OFFSET);
-#ifdef DEBUG_ACCESS
- if ((addr >= 0x10000000 && addr < 0x40000000) ||
- (addr >= 0x50000000)) {
- write_log (_T("JIT: Suspicious address 0x%x in SEGV handler.\n"), addr);
- }
-#endif
- if (dir==SIG_READ) {
- switch (size) {
- case 1: *((uae_u8*)pr)=get_byte (addr); break;
- case 2: *((uae_u16*)pr)=swap16(get_word (addr)); break;
- case 4: *((uae_u32*)pr)=swap32(get_long (addr)); break;
- default: abort();
- }
- }
- else { /* write */
- switch (size) {
- case 1: put_byte (addr,*((uae_u8*)pr)); break;
- case 2: put_word (addr,swap16(*((uae_u16*)pr))); break;
- case 4: put_long (addr,swap32(*((uae_u32*)pr))); break;
- default: abort();
- }
- }
-#ifdef DEBUG_ACCESS
- write_log (_T("JIT: Handled one access!\n"));
-#endif
- fflush(stdout);
- segvcount++;
- CONTEXT_PC(context) += len;
- }
- else {
+ {
uae_u32 addr = uae_p32(fault_addr) - uae_p32(NATMEM_OFFSET);
#ifdef DEBUG_ACCESS
if ((addr >= 0x10000000 && addr < 0x40000000) ||