PatchSet 6934 
Date: 2005/09/28 02:01:55
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
simple direct threading interpreter from rafal

Members: 
        ChangeLog:1.4456->1.4457 
        Makefile.in:1.223->1.224 
        configure:1.493->1.494 
        configure.ac:1.174->1.175 
        config/Makefile.in:1.192->1.193 
        include/Makefile.in:1.242->1.243 
        kaffe/Makefile.in:1.152->1.153 
        kaffe/jvmpi/Makefile.in:1.76->1.77 
        kaffe/kaffe/Makefile.in:1.174->1.175 
        kaffe/kaffeh/Makefile.in:1.153->1.154 
        kaffe/kaffevm/Makefile.in:1.206->1.207 
        kaffe/kaffevm/kaffe.def:1.41->1.42 
        kaffe/kaffevm/boehm-gc/Makefile.in:1.39->1.40 
        kaffe/kaffevm/gcj/Makefile.in:1.132->1.133 
        kaffe/kaffevm/intrp/Makefile.am:INITIAL->1.12 
        kaffe/kaffevm/intrp/Makefile.in:1.141->1.142 
        kaffe/kaffevm/intrp/machine.c:1.53->1.54 
        kaffe/kaffevm/jit/Makefile.in:1.151->1.152 
        kaffe/kaffevm/jit/machine.h:1.23->1.24 
        kaffe/kaffevm/jit3/Makefile.in:1.121->1.122 
        kaffe/kaffevm/jit3/machine.h:1.26->1.27 
        kaffe/kaffevm/jni/Makefile.in:1.45->1.46 
        kaffe/kaffevm/kaffe-gc/Makefile.in:1.38->1.39 
        kaffe/kaffevm/systems/Makefile.in:1.140->1.141 
        kaffe/kaffevm/systems/beos-native/Makefile.in:1.132->1.133 
        kaffe/kaffevm/systems/oskit-pthreads/Makefile.in:1.138->1.139 
        kaffe/kaffevm/systems/unix-jthreads/Makefile.in:1.142->1.143 
        kaffe/kaffevm/systems/unix-pthreads/Makefile.in:1.117->1.118 
        kaffe/kaffevm/verifier/Makefile.in:1.44->1.45 
        kaffe/kaffevm/verifier/verify.c:1.15->1.16 
        kaffe/man/Makefile.in:1.139->1.140 
        kaffe/scripts/Makefile.in:1.178->1.179 
        kaffe/scripts/bat/Makefile.in:1.131->1.132 
        kaffe/scripts/compat/Makefile.in:1.156->1.157 
        kaffe/xprof/Makefile.in:1.107->1.108 
        libraries/Makefile.in:1.135->1.136 
        libraries/clib/Makefile.in:1.150->1.151 
        libraries/clib/awt/Makefile.in:1.150->1.151 
        libraries/clib/awt/X/Makefile.in:1.142->1.143 
        libraries/clib/awt/classpath-gtk/Makefile.in:1.30->1.31 
        libraries/clib/awt/classpath-gtk/gtk-peer/Makefile.in:1.44->1.45 
        libraries/clib/awt/classpath-gtk/resource/Makefile.in:1.29->1.30 
        libraries/clib/awt/classpath-qt/Makefile.in:1.6->1.7 
        libraries/clib/awt/nano-X/Makefile.in:1.15->1.16 
        libraries/clib/awt/qt/Makefile.in:1.98->1.99 
        libraries/clib/classpath/Makefile.in:1.25->1.26 
        libraries/clib/fdlibm/Makefile.in:1.13->1.14 
        libraries/clib/io/Makefile.in:1.146->1.147 
        libraries/clib/libxmlj/Makefile.in:1.50->1.51 
        libraries/clib/management/Makefile.in:1.152->1.153 
        libraries/clib/math/Makefile.in:1.147->1.148 
        libraries/clib/native/Makefile.in:1.191->1.192 
        libraries/clib/net/Makefile.in:1.156->1.157 
        libraries/clib/nio/Makefile.in:1.79->1.80 
        libraries/clib/security/Makefile.in:1.118->1.119 
        libraries/clib/sound/Makefile.in:1.44->1.45 
        libraries/clib/sound/alsa/Makefile.in:1.45->1.46 
        libraries/clib/sound/common/Makefile.in:1.44->1.45 
        libraries/clib/sound/esd/Makefile.in:1.45->1.46 
        libraries/clib/target/Makefile.in:1.4->1.5 
        libraries/clib/target/Linux/Makefile.in:1.4->1.5 
        libraries/clib/target/generic/Makefile.in:1.4->1.5 
        libraries/clib/zip/Makefile.in:1.149->1.150 
        libraries/extensions/Makefile.in:1.127->1.128 
        libraries/extensions/comm/Makefile.in:1.121->1.122 
        libraries/extensions/comm/javalib/Makefile.in:1.122->1.123 
        libraries/extensions/microsoft/Makefile.in:1.113->1.114 
        libraries/extensions/microsoft/clib/Makefile.in:1.117->1.118 
        libraries/extensions/microsoft/javalib/Makefile.in:1.115->1.116 
        libraries/extensions/pjava/Makefile.in:1.121->1.122 
        libraries/extensions/pjava/javalib/Makefile.in:1.122->1.123 
        libraries/extensions/servlet/Makefile.in:1.121->1.122 
        libraries/extensions/servlet/javalib/Makefile.in:1.122->1.123 
        libraries/javalib/Makefile.in:1.488->1.489 
        libraries/javalib/awt-implementations/Makefile.in:1.29->1.30 
        libraries/javalib/awt-implementations/kaffe/Makefile.in:1.32->1.33 
        libraries/javalib/gmp-math/Makefile.in:1.35->1.36 
        replace/Makefile.in:1.94->1.95 
        test/Makefile.in:1.144->1.145 
        test/internal/Makefile.in:1.111->1.112 
        test/jni/Makefile.in:1.46->1.47 
        test/regression/Makefile.in:1.219->1.220 
        test/regression/compile_time/Makefile.in:1.72->1.73 
        test/regression/compiler/Makefile.in:1.56->1.57 
        test/regression/run_time/Makefile.in:1.71->1.72 
        tools/Makefile.in:1.45->1.46 
        tools/gjdoc/Makefile.in:1.45->1.46 
        tools/gjdoc/javalib/Makefile.in:1.58->1.59 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4456 kaffe/ChangeLog:1.4457
