[kaffe] CVS kaffe (dalibor): Converted CALL_KAFFE_EXCEPTION to a static inline function

Kaffe CVS cvs-commits at kaffe.org
Tue Dec 23 09:39:02 PST 2003


PatchSet 4233 
Date: 2003/12/23 17:26:20
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
Converted CALL_KAFFE_EXCEPTION to a static inline function

2003-12-23  Dalibor Topic <robilad at kaffe.org>

        * configure.in
        (CONFIG_CALLKAFFEEXCEPTION_H): New variable.

        * config/alpha/jit.h,
        config/arm/jit.h,
        config/i386/jit.h,
        config/m68k/jit.h,
        config/mips/jit.h,
        config/sparc/jit.h:
        (CALL_KAFFE_EXCEPTION) Converted to static inline
        function, and moved to its own file.

        * config/alpha/callKaffeException.h,
        config/arm/callKaffeException.h,
        config/i386/callKaffeException.h,
        config/m68k/callKaffeException.h,
        config/mips/callKaffeException.h,
        config/sparc/callKaffeException.h:
        New files.

        * kaffe/kaffevm/exception.c:
        Include callKaffeException.h.

        * config/Makefile.am
        (EXTRA_DIST): Added config/alpha/callKaffeException.h,
        config/arm/callKaffeException.h,
        config/i386/callKaffeException.h,
        config/m68k/callKaffeException.h,
        config/mips/callKaffeException.h,
        config/sparc/callKaffeException.h.
        (GEN_HDRS, DISTCLEANFILES, noinst_HEADERS) Cleaned up.
        (callKaffeException.h, stamp-h04) New targets.

        * Makefile.in,
        config/Makefile.in,
        configure,
        include/Makefile.in,
        kaffe/Makefile.in,
        kaffe/jvmpi/Makefile.in,
        kaffe/kaffe/Makefile.in,
        kaffe/kaffeh/Makefile.in,
        kaffe/kaffevm/Makefile.am,
        kaffe/kaffevm/Makefile.in,
        kaffe/kaffevm/gcj/Makefile.in,
        kaffe/kaffevm/intrp/Makefile.in,
        kaffe/kaffevm/jit/Makefile.in,
        kaffe/kaffevm/jit3/Makefile.in,
        kaffe/kaffevm/systems/Makefile.in,
        kaffe/kaffevm/systems/beos-native/Makefile.in,
        kaffe/kaffevm/systems/oskit-pthreads/Makefile.in,
        kaffe/kaffevm/systems/unix-jthreads/Makefile.in,
        kaffe/kaffevm/systems/unix-pthreads/Makefile.in,
        kaffe/man/Makefile.in,
        kaffe/scripts/Makefile.in,
        kaffe/scripts/bat/Makefile.in,
        kaffe/scripts/compat/Makefile.in,
        kaffe/xprof/Makefile.in,
        libraries/Makefile.in,
        libraries/clib/Makefile.in,
        libraries/clib/awt/Makefile.in,
        libraries/clib/awt/X/Makefile.in,
        libraries/clib/awt/qt/Makefile.in,        libraries/clib/io/Makefile.in,
        libraries/clib/management/Makefile.in,
        libraries/clib/math/Makefile.in,
        libraries/clib/native/Makefile.in,
        libraries/clib/net/Makefile.in,
        libraries/clib/nio/Makefile.in,
        libraries/clib/security/Makefile.in,
        libraries/clib/zip/Makefile.in,
        libraries/extensions/Makefile.in,
        libraries/extensions/comm/Makefile.in,
        libraries/extensions/comm/javalib/Makefile.in,
        libraries/extensions/microsoft/Makefile.in,
        libraries/extensions/microsoft/clib/Makefile.in,
        libraries/extensions/microsoft/javalib/Makefile.in,
        libraries/extensions/pjava/Makefile.in,
        libraries/extensions/pjava/javalib/Makefile.in,
        libraries/extensions/servlet/Makefile.in,
        libraries/extensions/servlet/javalib/Makefile.in,
        libraries/extensions/sound/Makefile.in,
        libraries/extensions/sound/alsa/Makefile.in,
        libraries/extensions/sound/common/Makefile.in,
        libraries/extensions/sound/esd/Makefile.in,
        libraries/javalib/Makefile.in,
        replace/Makefile.in,
        test/Makefile.in,
        test/internal/Makefile.in,
        test/regression/Makefile.in,
        test/regression/compile_time/Makefile.in,
        test/regression/run_time/Makefile.in:
        Regenerated.

