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 <[EMAIL PROTECTED]>

        * 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 <[EMAIL PROTECTED]>
+
+        * 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 <[EMAIL PROTECTED]>
 
         * 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,@CCLD@,$CCLD,;t t
 s,@REGEN_FORWARD@,$REGEN_FORWARD,;t t
 s,@CONFIG_MD_H@,$CONFIG_MD_H,;t t
+s,@CONFIG_CALLKAFFEEXCEPTION_H@,$CONFIG_CALLKAFFEEXCEPTION_H,;t t
 s,@KAFFEVM_MD_C@,$KAFFEVM_MD_C,;t t
 s,@CONFIG_JIT_MD_H@,$CONFIG_JIT_MD_H,;t t
 s,@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 @@
 @[EMAIL PROTECTED] = jit-md.h
 @[EMAIL PROTECTED] = 
 @[EMAIL PROTECTED] = 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 <[EMAIL PROTECTED]>, 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 <[EMAIL PROTECTED]>, 1997.
+ * Modified by Michael Chen <[EMAIL PROTECTED]>, 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 ***

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to