--- kaffe/ChangeLog:1.4456      Mon Sep 26 22:10:06 2005
+++ kaffe/ChangeLog     Wed Sep 28 02:01:55 2005
@@ -1,3 +1,12 @@
+2005-09-28  Rafal Lewczuk <[EMAIL PROTECTED]>
+
+       * kaffe/kaffevm/kaffe.def,
+       kaffe/kaffevm/intrp/machine.c,
+       kaffe/kaffevm/jit/machine.h,
+       kaffe/kaffevm/jit3/machine.h,
+       kaffe/kaffevm/verifier/verify.c:
+       Simple direct threading interpreter implementation.
+
 2005-09-26  Ito Kazumitsu  <[EMAIL PROTECTED]>
 
        * RELEASE-NOTES: Changed the number of tests from 147 to 148.
Index: kaffe/Makefile.in
diff -u kaffe/Makefile.in:1.223 kaffe/Makefile.in:1.224
--- kaffe/Makefile.in:1.223     Tue Sep 20 00:12:32 2005
+++ kaffe/Makefile.in   Wed Sep 28 02:01:58 2005
@@ -144,6 +144,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/configure
diff -u kaffe/configure:1.493 kaffe/configure:1.494
--- kaffe/configure:1.493       Sun Sep 25 02:46:43 2005
+++ kaffe/configure     Wed Sep 28 02:01:58 2005
@@ -491,7 +491,7 @@
 
 ac_subdirs_all="$ac_subdirs_all kaffe/kaffevm/boehm-gc/boehm"
 ac_subdirs_all="$ac_subdirs_all libltdl"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME 
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix 
program_transform_name bindir sbindir libexecdir datadir sysconfdir 
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir 
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS 
INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL 
AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP 
INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar 
am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT abssrcdir CC CFLAGS 
LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE 
AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX 
CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CCAS 
CCASFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor 
host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL 
AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL 
LIBTOOL_DEPS LIBLTDL CCLD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT 
MSGMERGE LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB MAY_RUN_PO_TRUE 
MAY_RUN_PO_FALSE REGEN_FORWARD CONFIG_MD_H CONFIG_CALLKAFFEEXCEPTION_H 
KAFFEVM_MD_C CONFIG_JIT_MD_H KAFFEVM_JIT_DEF KAFFEVM_ICODE_H 
HAVE_CONFIG_JIT_MD_H USE_JIT_TRUE USE_JIT_FALSE ENGINE_NAME BCEL_JAR 
HAVE_BCEL_TRUE HAVE_BCEL_FALSE ENABLE_JVMPI_TRUE ENABLE_JVMPI_FALSE 
ENABLE_XPROF_TRUE ENABLE_XPROF_FALSE CONFIG_XPROFILE_MD_H JAVAC_FLAGS 
NEED_LIBXPROF_TRUE NEED_LIBXPROF_FALSE CFLAGS_PG SUN_COMPAT_TRUE 
SUN_COMPAT_FALSE THREAD_DIR acx_pthread_config PTHREAD_CC PTHREAD_LIBS 
PTHREAD_CFLAGS SEMAPHORE_LIB VM_LIBS USE_PRECOMPILED_RT_JAR_TRUE 
USE_PRECOMPILED_RT_JAR_FALSE PATH_TO_RT_JAR JIKESPROG JIKES 
KAFFEVM_TRAMPOLINES_S JAVA_LIBS with_engine THREAD_SYSTEM KPREFIX KAFFE_ARCHOS 
ZIP MKTEMP JASMIN HAVE_ZIP_TRUE HAVE_ZIP_FALSE HAVE_JIKES_TRUE HAVE_JIKES_FALSE 
HAVE_MKTEMP_TRUE HAVE_MKTEMP_FALSE HAVE_JASMIN_TRUE HAVE_JASMIN_FALSE 
KAFFE_LIBS M_LIBS NET_LIBS ZIP_LIBS LIBADD_GMP USE_GMP SECURITY_LIBS GC_NAME 
subdirs BOEHMGC_SPECIFIC_FLAGS HAVE_GCJ_SUPPORT_TRUE HAVE_GCJ_SUPPORT_FALSE 
LIBOBJS USE_COMPAT_IFADDRS_TRUE USE_COMPAT_IFADDRS_FALSE GTK_CAIRO_ENABLED 
GTK_CAIRO_TRUE GTK_CAIRO_FALSE COND_NATIVE_AWT_TRUE COND_NATIVE_AWT_FALSE 
COND_KAFFE_X_AWT_TRUE COND_KAFFE_X_AWT_FALSE X_CFLAGS X_PRE_LIBS X_LIBS 
X_EXTRA_LIBS AWT_LIBS COND_KAFFE_QT_AWT_TRUE COND_KAFFE_QT_AWT_FALSE MOC UIC 
QEMBED QT_CXXFLAGS QT_LDADD QT_GUILINK QASSISTANTCLIENT_LDADD 
COND_KAFFE_NANOX_AWT_TRUE COND_KAFFE_NANOX_AWT_FALSE NANOX_CFLAGS 
COND_CLASSPATH_GTK_AWT_TRUE COND_CLASSPATH_GTK_AWT_FALSE 
COND_CLASSPATH_QT_AWT_TRUE COND_CLASSPATH_QT_AWT_FALSE PKG_CONFIG 
PANGOFT2_CFLAGS PANGOFT2_LIBS GTK_CFLAGS GTK_LIBS CAIRO_CFLAGS CAIRO_LIBS 
QT_CFLAGS QT_LIBS ALSA_CFLAGS ALSA_LIBS ESD_CONFIG ESD_CFLAGS ESD_LIBS 
COND_SOUND_ALSA_TRUE COND_SOUND_ALSA_FALSE COND_SOUND_ESD_TRUE 
COND_SOUND_ESD_FALSE COND_NATIVE_SOUND_TRUE COND_NATIVE_SOUND_FALSE 
COND_PURE_JAVA_MATH_TRUE COND_PURE_JAVA_MATH_FALSE MATH_LIB INCLUDED_EXTENSIONS 
PROFILE XML2_CONFIG XML_CFLAGS XML_LIBS XSLT_CONFIG XSLT_CFLAGS XSLT_LIBS 
COND_LIBXMLJ_TRUE COND_LIBXMLJ_FALSE COND_GJDOC_TRUE COND_GJDOC_FALSE 
DLOPEN_JAVA_LIBS OPT_DLOPEN_JAVA_LIBS KLIBFLAGS KVMBINFLAGS KVMLIBFLAGS 
INIT_LOAD_LIBRARY BINRELOC_CFLAGS ENABLE_BINRELOC_TRUE ENABLE_BINRELOC_FALSE 
KAFFEH MAKE_KAFFEH toolslibdir jredir jrebindir jrelibdir nativedir securitydir 
PATHSEP DIRSEP kaffe_TRANSF kaffeh_TRANSF kaffebin_TRANSF CFLAGS_WITHOUT_PG 
CLASSPATH_INCLUDES LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME 
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix 
program_transform_name bindir sbindir libexecdir datadir sysconfdir 
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir 
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS 
INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL 
AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP 
INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar 
am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT abssrcdir CC CFLAGS 
LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE 
AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX 
CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CCAS 
CCASFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor 
host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL 
AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL 
LIBTOOL_DEPS LIBLTDL CCLD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT 
MSGMERGE LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB MAY_RUN_PO_TRUE 
MAY_RUN_PO_FALSE REGEN_FORWARD CONFIG_MD_H CONFIG_CALLKAFFEEXCEPTION_H 
KAFFEVM_MD_C CONFIG_JIT_MD_H KAFFEVM_JIT_DEF KAFFEVM_ICODE_H 
HAVE_CONFIG_JIT_MD_H USE_JIT_TRUE USE_JIT_FALSE ENGINE_NAME BCEL_JAR 
HAVE_BCEL_TRUE HAVE_BCEL_FALSE ENABLE_JVMPI_TRUE ENABLE_JVMPI_FALSE 
ENABLE_XPROF_TRUE ENABLE_XPROF_FALSE CONFIG_XPROFILE_MD_H JAVAC_FLAGS 
NEED_LIBXPROF_TRUE NEED_LIBXPROF_FALSE CFLAGS_PG SUN_COMPAT_TRUE 
SUN_COMPAT_FALSE THREAD_DIR acx_pthread_config PTHREAD_CC PTHREAD_LIBS 
PTHREAD_CFLAGS SEMAPHORE_LIB VM_LIBS USE_PRECOMPILED_RT_JAR_TRUE 
USE_PRECOMPILED_RT_JAR_FALSE PATH_TO_RT_JAR JIKESPROG JIKES 
KAFFEVM_TRAMPOLINES_S JAVA_LIBS with_engine THREAD_SYSTEM KPREFIX KAFFE_ARCHOS 
ZIP MKTEMP JASMIN HAVE_ZIP_TRUE HAVE_ZIP_FALSE HAVE_JIKES_TRUE HAVE_JIKES_FALSE 
HAVE_MKTEMP_TRUE HAVE_MKTEMP_FALSE HAVE_JASMIN_TRUE HAVE_JASMIN_FALSE 
KAFFE_LIBS M_LIBS NET_LIBS ZIP_LIBS LIBADD_GMP USE_GMP SECURITY_LIBS GC_NAME 
subdirs BOEHMGC_SPECIFIC_FLAGS HAVE_GCJ_SUPPORT_TRUE HAVE_GCJ_SUPPORT_FALSE 
LIBOBJS USE_COMPAT_IFADDRS_TRUE USE_COMPAT_IFADDRS_FALSE GTK_CAIRO_ENABLED 
GTK_CAIRO_TRUE GTK_CAIRO_FALSE COND_NATIVE_AWT_TRUE COND_NATIVE_AWT_FALSE 
COND_KAFFE_X_AWT_TRUE COND_KAFFE_X_AWT_FALSE X_CFLAGS X_PRE_LIBS X_LIBS 
X_EXTRA_LIBS AWT_LIBS COND_KAFFE_QT_AWT_TRUE COND_KAFFE_QT_AWT_FALSE MOC UIC 
QEMBED QT_CXXFLAGS QT_LDADD QT_GUILINK QASSISTANTCLIENT_LDADD 
COND_KAFFE_NANOX_AWT_TRUE COND_KAFFE_NANOX_AWT_FALSE NANOX_CFLAGS 
COND_CLASSPATH_GTK_AWT_TRUE COND_CLASSPATH_GTK_AWT_FALSE 
COND_CLASSPATH_QT_AWT_TRUE COND_CLASSPATH_QT_AWT_FALSE PKG_CONFIG 
PANGOFT2_CFLAGS PANGOFT2_LIBS GTK_CFLAGS GTK_LIBS CAIRO_CFLAGS CAIRO_LIBS 
QT_CFLAGS QT_LIBS ALSA_CFLAGS ALSA_LIBS ESD_CONFIG ESD_CFLAGS ESD_LIBS 
COND_SOUND_ALSA_TRUE COND_SOUND_ALSA_FALSE COND_SOUND_ESD_TRUE 
COND_SOUND_ESD_FALSE COND_NATIVE_SOUND_TRUE COND_NATIVE_SOUND_FALSE 
COND_PURE_JAVA_MATH_TRUE COND_PURE_JAVA_MATH_FALSE MATH_LIB INCLUDED_EXTENSIONS 
PROFILE XML2_CONFIG XML_CFLAGS XML_LIBS XSLT_CONFIG XSLT_CFLAGS XSLT_LIBS 
COND_LIBXMLJ_TRUE COND_LIBXMLJ_FALSE COND_GJDOC_TRUE COND_GJDOC_FALSE 
DLOPEN_JAVA_LIBS OPT_DLOPEN_JAVA_LIBS KLIBFLAGS KVMBINFLAGS KVMLIBFLAGS 
INIT_LOAD_LIBRARY COND_DIRECT_THREADING_TRUE COND_DIRECT_THREADING_FALSE 
BINRELOC_CFLAGS ENABLE_BINRELOC_TRUE ENABLE_BINRELOC_FALSE KAFFEH MAKE_KAFFEH 
toolslibdir jredir jrebindir jrelibdir nativedir securitydir PATHSEP DIRSEP 
kaffe_TRANSF kaffeh_TRANSF kaffebin_TRANSF CFLAGS_WITHOUT_PG CLASSPATH_INCLUDES 
LTLIBOBJS'
 ac_subst_files='cpu_os_frag cpu_frag engine_frag threads_frag gc_frag'
 
 # Initialize some variables set by options.