Members: 
	ChangeLog:1.1822->1.1823 
	Makefile.in:1.122->1.123 
	configure:1.268->1.269 
	configure.in:1.233->1.234 
	config/Makefile.am:1.35->1.36 
	config/Makefile.in:1.103->1.104 
	config/alpha/callKaffeException.h:INITIAL->1.1 
	config/alpha/jit.h:1.6->1.7 
	config/arm/callKaffeException.h:INITIAL->1.1 
	config/arm/jit.h:1.11->1.12 
	config/i386/callKaffeException.h:INITIAL->1.1 
	config/i386/jit.h:1.19->1.20 
	config/m68k/callKaffeException.h:INITIAL->1.1 
	config/m68k/jit.h:1.10->1.11 
	config/mips/callKaffeException.h:INITIAL->1.1 
	config/mips/jit.h:1.9->1.10 
	config/sparc/callKaffeException.h:INITIAL->1.1 
	config/sparc/jit.h:1.8->1.9 
	include/Makefile.in:1.128->1.129 
	kaffe/Makefile.in:1.89->1.90 
	kaffe/jvmpi/Makefile.in:1.10->1.11 
	kaffe/kaffe/Makefile.in:1.103->1.104 
	kaffe/kaffeh/Makefile.in:1.86->1.87 
	kaffe/kaffevm/Makefile.am:1.47->1.48 
	kaffe/kaffevm/Makefile.in:1.120->1.121 
	kaffe/kaffevm/exception.c:1.74->1.75 
	kaffe/kaffevm/gcj/Makefile.in:1.69->1.70 
	kaffe/kaffevm/intrp/Makefile.in:1.75->1.76 
	kaffe/kaffevm/jit/Makefile.in:1.81->1.82 
	kaffe/kaffevm/jit3/Makefile.in:1.51->1.52 
	kaffe/kaffevm/systems/Makefile.in:1.77->1.78 
	kaffe/kaffevm/systems/beos-native/Makefile.in:1.68->1.69 
	kaffe/kaffevm/systems/oskit-pthreads/Makefile.in:1.74->1.75 
	kaffe/kaffevm/systems/unix-jthreads/Makefile.in:1.77->1.78 
	kaffe/kaffevm/systems/unix-pthreads/Makefile.in:1.47->1.48 
	kaffe/man/Makefile.in:1.75->1.76 
	kaffe/scripts/Makefile.in:1.112->1.113 
	kaffe/scripts/bat/Makefile.in:1.68->1.69 
	kaffe/scripts/compat/Makefile.in:1.93->1.94 
	kaffe/xprof/Makefile.in:1.43->1.44 
	libraries/Makefile.in:1.72->1.73 
	libraries/clib/Makefile.in:1.80->1.81 
	libraries/clib/awt/Makefile.in:1.85->1.86 
	libraries/clib/awt/X/Makefile.in:1.75->1.76 
	libraries/clib/awt/qt/Makefile.in:1.30->1.31 
	libraries/clib/io/Makefile.in:1.78->1.79 
	libraries/clib/management/Makefile.in:1.87->1.88 
	libraries/clib/math/Makefile.in:1.83->1.84 
	libraries/clib/native/Makefile.in:1.110->1.111 
	libraries/clib/net/Makefile.in:1.91->1.92 
	libraries/clib/nio/Makefile.in:1.4->1.5 
	libraries/clib/security/Makefile.in:1.51->1.52 
	libraries/clib/zip/Makefile.in:1.85->1.86 
	libraries/extensions/Makefile.in:1.63->1.64 
	libraries/extensions/comm/Makefile.in:1.58->1.59 
	libraries/extensions/comm/javalib/Makefile.in:1.58->1.59 
	libraries/extensions/microsoft/Makefile.in:1.50->1.51 
	libraries/extensions/microsoft/clib/Makefile.in:1.53->1.54 
	libraries/extensions/microsoft/javalib/Makefile.in:1.51->1.52 
	libraries/extensions/pjava/Makefile.in:1.58->1.59 
	libraries/extensions/pjava/javalib/Makefile.in:1.58->1.59 
	libraries/extensions/servlet/Makefile.in:1.58->1.59 
	libraries/extensions/servlet/javalib/Makefile.in:1.58->1.59 
	libraries/extensions/sound/Makefile.in:1.26->1.27 
	libraries/extensions/sound/alsa/Makefile.in:1.28->1.29 
	libraries/extensions/sound/common/Makefile.in:1.28->1.29 
	libraries/extensions/sound/esd/Makefile.in:1.28->1.29 
	libraries/javalib/Makefile.in:1.199->1.200 
	replace/Makefile.in:1.22->1.23 
	test/Makefile.in:1.78->1.79 
	test/internal/Makefile.in:1.36->1.37 
	test/regression/Makefile.in:1.145->1.146 
	test/regression/compile_time/Makefile.in:1.6->1.7 
	test/regression/run_time/Makefile.in:1.7->1.8 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1822 kaffe/ChangeLog:1.1823
