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:
gbeauche 2003-11-27 11:09:38 +00:00
parent 2bacb2fd01
commit aee3e05e4b

View File

@ -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,