@@ -1108,6 +1108,8 @@
   --enable-gjdoc          Enable building of gjdoc
   --enable-classpath-load-library
                           enable to use JNI native methods default=yes
+  --disable-direct-threading
+                          Use switched interpreter instead of direct-threading
   --enable-binreloc       compile with binary relocation support
                           (default=enable when available)
 
@@ -5968,7 +5970,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5971 "configure"' > conftest.$ac_ext
+  echo '#line 5973 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -7325,7 +7327,7 @@
 
 
 # Provide some information about the compiler.
-echo "$as_me:7328:" \
+echo "$as_me:7330:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -8427,11 +8429,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8430: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8432: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8434: \$? = $ac_status" >&5
+   echo "$as_me:8436: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -8689,11 +8691,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8692: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8694: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8696: \$? = $ac_status" >&5
+   echo "$as_me:8698: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -8751,11 +8753,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8754: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8756: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8758: \$? = $ac_status" >&5
+   echo "$as_me:8760: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -10991,7 +10993,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10994 "configure"
+#line 10996 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11089,7 +11091,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 11092 "configure"
+#line 11094 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13341,11 +13343,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13344: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13346: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13348: \$? = $ac_status" >&5
+   echo "$as_me:13350: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -13403,11 +13405,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13406: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13408: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13410: \$? = $ac_status" >&5
+   echo "$as_me:13412: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -14772,7 +14774,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 14775 "configure"
+#line 14777 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14870,7 +14872,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 14873 "configure"
+#line 14875 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -15755,11 +15757,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15758: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15760: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15762: \$? = $ac_status" >&5
+   echo "$as_me:15764: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15817,11 +15819,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15820: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15822: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15824: \$? = $ac_status" >&5
+   echo "$as_me:15826: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -17943,11 +17945,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17946: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:17948: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17950: \$? = $ac_status" >&5
+   echo "$as_me:17952: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -18205,11 +18207,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18208: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18210: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:18212: \$? = $ac_status" >&5
+   echo "$as_me:18214: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -18267,11 +18269,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18270: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18272: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:18274: \$? = $ac_status" >&5
+   echo "$as_me:18276: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -20507,7 +20509,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 20510 "configure"
+#line 20512 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -20605,7 +20607,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 20608 "configure"
+#line 20610 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -50974,6 +50976,25 @@
 fi;
 
 