--- kaffe/ChangeLog:1.1822	Fri Dec 19 20:03:24 2003
+++ kaffe/ChangeLog	Tue Dec 23 17:26:20 2003
@@ -1,3 +1,98 @@
+2003-12-23  Dalibor Topic <robilad at kaffe.org>
+
+        * configure.in
+	(CONFIG_CALLKAFFEEXCEPTION_H): New variable.
+
+        * config/alpha/jit.h,
+        config/arm/jit.h,
+        config/i386/jit.h,
+        config/m68k/jit.h,
+        config/mips/jit.h,
+        config/sparc/jit.h:
+	(CALL_KAFFE_EXCEPTION) Converted to static inline 
+	function, and moved to its own file.
+
+        * config/alpha/callKaffeException.h,
+        config/arm/callKaffeException.h,
+        config/i386/callKaffeException.h,
+        config/m68k/callKaffeException.h,
+        config/mips/callKaffeException.h,
+        config/sparc/callKaffeException.h:
+	New files.
+
+        * kaffe/kaffevm/exception.c:
+	Include callKaffeException.h.
+
+        * config/Makefile.am
+	(EXTRA_DIST): Added config/alpha/callKaffeException.h,
+        config/arm/callKaffeException.h,
+        config/i386/callKaffeException.h,
+        config/m68k/callKaffeException.h,
+        config/mips/callKaffeException.h,
+        config/sparc/callKaffeException.h.
+	(GEN_HDRS, DISTCLEANFILES, noinst_HEADERS) Cleaned up.
+	(callKaffeException.h, stamp-h04) New targets.
+
+        * Makefile.in,
+        config/Makefile.in,
+        configure,
+        include/Makefile.in,
+        kaffe/Makefile.in,
+        kaffe/jvmpi/Makefile.in,
+        kaffe/kaffe/Makefile.in,
+        kaffe/kaffeh/Makefile.in,
+        kaffe/kaffevm/Makefile.am,
+        kaffe/kaffevm/Makefile.in,
+        kaffe/kaffevm/gcj/Makefile.in,
+        kaffe/kaffevm/intrp/Makefile.in,
+        kaffe/kaffevm/jit/Makefile.in,
+        kaffe/kaffevm/jit3/Makefile.in,
+        kaffe/kaffevm/systems/Makefile.in,
+        kaffe/kaffevm/systems/beos-native/Makefile.in,
+        kaffe/kaffevm/systems/oskit-pthreads/Makefile.in,
+        kaffe/kaffevm/systems/unix-jthreads/Makefile.in,
+        kaffe/kaffevm/systems/unix-pthreads/Makefile.in,
+        kaffe/man/Makefile.in,
+        kaffe/scripts/Makefile.in,
+        kaffe/scripts/bat/Makefile.in,
+        kaffe/scripts/compat/Makefile.in,
+        kaffe/xprof/Makefile.in,
+        libraries/Makefile.in,
+        libraries/clib/Makefile.in,
+        libraries/clib/awt/Makefile.in,
+        libraries/clib/awt/X/Makefile.in,
+        libraries/clib/awt/qt/Makefile.in,
+        libraries/clib/io/Makefile.in,
+        libraries/clib/management/Makefile.in,
+        libraries/clib/math/Makefile.in,
+        libraries/clib/native/Makefile.in,
+        libraries/clib/net/Makefile.in,
+        libraries/clib/nio/Makefile.in,
+        libraries/clib/security/Makefile.in,
+        libraries/clib/zip/Makefile.in,
+        libraries/extensions/Makefile.in,
+        libraries/extensions/comm/Makefile.in,
+        libraries/extensions/comm/javalib/Makefile.in,
+        libraries/extensions/microsoft/Makefile.in,
+        libraries/extensions/microsoft/clib/Makefile.in,
+        libraries/extensions/microsoft/javalib/Makefile.in,
+        libraries/extensions/pjava/Makefile.in,
+        libraries/extensions/pjava/javalib/Makefile.in,
+        libraries/extensions/servlet/Makefile.in,
+        libraries/extensions/servlet/javalib/Makefile.in,
+        libraries/extensions/sound/Makefile.in,
+        libraries/extensions/sound/alsa/Makefile.in,
+        libraries/extensions/sound/common/Makefile.in,
+        libraries/extensions/sound/esd/Makefile.in,
+        libraries/javalib/Makefile.in,
+        replace/Makefile.in,
+        test/Makefile.in,
+        test/internal/Makefile.in,
+        test/regression/Makefile.in,
+        test/regression/compile_time/Makefile.in,
+        test/regression/run_time/Makefile.in:
+	Regenerated.
+
 2003-12-19  Dalibor Topic <robilad at kaffe.org>
 
         * FAQ/FAQ.automake:
Index: kaffe/Makefile.in
diff -u kaffe/Makefile.in:1.122 kaffe/Makefile.in:1.123
--- kaffe/Makefile.in:1.122	Fri Dec 19 20:03:25 2003
+++ kaffe/Makefile.in	Tue Dec 23 17:26:21 2003
@@ -114,6 +114,7 @@
 COND_SOUND_ALSA_TRUE = @COND_SOUND_ALSA_TRUE@
 COND_SOUND_ESD_FALSE = @COND_SOUND_ESD_FALSE@
 COND_SOUND_ESD_TRUE = @COND_SOUND_ESD_TRUE@
+CONFIG_CALLKAFFEEXCEPTION_H = @CONFIG_CALLKAFFEEXCEPTION_H@
 CONFIG_JIT_MD_H = @CONFIG_JIT_MD_H@
 CONFIG_MD_H = @CONFIG_MD_H@
 CONFIG_XPROFILE_MD_H = @CONFIG_XPROFILE_MD_H@
