mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-12-25 17:29:19 +00:00
The JIT should work now but there is an extra bottleneck causing it to
not match Kheperix speeds while executing Linux/ppc binaries. Fix x86 DYNGEN_OP_FLAGS settings. Only allocate translation cache in .data on PPC since x86 can do jumps anywhere.
This commit is contained in:
parent
2bacb2fd01
commit
aee3e05e4b
@ -544,9 +544,6 @@ AC_CACHE_CHECK([whether the compiler can generate ELF objects],
|
|||||||
])
|
])
|
||||||
ELF_OBJECTS=$ac_cv_elf_objects
|
ELF_OBJECTS=$ac_cv_elf_objects
|
||||||
|
|
||||||
dnl FIXME: forcibly disable JIT for now
|
|
||||||
WANT_JIT=no
|
|
||||||
|
|
||||||
dnl CPU emulator sources
|
dnl CPU emulator sources
|
||||||
if [[ "x$EMULATED_PPC" = "xyes" ]]; then
|
if [[ "x$EMULATED_PPC" = "xyes" ]]; then
|
||||||
CPUSRCS="\
|
CPUSRCS="\
|
||||||
@ -577,7 +574,7 @@ if [[ "x$EMULATED_PPC" = "xyes" ]]; then
|
|||||||
])
|
])
|
||||||
if [[ "x$ac_cv_use_dyngen" = "xyes" ]]; then
|
if [[ "x$ac_cv_use_dyngen" = "xyes" ]]; then
|
||||||
case $host_cpu in
|
case $host_cpu in
|
||||||
i?86:yes)
|
i?86)
|
||||||
DYNGEN_OP_FLAGS="-fomit-frame-pointer -mpreferred-stack-boundary=2"
|
DYNGEN_OP_FLAGS="-fomit-frame-pointer -mpreferred-stack-boundary=2"
|
||||||
if [[ "x$HAVE_GCC30" = "xyes" ]]; then
|
if [[ "x$HAVE_GCC30" = "xyes" ]]; then
|
||||||
DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -falign-functions=0"
|
DYNGEN_OP_FLAGS="$DYNGEN_OP_FLAGS -falign-functions=0"
|
||||||
@ -619,11 +616,6 @@ if [[ "x$ac_cv_use_dyngen" = "xyes" ]]; then
|
|||||||
asm volatile("isync" : : : "memory");
|
asm volatile("isync" : : : "memory");
|
||||||
((void (*)(void))p)();
|
((void (*)(void))p)();
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
|
||||||
#if defined(__i386__)
|
|
||||||
static unsigned char p[] = {0xc3};
|
|
||||||
((void (*)(void))p)();
|
|
||||||
return 0;
|
|
||||||
#endif
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
}], ac_cv_have_static_data_exec=yes, ac_cv_have_static_data_exec=no,
|
}], ac_cv_have_static_data_exec=yes, ac_cv_have_static_data_exec=no,
|
||||||
|
Loading…
Reference in New Issue
Block a user