+# Check whether --enable-direct-threading or --disable-direct-threading was 
given.
+if test "${enable_direct_threading+set}" = set; then
+  enableval="$enable_direct_threading"
+
+else
+  enable_direct_threading=yes
+fi;
+
+
+
+if test x"$enable_direct_threading" = x"yes"; then
+  COND_DIRECT_THREADING_TRUE=
+  COND_DIRECT_THREADING_FALSE='#'
+else
+  COND_DIRECT_THREADING_TRUE='#'
+  COND_DIRECT_THREADING_FALSE=
+fi
+
+
 
 
 
@@ -52148,6 +52169,13 @@
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${COND_DIRECT_THREADING_TRUE}" && test -z 
"${COND_DIRECT_THREADING_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"COND_DIRECT_THREADING\" was 
never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"COND_DIRECT_THREADING\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${ENABLE_BINRELOC_TRUE}" && test -z "${ENABLE_BINRELOC_FALSE}"; 
then
   { { echo "$as_me:$LINENO: error: conditional \"ENABLE_BINRELOC\" was never 
defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -53052,6 +53080,8 @@
 s,@KVMBINFLAGS@,$KVMBINFLAGS,;t t
 s,@KVMLIBFLAGS@,$KVMLIBFLAGS,;t t
 s,@INIT_LOAD_LIBRARY@,$INIT_LOAD_LIBRARY,;t t
+s,@COND_DIRECT_THREADING_TRUE@,$COND_DIRECT_THREADING_TRUE,;t t
+s,@COND_DIRECT_THREADING_FALSE@,$COND_DIRECT_THREADING_FALSE,;t t
 s,@BINRELOC_CFLAGS@,$BINRELOC_CFLAGS,;t t
 s,@ENABLE_BINRELOC_TRUE@,$ENABLE_BINRELOC_TRUE,;t t
 s,@ENABLE_BINRELOC_FALSE@,$ENABLE_BINRELOC_FALSE,;t t
Index: kaffe/configure.ac
diff -u kaffe/configure.ac:1.174 kaffe/configure.ac:1.175
--- kaffe/configure.ac:1.174    Sun Sep 25 02:46:51 2005
+++ kaffe/configure.ac  Wed Sep 28 02:02:06 2005
@@ -2167,6 +2167,17 @@
               [INIT_LOAD_LIBRARY="true"])
 AC_SUBST(INIT_LOAD_LIBRARY)
 
+dnl -----------------------------------------------------------
+dnl Enable direct threading 
+dnl -----------------------------------------------------------
+AC_ARG_ENABLE([direct-threading],
+               AS_HELP_STRING([--disable-direct-threading],
+                               [Use switched interpreter instead of 
direct-threading]),
+               [],
+               [enable_direct_threading=yes])
+
+AM_CONDITIONAL([COND_DIRECT_THREADING], [test x"$enable_direct_threading" = 
x"yes"])
+
 
 dnl =========================================================================
 dnl Configure Binreloc support
Index: kaffe/config/Makefile.in
diff -u kaffe/config/Makefile.in:1.192 kaffe/config/Makefile.in:1.193
--- kaffe/config/Makefile.in:1.192      Mon Sep 19 02:52:07 2005
+++ kaffe/config/Makefile.in    Wed Sep 28 02:02:07 2005
@@ -113,6 +113,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/include/Makefile.in
diff -u kaffe/include/Makefile.in:1.242 kaffe/include/Makefile.in:1.243
--- kaffe/include/Makefile.in:1.242     Sat Sep 17 21:37:38 2005
+++ kaffe/include/Makefile.in   Wed Sep 28 02:02:08 2005
@@ -130,6 +130,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/kaffe/Makefile.in
diff -u kaffe/kaffe/Makefile.in:1.152 kaffe/kaffe/Makefile.in:1.153
--- kaffe/kaffe/Makefile.in:1.152       Sat Sep 17 21:37:39 2005
+++ kaffe/kaffe/Makefile.in     Wed Sep 28 02:02:09 2005
@@ -114,6 +114,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/kaffe/jvmpi/Makefile.in
diff -u kaffe/kaffe/jvmpi/Makefile.in:1.76 kaffe/kaffe/jvmpi/Makefile.in:1.77
--- kaffe/kaffe/jvmpi/Makefile.in:1.76  Sat Sep 17 21:37:40 2005
+++ kaffe/kaffe/jvmpi/Makefile.in       Wed Sep 28 02:02:09 2005
@@ -124,6 +124,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/kaffe/kaffe/Makefile.in
diff -u kaffe/kaffe/kaffe/Makefile.in:1.174 kaffe/kaffe/kaffe/Makefile.in:1.175
--- kaffe/kaffe/kaffe/Makefile.in:1.174 Sat Sep 17 21:37:40 2005
+++ kaffe/kaffe/kaffe/Makefile.in       Wed Sep 28 02:02:11 2005
@@ -129,6 +129,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/kaffe/kaffeh/Makefile.in
diff -u kaffe/kaffe/kaffeh/Makefile.in:1.153 
kaffe/kaffe/kaffeh/Makefile.in:1.154
--- kaffe/kaffe/kaffeh/Makefile.in:1.153        Wed Sep 21 22:37:58 2005
+++ kaffe/kaffe/kaffeh/Makefile.in      Wed Sep 28 02:02:11 2005
@@ -138,6 +138,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/kaffe/kaffevm/Makefile.in
diff -u kaffe/kaffe/kaffevm/Makefile.in:1.206 
kaffe/kaffe/kaffevm/Makefile.in:1.207
--- kaffe/kaffe/kaffevm/Makefile.in:1.206       Sat Sep 17 21:37:43 2005
+++ kaffe/kaffe/kaffevm/Makefile.in     Wed Sep 28 02:02:12 2005
@@ -176,6 +176,8 @@
 COND_CLASSPATH_GTK_AWT_TRUE = @COND_CLASSPATH_GTK_AWT_TRUE@
 COND_CLASSPATH_QT_AWT_FALSE = @COND_CLASSPATH_QT_AWT_FALSE@
 COND_CLASSPATH_QT_AWT_TRUE = @COND_CLASSPATH_QT_AWT_TRUE@
+COND_DIRECT_THREADING_FALSE = @COND_DIRECT_THREADING_FALSE@
+COND_DIRECT_THREADING_TRUE = @COND_DIRECT_THREADING_TRUE@
 COND_GJDOC_FALSE = @COND_GJDOC_FALSE@
 COND_GJDOC_TRUE = @COND_GJDOC_TRUE@
 COND_KAFFE_NANOX_AWT_FALSE = @COND_KAFFE_NANOX_AWT_FALSE@
Index: kaffe/kaffe/kaffevm/kaffe.def
diff -u kaffe/kaffe/kaffevm/kaffe.def:1.41 kaffe/kaffe/kaffevm/kaffe.def:1.42
--- kaffe/kaffe/kaffevm/kaffe.def:1.41  Tue Jul 19 16:27:35 2005
+++ kaffe/kaffe/kaffevm/kaffe.def       Wed Sep 28 02:02:12 2005
@@ -18,6 +18,7 @@
          */
        trace_jcode ("nop\n");
 }