Index: kaffe/configure
diff -u kaffe/configure:1.268 kaffe/configure:1.269
--- kaffe/configure:1.268	Fri Dec 19 20:03:26 2003
+++ kaffe/configure	Tue Dec 23 17:26:21 2003
@@ -467,7 +467,7 @@
 #endif"
 
 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 AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot 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 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 CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBTOOL_DEPS LIBLTDL CCLD REGEN_FORWARD CONFIG_MD_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 DNSJAVA_JAR HAVE_DNSJAVA_TRUE HAVE_DNSJAVA_FALSE ENABLE_XPROF_TRUE ENABLE_XPROF_FALSE CONFIG_XPROFILE_MD_H NEED_LIBXPROF_TRUE NEED_LIBXPROF_FALSE SUN_COMPAT_TRUE SUN_COMPAT_FALSE THREAD_DIR JIKESPROG JIKES KAFFEVM_TRAMPOLINES_C KVER 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 VM_LIBS NET_LIBS ZIP_LIBS MATH_LIBS SECURITY_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS AWT_LIBS HAVE_GCJ_SUPPORT_TRUE HAVE_GCJ_SUPPORT_FALSE LIBOBJS LIBICONV LTLIBICONV USE_COMPAT_IFADDRS_TRUE USE_COMPAT_IFADDRS_FALSE MOC UIC QEMBED QT_CXXFLAGS QT_LDADD QT_GUILINK AWT_DIR COND_SOUND_ALSA_TRUE COND_SOUND_ALSA_FALSE COND_SOUND_ESD_TRUE COND_SOUND_ESD_FALSE COND_PURE_JAVA_MATH_TRUE COND_PURE_JAVA_MATH_FALSE MATH_LIB INCLUDED_EXTENSIONS GNU_CRYPTO_HOME GNU_CRYPTO_JAR JAVAX_CRYPTO_JAR JAVAX_SECURITY_JAR USER_WANT_GNU_CRYPTO_TRUE USER_WANT_GNU_CRYPTO_FALSE PROFILE USE_PRECOMPILED_RT_JAR_TRUE USE_PRECOMPILED_RT_JAR_FALSE PATH_TO_RT_JAR DLOPEN_JAVA_LIBS KLIBFLAGS KVMBINFLAGS KVMLIBFLAGS KAFFEH MAKE_KAFFEH toolslibdir jredir jrebindir jrelibdir nativedir securitydir PATHSEP DIRSEP kaffe_TRANSF kaffeh_TRANSF kaffebin_TRANSF CFLAGS_WITHOUT_PG subdirs 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 AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot 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 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 CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBTOOL_DEPS LIBLTDL CCLD 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 DNSJAVA_JAR HAVE_DNSJAVA_TRUE HAVE_DNSJAVA_FALSE ENABLE_XPROF_TRUE ENABLE_XPROF_FALSE CONFIG_XPROFILE_MD_H NEED_LIBXPROF_TRUE NEED_LIBXPROF_FALSE SUN_COMPAT_TRUE SUN_COMPAT_FALSE THREAD_DIR JIKESPROG JIKES KAFFEVM_TRAMPOLINES_C KVER 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 VM_LIBS NET_LIBS ZIP_LIBS MATH_LIBS SECURITY_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS AWT_LIBS HAVE_GCJ_SUPPORT_TRUE HAVE_GCJ_SUPPORT_FALSE LIBOBJS LIBICONV LTLIBICONV USE_COMPAT_IFADDRS_TRUE USE_COMPAT_IFADDRS_FALSE MOC UIC QEMBED QT_CXXFLAGS QT_LDADD QT_GUILINK AWT_DIR COND_SOUND_ALSA_TRUE COND_SOUND_ALSA_FALSE COND_SOUND_ESD_TRUE COND_SOUND_ESD_FALSE COND_PURE_JAVA_MATH_TRUE COND_PURE_JAVA_MATH_FALSE MATH_LIB INCLUDED_EXTENSIONS GNU_CRYPTO_HOME GNU_CRYPTO_JAR JAVAX_CRYPTO_JAR JAVAX_SECURITY_JAR USER_WANT_GNU_CRYPTO_TRUE USER_WANT_GNU_CRYPTO_FALSE PROFILE USE_PRECOMPILED_RT_JAR_TRUE USE_PRECOMPILED_RT_JAR_FALSE PATH_TO_RT_JAR DLOPEN_JAVA_LIBS KLIBFLAGS KVMBINFLAGS KVMLIBFLAGS KAFFEH MAKE_KAFFEH toolslibdir jredir jrebindir jrelibdir nativedir securitydir PATHSEP DIRSEP kaffe_TRANSF kaffeh_TRANSF kaffebin_TRANSF CFLAGS_WITHOUT_PG subdirs LTLIBOBJS'
 ac_subst_files='cpu_os_frag cpu_frag engine_frag threads_frag'
 
 # Initialize some variables set by options.
@@ -19291,12 +19291,14 @@
 
 
 CONFIG_MD_H="\$(srcdir)/$Khost_cpu/$Khost_os/md.h"
+CONFIG_CALLKAFFEEXCEPTION_H="\$(top_srcdir)/config/$Khost_cpu/callKaffeException.h"
 KAFFEVM_MD_C="\$(top_srcdir)/config/$Khost_cpu/$Khost_os/md.c"
 
 
 
 
 
+
 if test -f $srcdir/config/$Khost_cpu/$Khost_os/Make.frag ; then
 	cpu_os_frag=$srcdir/config/$Khost_cpu/$Khost_os/Make.frag
 else
@@ -47047,6 +47049,7 @@
 s, at CCLD@,$CCLD,;t t
 s, at REGEN_FORWARD@,$REGEN_FORWARD,;t t
 s, at CONFIG_MD_H@,$CONFIG_MD_H,;t t
+s, at CONFIG_CALLKAFFEEXCEPTION_H@,$CONFIG_CALLKAFFEEXCEPTION_H,;t t
 s, at KAFFEVM_MD_C@,$KAFFEVM_MD_C,;t t
 s, at CONFIG_JIT_MD_H@,$CONFIG_JIT_MD_H,;t t
 s, at KAFFEVM_JIT_DEF@,$KAFFEVM_JIT_DEF,;t t
Index: kaffe/configure.in
diff -u kaffe/configure.in:1.233 kaffe/configure.in:1.234
--- kaffe/configure.in:1.233	Wed Dec 10 23:11:48 2003
+++ kaffe/configure.in	Tue Dec 23 17:26:27 2003
@@ -184,8 +184,10 @@
 dnl -------------------------------------------------------------------------
 
 CONFIG_MD_H="\$(srcdir)/$Khost_cpu/$Khost_os/md.h"
+CONFIG_CALLKAFFEEXCEPTION_H="\$(top_srcdir)/config/$Khost_cpu/callKaffeException.h"
 KAFFEVM_MD_C="\$(top_srcdir)/config/$Khost_cpu/$Khost_os/md.c"
 AC_SUBST(CONFIG_MD_H)
+AC_SUBST(CONFIG_CALLKAFFEEXCEPTION_H)
 AC_SUBST(KAFFEVM_MD_C)
 
 dnl =========================================================================
Index: kaffe/config/Makefile.am
diff -u kaffe/config/Makefile.am:1.35 kaffe/config/Makefile.am:1.36
--- kaffe/config/Makefile.am:1.35	Sun Dec 14 16:31:39 2003
+++ kaffe/config/Makefile.am	Tue Dec 23 17:26:30 2003
@@ -21,19 +21,36 @@
 XPROF_HDRS =
 endif
 
-GEN_HDRS = md.h $(XPROF_HDRS) $(ENGINE_GEN_HDRS)
+GEN_HDRS = \
+	md.h \
+	callKaffeException.h \
+	$(XPROF_HDRS) \
+	$(ENGINE_GEN_HDRS)
 
-DISTCLEANFILES = $(GEN_HDRS) stamp-h01 stamp-h02 stamp-h03
+DISTCLEANFILES = \
+	$(GEN_HDRS) \
+	stamp-h01 \
+	stamp-h02 \
+	stamp-h03 \
+	stamp-h04
 
