[kaffe] CVS kaffe (robilad): simple direct threading interpreter
from rafal
Kaffe CVS
cvs-commits at kaffe.org
Tue Sep 27 19:09:31 PDT 2005
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 <rafal.lewczuk at gmail.com>
+
+ * 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 <kaz at maczuka.gcd.org>
* 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, at KVMBINFLAGS@,$KVMBINFLAGS,;t t
s, at KVMLIBFLAGS@,$KVMLIBFLAGS,;t t
s, at INIT_LOAD_LIBRARY@,$INIT_LOAD_LIBRARY,;t t
+s, at COND_DIRECT_THREADING_TRUE@,$COND_DIRECT_THREADING_TRUE,;t t
+s, at COND_DIRECT_THREADING_FALSE@,$COND_DIRECT_THREADING_FALSE,;t t
s, at BINRELOC_CFLAGS@,$BINRELOC_CFLAGS,;t t
s, at ENABLE_BINRELOC_TRUE@,$ENABLE_BINRELOC_TRUE,;t t
s, at 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 ***
More information about the kaffe
mailing list