+define_insn_fini
 
 define_insn(ACONST_NULL)
 {
@@ -29,6 +30,7 @@
        push(1);
        move_ref_const(stack(0), NULL);
 }
+define_insn_fini
 
 define_insn(ICONST_M1)
 define_insn_alias(ICONST_0)
@@ -46,6 +48,7 @@
        push(1);
        move_int_const(stack(0), getopcode() - ICONST_0);
 }
+define_insn_fini
 
 define_insn(LCONST_0)
 define_insn_alias(LCONST_1)
@@ -58,6 +61,7 @@
        push(2);
        move_long_const(stack_long(0), getopcode() - LCONST_0);
 }
+define_insn_fini
 
 define_insn(FCONST_0)
 define_insn_alias(FCONST_1)
@@ -71,6 +75,7 @@
        push(1);
        move_float_const(stack(0), (jfloat)(getopcode() - FCONST_0));
 }
+define_insn_fini
 
 define_insn(DCONST_0)
 define_insn_alias(DCONST_1)
@@ -83,6 +88,7 @@
        push(2);
        move_double_const(stack_double(0), (jdouble)(getopcode() - DCONST_0));
 }
+define_insn_fini
 
 define_insn(BIPUSH)
 {
@@ -97,6 +103,7 @@
        push(1);
        move_int_const(stack(0), low);
 }