-noinst_HEADERS = $(GEN_HDRS) \
-	config-hacks.h config-io.h config-math.h config-mem.h \
-	config-net.h config-setjmp.h config-signal.h config-std.h
+noinst_HEADERS = \
+	$(GEN_HDRS) \
+	config-hacks.h \
+	config-io.h \
+	config-math.h \
+	config-mem.h \
+	config-net.h \
+	config-setjmp.h \
+	config-signal.h \
+	config-std.h
 
 EXTRA_DIST = \
 	config.alias \
 	regen-forward \
 	stamp-h1.in \
 	alpha/alpha.c \
+	alpha/callKaffeException.h \
 	alpha/common.h \
 	alpha/jit-alpha.def \
 	alpha/jit-icode.h \
@@ -53,6 +70,7 @@
 	alpha/sysdepCallMethod.h \
 	alpha/threads.h \
 	alpha/trampolines.c \
+	arm/callKaffeException.h \
 	arm/common.h \
 	arm/jit-arm.def \
 	arm/jit-icode.h \
@@ -96,6 +114,7 @@
 	i386/bsdi/jit-md.h \
 	i386/bsdi/md.c \
 	i386/bsdi/md.h \
+	i386/callKaffeException.h \
 	i386/common.h \
 	i386/cygwin32/config.frag \
 	i386/cygwin32/jit-md.h \
@@ -183,6 +202,7 @@
 	m68k/amigaos/config.frag \
 	m68k/amigaos/md.c \
 	m68k/amigaos/md.h \
+	m68k/callKaffeException.h \
 	m68k/common.h \
 	m68k/jit-icode.h \
 	m68k/jit-m68k.def \
@@ -213,6 +233,7 @@
 	m68k/sysdepCallMethod.h \
 	m68k/threads.h \
 	m68k/trampolines.c \
+	mips/callKaffeException.h \
 	mips/common.h \
 	mips/irix5/config.frag \
 	mips/irix5/md.c \
@@ -275,6 +296,7 @@
 	sparc/bsdi3/jit-md.h \
 	sparc/bsdi3/md.c \
 	sparc/bsdi3/md.h \
+	sparc/callKaffeException.h \
 	sparc/common.h \
 	sparc/jit-icode.h \
 	sparc/jit-sparc.def \
@@ -335,6 +357,12 @@
 	else :; fi
 stamp-h03: $(top_builddir)/config.status
 	$(SHELL) $(REGEN_FORWARD) $(CONFIG_XPROFILE_MD_H) xprofile-md.h $@
+
+callKaffeException.h: stamp-h04
+	@if test ! -f $@; then rm -f stamp-h04; $(MAKE) stamp-h04; \
+	else :; fi
+stamp-h04: $(top_builddir)/config.status
+	$(SHELL) $(REGEN_FORWARD) $(CONFIG_CALLKAFFEEXCEPTION_H) callKaffeException.h $@
 
 dist-hook:
 	@for file in $(DISTCLEANFILES); do \
Index: kaffe/config/Makefile.in
diff -u kaffe/config/Makefile.in:1.103 kaffe/config/Makefile.in:1.104
--- kaffe/config/Makefile.in:1.103	Fri Dec 19 20:03:32 2003
+++ kaffe/config/Makefile.in	Tue Dec 23 17:26:30 2003
@@ -91,6 +91,7 @@
 COND_SOUND_ALSA_TRUE = @COND_SOUND_ALSA_TRUE@
 COND_SOUND_ESD_FALSE = @COND_SOUND_ESD_FALSE@
 COND_SOUND_ESD_TRUE = @COND_SOUND_ESD_TRUE@
+CONFIG_CALLKAFFEEXCEPTION_H = @CONFIG_CALLKAFFEEXCEPTION_H@
 CONFIG_JIT_MD_H = @CONFIG_JIT_MD_H@
 CONFIG_MD_H = @CONFIG_MD_H@
 CONFIG_XPROFILE_MD_H = @CONFIG_XPROFILE_MD_H@
@@ -281,17 +282,36 @@
 @USE_JIT_TRUE at ENGINE_GEN_HDRS = jit-md.h
 @ENABLE_XPROF_FALSE at XPROF_HDRS = 
 @ENABLE_XPROF_TRUE at XPROF_HDRS = xprofile-md.h
-GEN_HDRS = md.h $(XPROF_HDRS) $(ENGINE_GEN_HDRS)
-DISTCLEANFILES = $(GEN_HDRS) stamp-h01 stamp-h02 stamp-h03
-noinst_HEADERS = $(GEN_HDRS) \
-	config-hacks.h config-io.h config-math.h config-mem.h \
-	config-net.h config-setjmp.h config-signal.h config-std.h
+GEN_HDRS = \
+	md.h \
+	callKaffeException.h \
+	$(XPROF_HDRS) \
+	$(ENGINE_GEN_HDRS)
+
+DISTCLEANFILES = \
+	$(GEN_HDRS) \
+	stamp-h01 \
+	stamp-h02 \
+	stamp-h03 \
+	stamp-h04
+
+noinst_HEADERS = \
+	$(GEN_HDRS) \
+	config-hacks.h \
+	config-io.h \
+	config-math.h \
+	config-mem.h \
+	config-net.h \
+	config-setjmp.h \
+	config-signal.h \
+	config-std.h
 
 EXTRA_DIST = \
 	config.alias \
 	regen-forward \
 	stamp-h1.in \
 	alpha/alpha.c \
+	alpha/callKaffeException.h \
 	alpha/common.h \
 	alpha/jit-alpha.def \
 	alpha/jit-icode.h \
@@ -311,6 +331,7 @@
 	alpha/sysdepCallMethod.h \
 	alpha/threads.h \
 	alpha/trampolines.c \
+	arm/callKaffeException.h \
 	arm/common.h \
 	arm/jit-arm.def \
 	arm/jit-icode.h \
