More refactoring and general cleanup. Most things should be working again now.
Split off cache and start real implementation, breaking save states in the process
Makefile.in
src/Makefile.am
src/Makefile.in
src/aica/armmem.c
src/dreamcast.c
src/dreamcast.h
src/mem.c
src/mem.h
src/pvr2/pvr2.c
src/pvr2/pvr2.h
...
Split off cache and start real implementation, breaking save states in the process
Makefile.in
src/Makefile.am
src/Makefile.in
src/aica/armmem.c
src/dreamcast.c
src/dreamcast.h
src/mem.c
src/mem.h
src/pvr2/pvr2.c
src/pvr2/pvr2.h
...
Remove pointer cache and add full address-space map. Much better
src/dreamcast.c
src/mem.c
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4core.h
src/sh4/sh4mem.c
src/sh4/sh4x86.in
src/sh4/x86op.h
...
src/dreamcast.c
src/mem.c
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4core.h
src/sh4/sh4mem.c
src/sh4/sh4x86.in
src/sh4/x86op.h
...
First pass experiment using cached decoding.
src/aica/aica.c
src/asic.c
src/dreamcast.c
src/mem.c
src/mem.h
src/mmio.h
src/pvr2/pvr2.c
src/pvr2/pvr2mem.c
src/sh4/dmac.c
src/sh4/ia32abi.h
...
src/aica/aica.c
src/asic.c
src/dreamcast.c
src/mem.c
src/mem.h
src/mmio.h
src/pvr2/pvr2.c
src/pvr2/pvr2mem.c
src/sh4/dmac.c
src/sh4/ia32abi.h
...
Create branch for memory system refactoring
Add return-address-modifying exception return code to mmu TLB lookups (a little bit faster)
acinclude.m4
config.h.in
configure
configure.in
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/mmu.c
src/sh4/sh4core.h
src/sh4/sh4core.in
src/sh4/sh4mem.c
...
acinclude.m4
config.h.in
configure
configure.in
src/sh4/ia32abi.h
src/sh4/ia64abi.h
src/sh4/mmu.c
src/sh4/sh4core.h
src/sh4/sh4core.in
src/sh4/sh4mem.c
...
Setup a 'proper' stackframe in translated blocks. This doesn't affect performance noticeably,
but does ensure that
a) The stack is aligned correctly on OS X with no extra effort, and
b) We can't mess up the stack and crash that way anymore.
Replace all PUSH/POP instructions (outside of prologue/epilogue) with ESP-rel moves to stack
local variables.
Finally merge ia32mac and ia32abi together, since they're pretty much the same now anyway (and
thereby simplifying maintenance a good deal)
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/ia64abi.h
src/sh4/sh4trans.h
src/sh4/sh4x86.in
src/sh4/x86op.h
but does ensure that
a) The stack is aligned correctly on OS X with no extra effort, and
b) We can't mess up the stack and crash that way anymore.
Replace all PUSH/POP instructions (outside of prologue/epilogue) with ESP-rel moves to stack
local variables.
Finally merge ia32mac and ia32abi together, since they're pretty much the same now anyway (and
thereby simplifying maintenance a good deal)
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/ia64abi.h
src/sh4/sh4trans.h
src/sh4/sh4x86.in
src/sh4/x86op.h
Make HAVE_FASTCALL dependent on whether the compiler supports the attribute,
rather than on whether we're making an optimized build - in any case there's
no good reason to disable it for debug builds.
acinclude.m4
aclocal.m4
configure.in
rather than on whether we're making an optimized build - in any case there's
no good reason to disable it for debug builds.
acinclude.m4
aclocal.m4
configure.in
Disable the generational translation cache - I've got no evidence that it
actually helps performance, and it simplifies things to get rid of it (in
particular, translated code doesn't have to worry about being moved now).
src/dreamcast.h
src/sh4/xltcache.c
src/test/testxlt.c
actually helps performance, and it simplifies things to get rid of it (in
particular, translated code doesn't have to worry about being moved now).
src/dreamcast.h
src/sh4/xltcache.c
src/test/testxlt.c
.