+define_insn_fini
 
 define_insn(SIPUSH)
 {
@@ -111,6 +118,7 @@
        push(1);
        move_int_const(stack(0), low);
 }
+define_insn_fini
 
 define_insn(LDC1)
 {
@@ -150,6 +158,7 @@
                KAFFEVM_ABORT();
        }
 }
+define_insn_fini
 
 define_insn(LDC2)
 {
@@ -189,6 +198,7 @@
                KAFFEVM_ABORT();
        }
 }
+define_insn_fini
 
 define_insn(LDC2W)
 {
@@ -214,6 +224,7 @@
                KAFFEVM_ABORT();
        }
 }
+define_insn_fini
 
 define_insn(ILOAD)
 {
@@ -229,6 +240,7 @@
        push(1);
        move_int(stack(0), local(idx));
 }
+define_insn_fini
 
 define_insn(LLOAD)
 {
@@ -244,6 +256,7 @@
        push(2);
        move_long(stack_long(0), local_long(idx));
 }
+define_insn_fini
 
 define_insn(FLOAD)
 {
@@ -259,6 +272,7 @@
        push(1);
        move_float(stack(0), local_float(idx));
 }
+define_insn_fini
 
 define_insn(DLOAD)
 {
@@ -274,6 +288,7 @@
        push(2);
        move_double(stack_double(0), local_double(idx));
 }