@@ -354,6 +375,7 @@
 	i386/bsdi/jit-md.h \
 	i386/bsdi/md.c \
 	i386/bsdi/md.h \
+	i386/callKaffeException.h \
 	i386/common.h \
 	i386/cygwin32/config.frag \
 	i386/cygwin32/jit-md.h \
@@ -441,6 +463,7 @@
 	m68k/amigaos/config.frag \
 	m68k/amigaos/md.c \
 	m68k/amigaos/md.h \
+	m68k/callKaffeException.h \
 	m68k/common.h \
 	m68k/jit-icode.h \
 	m68k/jit-m68k.def \
@@ -471,6 +494,7 @@
 	m68k/sysdepCallMethod.h \
 	m68k/threads.h \
 	m68k/trampolines.c \
+	mips/callKaffeException.h \
 	mips/common.h \
 	mips/irix5/config.frag \
 	mips/irix5/md.c \
@@ -533,6 +557,7 @@
 	sparc/bsdi3/jit-md.h \
 	sparc/bsdi3/md.c \
 	sparc/bsdi3/md.h \
+	sparc/callKaffeException.h \
 	sparc/common.h \
 	sparc/jit-icode.h \
 	sparc/jit-sparc.def \
@@ -819,6 +844,12 @@
 	else :; fi
 stamp-h03: $(top_builddir)/config.status
 	$(SHELL) $(REGEN_FORWARD) $(CONFIG_XPROFILE_MD_H) xprofile-md.h $@
+
+callKaffeException.h: stamp-h04
+	@if test ! -f $@; then rm -f stamp-h04; $(MAKE) stamp-h04; \
+	else :; fi
+stamp-h04: $(top_builddir)/config.status
+	$(SHELL) $(REGEN_FORWARD) $(CONFIG_CALLKAFFEEXCEPTION_H) callKaffeException.h $@
 
 dist-hook:
 	@for file in $(DISTCLEANFILES); do \
===================================================================
Checking out kaffe/config/alpha/callKaffeException.h
RCS:  /home/cvs/kaffe/kaffe/config/alpha/callKaffeException.h,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/config/alpha/callKaffeException.h	Tue Dec 23 17:30:57 2003
@@ -0,0 +1,36 @@
+/*
+ * alpha/callKaffeException.h
+ * Common Alpha JIT configuration information.
+ *
+ * Copyright (c) 1996, 1997
+ *	Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution 
+ * of this file. 
+ */
+
+#ifndef __alpha_callKaffeException_h
+#define __alpha_callKaffeException_h
+
+struct Hjava_lang_Throwable;
+
+/* Call the relevant exception handler (rewinding the stack as
+   necessary). */
+#define CALL_KAFFE_EXCEPTION(FramePointer, Handler, EObj)  callKaffeException(FramePointer, Handler, EObj)
+
+static inline void callKaffeException(uintp fp, 
+				      uintp handler, 
+				      struct Hjava_lang_Throwable* eobj) {
+	__asm__ __volatile__(
+		"mov %0,$15\n\t"
+		"mov %1,$0\n\t"
+		"mov %2,$27\n\t"
+		"jmp (%2)"
+		: : "r" (fp), "r" (eobj), "r" (handler)
+		: "$15", "$0", "$27");
+}
+
+#endif /* __alpha_callKaffeException_h */
Index: kaffe/config/alpha/jit.h
diff -u kaffe/config/alpha/jit.h:1.6 kaffe/config/alpha/jit.h:1.7
--- kaffe/config/alpha/jit.h:1.6	Thu Dec 21 12:27:22 2000
+++ kaffe/config/alpha/jit.h	Tue Dec 23 17:26:31 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997
  *	Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2003
+ *     Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
  */
@@ -45,18 +48,6 @@
 #define FRAMEOBJECT(obj, f, einfo)					\
 	/* rebuild alpha_slot2argoffset[0] as in jit-alpha.def */	\
 	(obj) = *((Hjava_lang_Object**)((uintp)(f) - 8))
-
-/* Call the relevant exception handler (rewinding the stack as
-   necessary). */
-#define CALL_KAFFE_EXCEPTION(frame, info, obj)				\
-	__asm__ __volatile__(						\
-		"mov %0,$15\n\t"					\
-		"mov %1,$0\n\t"						\
-		"mov %2,$27\n\t"					\
-		"jmp (%2)"						\
-		: : "r" (frame), "r" (obj), "r" (info)			\
-		: "$15", "$0", "$27")
-
 
 /**/
 /* Method dispatch.  */
===================================================================
Checking out kaffe/config/arm/callKaffeException.h
RCS:  /home/cvs/kaffe/kaffe/config/arm/callKaffeException.h,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/config/arm/callKaffeException.h	Tue Dec 23 17:30:57 2003
@@ -0,0 +1,34 @@
+/*
+ * arm/callKaffeException.h
+ * Common ARM JIT exception calling.
+ *
+ * Copyright (c) 1996, 1997, 1998, 1999
+ *	Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution 
+ * of this file. 
+ */
+
+#ifndef __arm_callKaffeException_h
+#define __arm_callKaffeException_h
+
+struct Hjava_lang_Throwable;
+
+/* Call the relevant exception handler (rewinding the stack as
+   necessary). */
+#define CALL_KAFFE_EXCEPTION(FramePointer, Handler, EObj)  callKaffeException(FramePointer, Handler, EObj)
+
+static inline void callKaffeException(uintp fp, 
+				      uintp handler, 
+				      struct Hjava_lang_Throwable* eobj) {
+	asm volatile ("	\n"
+		      "	mov r0, %0 \n"
+		      "	mov fp, %2 \n"
+		      "	mov pc, %1 \n"
+		      : : "r" (eobj), "r" (handler), "r" (fp) : "r0");
+}
+
+#endif /* __arm_callKaffeException_h */
Index: kaffe/config/arm/jit.h
diff -u kaffe/config/arm/jit.h:1.11 kaffe/config/arm/jit.h:1.12
--- kaffe/config/arm/jit.h:1.11	Thu Oct  2 20:12:17 2003
+++ kaffe/config/arm/jit.h	Tue Dec 23 17:26:31 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997, 1998, 1999
  *	Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
  */
