Change xlat_get_native_pc to pass in the expected code region - this lets the Mac
unwind implementation range test the IP address (which works) rather than EBP
(which doesn't for some reason).
Remove the test in configure that prevents fomit-frame-pointer being used in Mac
builds.
configure
configure.in
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/sh4trans.c
src/sh4/xltcache.h
unwind implementation range test the IP address (which works) rather than EBP
(which doesn't for some reason).
Remove the test in configure that prevents fomit-frame-pointer being used in Mac
builds.
configure
configure.in
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/sh4trans.c
src/sh4/xltcache.h
Use regparam calling conventions for all functions called from translated code,
along with a few other high-use functions. Can probably extend this to all functions,
but as it is this is a nice performance boost
src/lxdream.h
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/mmu.c
src/sh4/sh4.c
src/sh4/sh4core.h
src/sh4/sh4mem.c
src/sh4/sh4stat.h
src/sh4/sh4stat.in
src/sh4/sh4trans.c
...
along with a few other high-use functions. Can probably extend this to all functions,
but as it is this is a nice performance boost
src/lxdream.h
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/mmu.c
src/sh4/sh4.c
src/sh4/sh4core.h
src/sh4/sh4mem.c
src/sh4/sh4stat.h
src/sh4/sh4stat.in
src/sh4/sh4trans.c
...
Enable the FIPR SSE3 code for now, and add a comment on the sh4r.fr alignment
src/sh4/sh4.h
src/sh4/sh4x86.in
src/sh4/sh4.h
src/sh4/sh4x86.in
Add SSE3 versions of FIPR and FTRV - the latter is about a 4.5% improvement
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4x86.in
src/sh4/x86op.h
src/sh4/sh4.c
src/sh4/sh4.h
src/sh4/sh4x86.in
src/sh4/x86op.h
Move the precision/size tests to translation-time rather than execution-time,
and flush/retranslate on a mismatch. Shaves a few percent off the core runtime
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/ia64abi.h
src/sh4/sh4trans.c
src/sh4/sh4x86.in
src/sh4/x86op.h
src/sh4/xltcache.c
src/sh4/xltcache.h
and flush/retranslate on a mismatch. Shaves a few percent off the core runtime
src/sh4/ia32abi.h
src/sh4/ia32mac.h
src/sh4/ia64abi.h
src/sh4/sh4trans.c
src/sh4/sh4x86.in
src/sh4/x86op.h
src/sh4/xltcache.c
src/sh4/xltcache.h
Add --enable-optimized flag (on by default).
When optimized, add -fomit-frame-pointer -fexceptions on non-Mac x86 (Unwinding doesn't seem to work correctly on Mac)
config.h.in
configure
configure.in
src/sh4/ia32abi.h
When optimized, add -fomit-frame-pointer -fexceptions on non-Mac x86 (Unwinding doesn't seem to work correctly on Mac)
config.h.in
configure
configure.in
src/sh4/ia32abi.h
.