+define_insn_fini
 
 define_insn(ALOAD)
 {
@@ -289,6 +304,7 @@
        push(1);
        move_ref(stack(0), local(idx));
 }
+define_insn_fini
 
 define_insn(ILOAD_0)
 define_insn_alias(ILOAD_1)
@@ -305,6 +321,7 @@
        push(1);
        move_int(stack(0), local(getopcode() - ILOAD_0));
 }
+define_insn_fini
 
 define_insn(LLOAD_0)
 define_insn_alias(LLOAD_1)
@@ -321,6 +338,7 @@
        push(2);
        move_long(stack_long(0), local_long(getopcode() - LLOAD_0));
 }
+define_insn_fini
 
 define_insn(FLOAD_0)
 define_insn_alias(FLOAD_1)
@@ -337,6 +355,7 @@
        push(1);
        move_float(stack(0), local_float(getopcode() - FLOAD_0));
 }
+define_insn_fini
 
 define_insn(DLOAD_0)
 define_insn_alias(DLOAD_1)
@@ -353,6 +372,7 @@
        push(2);
        move_double(stack_double(0), local_double(getopcode() - DLOAD_0));
 }
+define_insn_fini
 
 define_insn(ALOAD_0)
 define_insn_alias(ALOAD_1)
@@ -369,6 +389,7 @@
        push(1);
        move_ref(stack(0), local(getopcode() - ALOAD_0));
 }
+define_insn_fini
 
 define_insn(IALOAD)
 {
@@ -388,6 +409,7 @@
        load_offset_scaled_int(stack(1), rstack(1), rstack(0), 
object_array_offset);
        pop(1);
 }
+define_insn_fini
 
 define_insn(LALOAD)
 {
@@ -406,6 +428,7 @@
 
        load_offset_scaled_long(stack_long(0), stack(1), stack(0), 
object_array_offset);
 }
+define_insn_fini
 
 define_insn(FALOAD)
 {
@@ -426,6 +449,7 @@
 
        pop(1);
 }
+define_insn_fini
 
 define_insn(DALOAD)
 {
@@ -444,6 +468,7 @@
 
        load_offset_scaled_double(stack_double(0), stack(1), stack(0), 
object_array_offset);
 }
+define_insn_fini
 
 define_insn(AALOAD)
 {
@@ -463,6 +488,7 @@
        load_offset_scaled_ref(stack(1), rstack(1), rstack(0), 
object_array_offset);
        pop(1);
 }
+define_insn_fini
 
 define_insn(BALOAD)
 {
@@ -482,6 +508,7 @@
        load_offset_scaled_byte(stack(1), rstack(1), rstack(0), 
object_array_offset);
        pop(1);
 }
+define_insn_fini
 
 define_insn(CALOAD)
 {
@@ -501,6 +528,7 @@
        load_offset_scaled_char(stack(1), rstack(1), rstack(0), 
object_array_offset);
        pop(1);
 }
+define_insn_fini
 
 define_insn(SALOAD)
 {
@@ -520,6 +548,7 @@
        load_offset_scaled_short(stack(1), rstack(1), rstack(0), 
object_array_offset);
        pop(1);
 }