@@ -71,15 +74,6 @@
 } while (0)
 
 	
-/* Call the relevant exception handler (rewinding the stack as
-   necessary). */
-#define CALL_KAFFE_EXCEPTION(frame, handler, object)			\
-	asm volatile ("	\n"						\
-	"	mov r0, %0 \n"						\
-	"	mov fp, %2 \n"						\
-	"	mov pc, %1 \n"						\
-	: : "r" (object), "r" (handler), "r" (frame) : "r0")
-
 /**/
 /* Method dispatch.  */
 /**/
===================================================================
Checking out kaffe/config/i386/callKaffeException.h
RCS:  /home/cvs/kaffe/kaffe/config/i386/callKaffeException.h,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/config/i386/callKaffeException.h	Tue Dec 23 17:30:57 2003
@@ -0,0 +1,33 @@
+/*
+ * i386/callKaffeException.h
+ * Common i386 JIT configuration information.
+ *
+ * Copyright (c) 1996, 1997
+ *	Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution 
+ * of this file. 
+ */
+
+#ifndef __i386_callKaffeException_h
+#define __i386_callKaffeException_h
+
+struct Hjava_lang_Throwable;
+
+/* Call the relevant exception handler (rewinding the stack as
+   necessary). */
+#define CALL_KAFFE_EXCEPTION(FramePointer, Handler, EObj)  callKaffeException(FramePointer, Handler, EObj)
+
+static inline void callKaffeException(uintp fp, 
+				      uintp handler, 
+				      struct Hjava_lang_Throwable* eobj) {
+	asm("   movl %2,%%eax \n"
+	    "	movl %0,%%ebp \n"
+	    "	jmp *%1	\n"
+	    : : "g" (fp), "r" (handler), "g" (eobj) : "eax");
+}
+
+#endif /* __i386_callKaffeException_h */
Index: kaffe/config/i386/jit.h
diff -u kaffe/config/i386/jit.h:1.19 kaffe/config/i386/jit.h:1.20
--- kaffe/config/i386/jit.h:1.19	Sat Oct  4 22:55:23 2003
+++ kaffe/config/i386/jit.h	Tue Dec 23 17:26:32 2003
@@ -37,15 +37,6 @@
 #define	FIRSTFRAME(f, o)						\
 	((f) = *(exceptionFrame*)__builtin_frame_address(0))
 
-/* Call the relevant exception handler (rewinding the stack as
-   necessary). */
-#define CALL_KAFFE_EXCEPTION(F, H, O)					\
-        asm("   movl %2,%%eax \n"					\
-	"	movl %0,%%ebp \n"					\
-	"	jmp *%1	\n"						\
-	        : : "g" (F), "r" (H), "g" (O) : "eax")
-
-
 /**/
 /* Method dispatch.  */
 /**/
===================================================================
Checking out kaffe/config/m68k/callKaffeException.h
RCS:  /home/cvs/kaffe/kaffe/config/m68k/callKaffeException.h,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/config/m68k/callKaffeException.h	Tue Dec 23 17:30:57 2003
@@ -0,0 +1,39 @@
+/*
+ * m68k/callKaffeException.h
+ * Common M68000 JIT exception calling.
+ *
+ * Copyright (c) 1996, 1997
+ *	Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution 
+ * of this file. 
+ *
+ * Modified by Kiyo Inaba <k-inaba at mxb.mesh.ne.jp>, 1999;
+ *	to support the trampoline mechanism.
+ */
+
+#ifndef __m68k_callKaffeException_h
+#define __m68k_callKaffeException_h
+
+struct Hjava_lang_Throwable;
+
+/* Call the relevant exception handler (rewinding the stack as
+   necessary). */
+#define CALL_KAFFE_EXCEPTION(FramePointer, Handler, EObj)  callKaffeException(FramePointer, Handler, EObj)
+
+static inline void callKaffeException(uintp fp, 
+				      uintp handler, 
+				      struct Hjava_lang_Throwable* eobj) {
+	__asm__ __volatile__("move%.l %1,%/d0\n\t"
+			     "move%.l %0,%/a6\n\t"
+			     "jmp %2@"
+			     : : "g"(fp), "g"(eobj), "a"(handler)
+			     : "d0", "cc", "memory");
+}
+
+
+
+#endif /* __m68k_callKaffeException_h */
Index: kaffe/config/m68k/jit.h
diff -u kaffe/config/m68k/jit.h:1.10 kaffe/config/m68k/jit.h:1.11
--- kaffe/config/m68k/jit.h:1.10	Wed Dec 20 02:39:37 2000
+++ kaffe/config/m68k/jit.h	Tue Dec 23 17:26:32 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997
  *	Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
  *
@@ -40,16 +43,6 @@
 /* Extract the object argument from given frame */
 #define FRAMEOBJECT(obj, f, einfo)					\
 	(obj) = *(Hjava_lang_Object**)((f) + 8)
-
-/* Call the relevant exception handler (rewinding the stack as
-   necessary). */
-#define CALL_KAFFE_EXCEPTION(frame, handler, obj)			\
-	__asm__ __volatile__(						\
-		"move%.l %1,%/d0\n\t"					\
-		"move%.l %0,%/a6\n\t"					\
-		"jmp %2@"						\
-		: : "g"(frame), "g"(obj), "a"(handler)			\
-		: "d0", "cc", "memory")
 
 /**/
 /* Method dispatch.  */
===================================================================
Checking out kaffe/config/mips/callKaffeException.h
RCS:  /home/cvs/kaffe/kaffe/config/mips/callKaffeException.h,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/config/mips/callKaffeException.h	Tue Dec 23 17:30:57 2003
@@ -0,0 +1,39 @@
+/*
+ * mips/callKaffeException.h
+ * Common MIPS JIT exception calling.
+ *
+ * Copyright (c) 1996, 1997
+ *      Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ *
+ * Written by Christian Krusel <chrkr at uni-paderborn.de>, 1997.
+ * Modified by Michael Chen <mikey at hydra.stanford.edu>, 1998.
+ * last changed 2.15.98
+ */
+
+#ifndef __mips_callKaffeException_h
+#define __mips_callKaffeException_h
+
+struct Hjava_lang_Throwable;
+
+/* Call the relevant exception handler (rewinding the stack as
+   necessary). */
+#define CALL_KAFFE_EXCEPTION(FramePointer, Handler, EObj)  callKaffeException(FramePointer, Handler, EObj)
+
+static inline void callKaffeException(uintp fp, 
+				      uintp handler, 
+				      struct Hjava_lang_Throwable* eobj) {
+	asm volatile("	\n"
+		     "		move $2,%2 \n"
+		     "		move $fp,%0 \n"
+		     "		jr %1 \n"
+		     "		nop \n"
+		     "	" : : "r" (fp), "r" (handler), "r" (eobj) : "$2");
+}
+
+#endif /* __mips_callKaffeException_h */
Index: kaffe/config/mips/jit.h
diff -u kaffe/config/mips/jit.h:1.9 kaffe/config/mips/jit.h:1.10
--- kaffe/config/mips/jit.h:1.9	Sat Oct  4 23:55:54 2003
+++ kaffe/config/mips/jit.h	Tue Dec 23 17:26:33 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997
  *      Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
  * See the file "license.terms" for information on usage and redistribution
  * of this file.
  *
@@ -42,16 +45,6 @@
 /* Extract the object argument from given frame */
 #define FRAMEOBJECT(obj, f, einfo)					\
 	(obj) = (*(Hjava_lang_Object**)(f))
-
-/* Call the relevant exception handler (rewinding the stack as
-   necessary). */
-#define CALL_KAFFE_EXCEPTION(F, H, O)					\
-	asm volatile("	\n"						\
-"		move $2,%2 \n"						\
-"		move $fp,%0 \n"						\
-"		jr %1 \n"						\
-"		nop \n"							\
-"	" : : "r" ((F)), "r" ((H)), "r" (O) : "$2")
 
 /**/
 /* Method dispatch.  */
===================================================================
Checking out kaffe/config/sparc/callKaffeException.h
RCS:  /home/cvs/kaffe/kaffe/config/sparc/callKaffeException.h,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 19:57:58 2002
+++ kaffe/config/sparc/callKaffeException.h	Tue Dec 23 17:30:57 2003
@@ -0,0 +1,38 @@
+/*
+ * sparc/callKaffeException.h
+ * Common SPARC JIT exception calling.
+ *
+ * Copyright (c) 1996, 1997
+ *	Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution 
+ * of this file. 
+ */
+
+#ifndef __sparc_callKaffeException_h
+#define __sparc_callKaffeException_h
+
+struct Hjava_lang_Throwable;
+
+/* Call the relevant exception handler (rewinding the stack as
+   necessary). */
+#define CALL_KAFFE_EXCEPTION(FramePointer, Handler, EObj)  callKaffeException(FramePointer, Handler, EObj)
+
+static inline void callKaffeException(uintp fp, 
+				      uintp handler, 
+				      struct Hjava_lang_Throwable* eobj) {
+	register int o1 asm("o1"), o2 asm("o2"), o3 asm("o3");
+	asm volatile(
+		     "		ta 3 \n"
+		     "		sub %%sp,64,%%sp \n"
+		     "		mov %2,%%fp \n"
+		     "		jmpl %1,%%g0 \n"
+		     "		restore	%0,0,%%o0 \n"
+		     : : "r" (o1=(int)(eobj)), "r" (o2=(int)(handler)), "r" (o3=(int)(fp)));
+        asm volatile("" : : "r"(o1), "r"(o2), "r"(o3));
+}
+
+#endif /* __sparc_callKaffeException_h */
Index: kaffe/config/sparc/jit.h
diff -u kaffe/config/sparc/jit.h:1.8 kaffe/config/sparc/jit.h:1.9
--- kaffe/config/sparc/jit.h:1.8	Sat Oct 25 12:52:43 2003
+++ kaffe/config/sparc/jit.h	Tue Dec 23 17:26:33 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997
  *	Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2003
+ *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved.
+ *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
  */
@@ -54,22 +57,6 @@
 	(obj) = (*(Hjava_lang_Object**)					\
 		 (((exceptionFrame*)(((exceptionFrame*)(f))->retbp)	\
 		  )->retbp+68))
-
-/* Call the relevant exception handler (rewinding the stack as
-   necessary). */
-#define CALL_KAFFE_EXCEPTION(F, H, O)					\
-do {									\
-	register int o1 asm("o1"), o2 asm("o2"), o3 asm("o3");		\
-	asm volatile(							\
-"		ta 3 \n"						\
-"		sub %%sp,64,%%sp \n"					\
-"		mov %2,%%fp \n"						\
-"		jmpl %1,%%g0 \n"					\
-"		restore	%0,0,%%o0 \n"					\
-	: : "r" (o1=(int)(O)), "r" (o2=(int)(H)), "r" (o3=(int)(F))); \
-        asm volatile("" : : "r"(o1), "r"(o2), "r"(o3)); 		\
-} while (0)
-
 
 /**/
 /* Method dispatch.  */
Index: kaffe/include/Makefile.in

*** Patch too long, truncated ***




More information about the kaffe mailing list