+define_insn_fini
 
 define_insn(ISTORE)
 {
@@ -535,6 +564,7 @@
        move_int(local(idx), stack(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(LSTORE)
 {
@@ -550,6 +580,7 @@
        move_long(local_long(idx), stack_long(0));
        pop(2);
 }
+define_insn_fini
 
 define_insn(FSTORE)
 {
@@ -565,6 +596,7 @@
        move_float(local_float(idx), stack(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(DSTORE)
 {
@@ -580,6 +612,7 @@
        move_double(local_double(idx), stack_double(0));
        pop(2);
 }
+define_insn_fini
 
 define_insn(ASTORE)
 {
@@ -595,6 +628,7 @@
        move_ref(local(idx), stack(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(ISTORE_0)
 define_insn_alias(ISTORE_1)
@@ -611,6 +645,7 @@
        move_int(local(getopcode() - ISTORE_0), stack(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(LSTORE_0)
 define_insn_alias(LSTORE_1)
@@ -627,6 +662,7 @@
        move_long(local_long(getopcode() - LSTORE_0), stack_long(0));
        pop(2);
 }
+define_insn_fini
 
 define_insn(FSTORE_0)
 define_insn_alias(FSTORE_1)
@@ -643,6 +679,7 @@
        move_float(local_float(getopcode() - FSTORE_0), stack(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(DSTORE_0)
 define_insn_alias(DSTORE_1)
@@ -659,6 +696,7 @@
        move_double(local_double(getopcode() - DSTORE_0), stack_double(0));
        pop(2);
 }
+define_insn_fini
 
 define_insn(ASTORE_0)
 define_insn_alias(ASTORE_1)
@@ -675,6 +713,7 @@
        move_ref(local(getopcode() - ASTORE_0), stack(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(IASTORE)
 {
@@ -695,6 +734,7 @@
        store_offset_scaled_int(rstack(2), rstack(1), object_array_offset, 
rstack(0));
        pop(3);
 }
+define_insn_fini
 
 define_insn(LASTORE)
 {
@@ -715,6 +755,7 @@
        store_offset_scaled_long(stack(3), stack(2), object_array_offset, 
stack_long(0));
        pop(4);
 }
+define_insn_fini
 
 define_insn(FASTORE)
 {
@@ -735,6 +776,7 @@
        store_offset_scaled_float(stack(2), stack(1), object_array_offset, 
stack(0));
        pop(3);
 }
+define_insn_fini
 
 define_insn(DASTORE)
 {
@@ -756,6 +798,7 @@
 
        pop(4);
 }
+define_insn_fini
 
 define_insn(AASTORE)
 {
@@ -780,6 +823,7 @@
        store_offset_scaled_ref(rstack(2), rstack(1), object_array_offset, 
rstack(0));
        pop(3);
 }
+define_insn_fini
 
 define_insn(BASTORE)
 {
@@ -800,6 +844,7 @@
        store_offset_scaled_byte(rstack(2), rstack(1), object_array_offset, 
rstack(0));
        pop(3);
 }
+define_insn_fini
 
 define_insn(CASTORE)
 {
@@ -820,6 +865,7 @@
        store_offset_scaled_char(rstack(2), rstack(1), object_array_offset, 
rstack(0));
        pop(3);
 }
+define_insn_fini
 
 define_insn(SASTORE)
 {
@@ -840,6 +886,7 @@
        store_offset_scaled_short(rstack(2), rstack(1), object_array_offset, 
rstack(0));
        pop(3);
 }
+define_insn_fini
 
 define_insn(POP)
 {
@@ -850,6 +897,7 @@
 
        pop(1);
 }
+define_insn_fini
 
 define_insn(POP2)
 {
@@ -860,6 +908,7 @@
 
        pop(2);
 }
+define_insn_fini
 
 define_insn(DUP)
 {
@@ -868,6 +917,7 @@
        push(1);
        move_any(stack(0), stack(1));
 }
+define_insn_fini
 
 define_insn(DUP_X1)
 {
@@ -878,6 +928,7 @@
        move_any(stack(1), stack(2));
        move_any(stack(2), stack(0));
 }
+define_insn_fini
 
 define_insn(DUP_X2)
 {
@@ -889,6 +940,7 @@
        move_any(stack(2), stack(3));
        move_any(stack(3), stack(0));
 }
+define_insn_fini
 
 define_insn(DUP2)
 {
@@ -898,6 +950,7 @@
        move_any(stack(0), stack(2));
        move_any(stack(1), stack(3));
 }
+define_insn_fini
 
 define_insn(DUP2_X1)
 {
@@ -910,6 +963,7 @@
        move_any(stack(3), stack(0));
        move_any(stack(4), stack(1));
 }
+define_insn_fini
 
 define_insn(DUP2_X2)
 {
@@ -923,6 +977,7 @@
        move_any(stack(4), stack(0));
        move_any(stack(5), stack(1));
 }
+define_insn_fini
 
 define_insn(SWAP)
 {
@@ -933,6 +988,7 @@
 
        swap_any(stack(0), stack(1));
 }
+define_insn_fini
 
 define_insn(IADD)
 {
@@ -947,6 +1003,7 @@
        add_int(stack(1), rstack(1), rstack(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(LADD)
 {
@@ -964,6 +1021,7 @@
        add_long(stack_long(2), rstack_long(2), rstack_long(0));
        pop(2);
 }
+define_insn_fini
 
 define_insn(FADD)
 {
@@ -978,6 +1036,7 @@
        add_float(stack_float(1), rstack_float(1), rstack_float(0));
        pop(1);
 }
+define_insn_fini
 
 define_insn(DADD)
 {

*** Patch too long, truncated ***

_______________________________________________
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to