[kaffe] CVS kaffe (stack): Backport JanosVM stuff

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Sun Aug 31 15:24:02 2003


PatchSet 4003 
Date: 2003/08/31 22:08:52
Author: stack
Branch: HEAD
Tag: (none) 
Log:
Backport JanosVM stuff

Members: 
	ChangeLog:1.1599->1.1600 
	Makefile.am:1.46->1.47 
	Makefile.in:1.112->1.113 
	configure:1.254->1.255 
	configure.in:1.221->1.222 
	config/Makefile.in:1.86->1.87 
	include/Makefile.in:1.120->1.121 
	include/errors.h:1.8->1.9 
	kaffe/Makefile.in:1.78->1.79 
	kaffe/jvmpi/Makefile.in:1.5->1.6 
	kaffe/kaffe/Makefile.in:1.92->1.93 
	kaffe/kaffeh/Makefile.in:1.81->1.82 
	kaffe/kaffevm/Makefile.am:1.46->1.47 
	kaffe/kaffevm/Makefile.in:1.113->1.114 
	kaffe/kaffevm/access.c:INITIAL->1.1 
	kaffe/kaffevm/access.h:1.7->1.8 
	kaffe/kaffevm/classMethod.c:1.108->1.109 
	kaffe/kaffevm/classMethod.h:1.60->1.61 
	kaffe/kaffevm/code.c:1.9->1.10 
	kaffe/kaffevm/constants.c:1.16->1.17 
	kaffe/kaffevm/exception.c:1.71->1.72 
	kaffe/kaffevm/gcFuncs.c:1.46->1.47 
	kaffe/kaffevm/kaffe.def:1.27->1.28 
	kaffe/kaffevm/lookup.c:1.32->1.33 
	kaffe/kaffevm/object.c:1.20->1.21 
	kaffe/kaffevm/readClass.c:1.18->1.19 
	kaffe/kaffevm/soft.c:1.55->1.56 
	kaffe/kaffevm/soft.h:1.12->1.13 
	kaffe/kaffevm/stackTrace.c:1.29->1.30 
	kaffe/kaffevm/support.c:1.59->1.60 
	kaffe/kaffevm/support.h:1.23->1.24 
	kaffe/kaffevm/thread.c:1.54->1.55 
	kaffe/kaffevm/verify.c:1.25->1.26 
	kaffe/kaffevm/gcj/Makefile.in:1.62->1.63 
	kaffe/kaffevm/intrp/Makefile.in:1.70->1.71 
	kaffe/kaffevm/jit/Makefile.in:1.76->1.77 
	kaffe/kaffevm/jit3/Makefile.in:1.46->1.47 
	kaffe/kaffevm/jit3/codeproto.h:1.12->1.13 
	kaffe/kaffevm/jit3/icode.c:1.31->1.32 
	kaffe/kaffevm/systems/Makefile.in:1.72->1.73 
	kaffe/kaffevm/systems/beos-native/Makefile.in:1.63->1.64 
	kaffe/kaffevm/systems/oskit-pthreads/Makefile.in:1.69->1.70 
	kaffe/kaffevm/systems/unix-jthreads/Makefile.in:1.72->1.73 
	kaffe/kaffevm/systems/unix-pthreads/Makefile.in:1.42->1.43 
	kaffe/man/Makefile.in:1.70->1.71 
	kaffe/scripts/Makefile.in:1.101->1.102 
	kaffe/scripts/bat/Makefile.in:1.63->1.64 
	kaffe/scripts/compat/Makefile.in:1.84->1.85 
	kaffe/xprof/Makefile.in:1.38->1.39 
	libraries/Makefile.in:1.67->1.68 
	libraries/clib/Makefile.in:1.72->1.73 
	libraries/clib/awt/Makefile.in:1.80->1.81 
	libraries/clib/awt/X/Makefile.in:1.70->1.71 
	libraries/clib/awt/qt/Makefile.in:1.25->1.26 
	libraries/clib/io/Makefile.in:1.73->1.74 
	libraries/clib/management/Makefile.in:1.82->1.83 
	libraries/clib/math/Makefile.in:1.78->1.79 
	libraries/clib/native/Class.c:1.68->1.69 
	libraries/clib/native/Makefile.in:1.105->1.106 
	libraries/clib/net/Makefile.in:1.85->1.86 
	libraries/clib/security/Makefile.in:1.46->1.47 
	libraries/clib/zip/Makefile.in:1.80->1.81 
	libraries/extensions/Makefile.in:1.58->1.59 
	libraries/extensions/comm/Makefile.in:1.53->1.54 
	libraries/extensions/comm/javalib/Makefile.in:1.53->1.54 
	libraries/extensions/microsoft/Makefile.in:1.45->1.46 
	libraries/extensions/microsoft/clib/Makefile.in:1.48->1.49 
	libraries/extensions/microsoft/javalib/Makefile.in:1.46->1.47 
	libraries/extensions/pjava/Makefile.in:1.53->1.54 
	libraries/extensions/pjava/javalib/Makefile.in:1.53->1.54 
	libraries/extensions/servlet/Makefile.in:1.53->1.54 
	libraries/extensions/servlet/javalib/Makefile.in:1.53->1.54 
	libraries/extensions/sound/Makefile.in:1.21->1.22 
	libraries/extensions/sound/alsa/Makefile.in:1.22->1.23 
	libraries/extensions/sound/common/Makefile.in:1.21->1.22 
	libraries/extensions/sound/esd/Makefile.in:1.22->1.23 
	replace/Makefile.in:1.17->1.18 
	test/Makefile.in:1.73->1.74 
	test/internal/Makefile.in:1.25->1.26 
	test/regression/BadCatch1.j:INITIAL->1.1 
	test/regression/BadCatch2.j:INITIAL->1.1 
	test/regression/BadClassFileCode.java:INITIAL->1.1 
	test/regression/BadClassFileConstants.java:INITIAL->1.1 
	test/regression/BadClassVersion.java:INITIAL->1.1 
	test/regression/CircularClass.j:INITIAL->1.1 
	test/regression/CircularInterface.j:INITIAL->1.1 
	test/regression/ClassFlags1.j:INITIAL->1.1 
	test/regression/ClassFlags2.j:INITIAL->1.1 
	test/regression/DuplicateField.j:INITIAL->1.1 
	test/regression/EmptyMethod.j:INITIAL->1.1 
	test/regression/FieldErrors.java:INITIAL->1.1 
	test/regression/FieldFlags1.j:INITIAL->1.1 
	test/regression/FieldFlags2.j:INITIAL->1.1 
	test/regression/FieldFlags3.j:INITIAL->1.1 
	test/regression/FieldFlags4.j:INITIAL->1.1 
	test/regression/FieldRefSignature1.j:INITIAL->1.1 
	test/regression/FieldSignature1.j:INITIAL->1.1 
	test/regression/FieldSignature2.j:INITIAL->1.1 
	test/regression/FieldSignature3.j:INITIAL->1.1 
	test/regression/FieldSignature4.j:INITIAL->1.1 
	test/regression/ImplementClass.java:INITIAL->1.1 
	test/regression/InterfaceSuperClass.java:INITIAL->1.1 
	test/regression/InvokedMethodSignature1.j:INITIAL->1.1 
	test/regression/InvokedMethodSignature2.j:INITIAL->1.1 
	test/regression/InvokedMethodSignature3.j:INITIAL->1.1 
	test/regression/LostTrampolineFrame.java:1.1->1.2 
	test/regression/Makefile.am:1.82->1.83 
	test/regression/Makefile.in:1.135->1.136 
	test/regression/MethodErrors.java:INITIAL->1.1 
	test/regression/MethodFlags1.j:INITIAL->1.1 
	test/regression/MethodFlags2.j:INITIAL->1.1 
	test/regression/MethodFlags3.j:INITIAL->1.1 
	test/regression/MethodFlags4.j:INITIAL->1.1 
	test/regression/MethodFlags5.j:INITIAL->1.1 
	test/regression/MethodSignature1.j:INITIAL->1.1 
	test/regression/MethodSignature2.j:INITIAL->1.1 
	test/regression/MethodSignature3.j:INITIAL->1.1 
	test/regression/MethodSignature4.j:INITIAL->1.1 
	test/regression/MethodSignature5.j:INITIAL->1.1 
	test/regression/MethodSignature6.j:INITIAL->1.1 
	test/regression/MethodSignature7.j:INITIAL->1.1 
	test/regression/MethodSignature8.j:INITIAL->1.1 
	test/regression/MethodSignature9.j:INITIAL->1.1 
	test/regression/TestScript.in:1.39->1.40 
	test/regression/compile_time/ClassToInterface.java:INITIAL->1.1 
	test/regression/compile_time/CompileScript.in:INITIAL->1.1 
	test/regression/compile_time/DefinedToAbstract.java:INITIAL->1.1 
	test/regression/compile_time/DefinedToUndefined.java:INITIAL->1.1 
	test/regression/compile_time/InstToStatic.java:INITIAL->1.1 
	test/regression/compile_time/IntToFloat.java:INITIAL->1.1 
	test/regression/compile_time/InterfaceToClass.java:INITIAL->1.1 
	test/regression/compile_time/Makefile.am:INITIAL->1.1 
	test/regression/compile_time/Makefile.in:INITIAL->1.1 
	test/regression/compile_time/PublicToPrivate.java:INITIAL->1.1 
	test/regression/compile_time/StaticToInst.java:INITIAL->1.1 
	test/regression/compile_time/a/ProtectedToPrivate.java:INITIAL->1.1 
	test/regression/compile_time/a/PublicToPackage.java:INITIAL->1.1 
	test/regression/compile_time/a/PublicToProtected.java:INITIAL->1.1 
	test/regression/run_time/ClassToInterface.java:INITIAL->1.1 
	test/regression/run_time/CompileScript.in:INITIAL->1.1 
	test/regression/run_time/DefinedToAbstract.java:INITIAL->1.1 
	test/regression/run_time/DefinedToUndefined.java:INITIAL->1.1 
	test/regression/run_time/InstToStatic.java:INITIAL->1.1 
	test/regression/run_time/IntToFloat.java:INITIAL->1.1 
	test/regression/run_time/InterfaceToClass.java:INITIAL->1.1 
	test/regression/run_time/Makefile.am:INITIAL->1.1 
	test/regression/run_time/Makefile.in:INITIAL->1.1 
	test/regression/run_time/PublicToPrivate.java:INITIAL->1.1 
	test/regression/run_time/PublicToPrivateField.java:INITIAL->1.1 
	test/regression/run_time/StaticToInst.java:INITIAL->1.1 
	test/regression/run_time/a/ProtectedToPrivate.java:INITIAL->1.1 
	test/regression/run_time/a/PublicToPackage.java:INITIAL->1.1 
	test/regression/run_time/a/PublicToProtected.java:INITIAL->1.1 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1599 kaffe/ChangeLog:1.1600
--- kaffe/ChangeLog:1.1599	Sun Aug 31 18:00:51 2003
+++ kaffe/ChangeLog	Sun Aug 31 22:08:52 2003
@@ -1,3 +1,129 @@
+2003-08-31  Timothy S. Stack <stack@cs.utah.edu>
+
+	* Makefile.am:
+	Add BCEL Jar file to the CLASSPATH.
+
+	* configure.in:
+	Add --with-bcel option for activating BCEL based tests.  Detect
+	Jasmin for hostile class loading tests.
+
+	* include/errors.h:
+	Make LinkageError and IllegalAccessError take message arguments.
+
+	* kaffe/kaffevm/Makefile.am:
+	Add access.c and move GEN_SRCS to nodist_libkaffevm_la_SOURCES.
+
+	* kaffe/kaffevm/access.h,
+	kaffe/kaffevm/access.c:
+	Added run time access checking code.
+
+	* kaffe/kaffevm/classMethod.h,
+	kaffe/kaffevm/classMethod.c:
+	Verification related checking.
+
+	* kaffe/kaffevm/code.c:
+	Check for valid code lengths.
+
+	* kaffe/kaffevm/constants.c:
+	Check for valid CONSTANT_String values here since some code at the
+	end of the function dereferences the values.
+
+	* kaffe/kaffevm/exception.c,
+	kaffe/kaffevm/stackTrace.c,
+	kaffe/kaffevm/thread.c,
+	libraries/clib/native/Class.c:
+	Add #include for gtypes.h.
+
+	* kaffe/kaffevm/gcFuncs.c:
+	Don't free parent's gc_layout.
+
+	* kaffe/kaffevm/kaffe.def:
+	Add method/field access/link checks.
+
+	* kaffe/kaffevm/lookup.c:
+	Make sure the actual field signature jibe's with the requested
+	one.
+
+	* kaffe/kaffevm/object.c:
+	Don't allow instantiation of interface classes.
+
+	* kaffe/kaffevm/readClass.c:
+	Post an UnsupportedClassVersionError instead of print a warning.
+
+	* kaffe/kaffevm/soft.h,
+	kaffe/kaffevm/soft.c:
+	Add soft_linkage and soft_illegalaccess for throwing LinkageErrors
+	and IllegalAccessErrors.
+
+	* kaffe/kaffevm/support.h,
+	kaffe/kaffevm/support.c:
+	Add silly bitCount function (used by verifier code...).
+
+	* kaffe/kaffevm/verify.c:
+	Add checks for fields.  Fix error when computing the next PC for a
+	WIDE instruction.
+
+	* kaffe/kaffevm/jit3/codeproto.h,
+	kaffe/kaffevm/jit3/icode.c:
+	Add softcall_linkage and softcall_illegalaccess for throwing
+	LinkageErrors and IllegalAccessErrors.
+
+	* test/regression/LostTrampolineFrame.java:
+	Changed to use an error in a static initializer to cause the error
+	instead of a verification error.
+
+	* test/regression/Makefile.am:
+	Add new access/link, Jasmin, and BCEL tests.
+
+	* test/regression/TestScript.in:
+	Add support for Jasmin based tests.  Add support for tests that
+	use different classes at compile time and run time.
+
+	* test/regression/BadCatch1.j,
+	test/regression/BadCatch2.j,
+	test/regression/BadClassFileCode.java,
+	test/regression/BadClassFileConstants.java,
+	test/regression/BadClassVersion.java,
+	test/regression/CircularClass.j,
+	test/regression/CircularInterface.j,
+	test/regression/ClassFlags1.j,
+	test/regression/ClassFlags2.j,
+	test/regression/DuplicateField.j,
+	test/regression/EmptyMethod.j,
+	test/regression/FieldFlags1.j,
+	test/regression/FieldFlags2.j,
+	test/regression/FieldFlags3.j,
+	test/regression/FieldFlags4.j,
+	test/regression/FieldRefSignature1.j,
+	test/regression/FieldSignature1.j,
+	test/regression/FieldSignature2.j,
+	test/regression/FieldSignature3.j,
+	test/regression/FieldSignature4.j,
+	test/regression/ImplementClass.java,
+	test/regression/InterfaceSuperClass.java,
+	test/regression/InvokedMethodSignature1.j,
+	test/regression/InvokedMethodSignature2.j,
+	test/regression/InvokedMethodSignature3.j,
+	test/regression/MethodFlags1.j,
+	test/regression/MethodFlags2.j,
+	test/regression/MethodFlags3.j,
+	test/regression/MethodFlags4.j,
+	test/regression/MethodFlags5.j,
+	test/regression/MethodSignature1.j,
+	test/regression/MethodSignature2.j,
+	test/regression/MethodSignature3.j,
+	test/regression/MethodSignature4.j,
+	test/regression/MethodSignature5.j,
+	test/regression/MethodSignature6.j,
+	test/regression/MethodSignature7.j,
+	test/regression/MethodSignature8.j,
+	test/regression/MethodSignature9.j:
+	Tests designed to assault the class loader.
+
+	* test/regression/FieldErrors.java,
+	test/regression/MethodErrors.java:
+	Tests designed to check run-time access/link checking.
+
 2003-08-31  Guilhem Lavaux <guilhem@kaffe.org>
 
 	* kaffe/kaffevm/systems/unix-pthreads/syscalls.c:
Index: kaffe/Makefile.am
diff -u kaffe/Makefile.am:1.46 kaffe/Makefile.am:1.47
--- kaffe/Makefile.am:1.46	Sun Jul 27 14:36:26 2003
+++ kaffe/Makefile.am	Sun Aug 31 22:08:52 2003
@@ -134,7 +134,7 @@
 
 BUILD_ENVIRONMENT-make: Makefile
 	echo BOOTCLASSPATH=\$${BOOTCLASSPATH}\''$(PATHSEP)'\'$(top_builddir)/libraries/javalib/rt.jar\''$(PATHSEP)'\'$(DNSJAVA_JAR)\; export BOOTCLASSPATH | sed 's,/,$(DIRSEP),g;s,\\,\\\\,g' > BUILD_ENVIRONMENT.new; \
-	echo CLASSPATH=\$${CLASSPATH}\''$(PATHSEP)'\'.\''$(PATHSEP)'\'$(top_srcdir)/libraries/javalib/kjc.jar\; export CLASSPATH | sed 's,/,$(DIRSEP),g;s,\\,\\\\,g' >> BUILD_ENVIRONMENT.new; \
+	echo CLASSPATH=\$${CLASSPATH}\''$(PATHSEP)'\'.\''$(PATHSEP)'\'$(top_srcdir)/libraries/javalib/kjc.jar\''$(PATHSEP)'\'$(BCEL_JAR)\; export CLASSPATH | sed 's,/,$(DIRSEP),g;s,\\,\\\\,g' >> BUILD_ENVIRONMENT.new; \
 	echo KAFFELIBRARYPATH=\$${KAFFELIBRARYPATH+\"\$$KAFFELIBRARYPATH\"\''$(PATHSEP)'\'}`for f in $(JAVA_LIBS); do echo "$$f" | sed 's%/[^/]*$$%%'; done | (tr '\012' ' '; echo) | sed -e 's/ $$//' -e "s/ /\'$(PATHSEP)\'/g"`\; export KAFFELIBRARYPATH >> BUILD_ENVIRONMENT.new; \
 	echo JAVA=$(top_builddir)/kaffe/kaffe/kaffe-bin$(EXEEXT)\; export JAVA >> BUILD_ENVIRONMENT.new
 	rm -f BUILD_ENVIRONMENT
Index: kaffe/Makefile.in
diff -u kaffe/Makefile.in:1.112 kaffe/Makefile.in:1.113
--- kaffe/Makefile.in:1.112	Thu Jul 31 22:46:37 2003
+++ kaffe/Makefile.in	Sun Aug 31 22:08:52 2003
@@ -58,6 +58,7 @@
 AWK = @AWK@
 AWT_DIR = @AWT_DIR@
 AWT_LIBS = @AWT_LIBS@
+BCEL_JAR = @BCEL_JAR@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CCLD = @CCLD@
@@ -97,11 +98,15 @@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
+HAVE_BCEL_FALSE = @HAVE_BCEL_FALSE@
+HAVE_BCEL_TRUE = @HAVE_BCEL_TRUE@
 HAVE_CONFIG_JIT_MD_H = @HAVE_CONFIG_JIT_MD_H@
 HAVE_DNSJAVA_FALSE = @HAVE_DNSJAVA_FALSE@
 HAVE_DNSJAVA_TRUE = @HAVE_DNSJAVA_TRUE@
 HAVE_GCJ_SUPPORT_FALSE = @HAVE_GCJ_SUPPORT_FALSE@
 HAVE_GCJ_SUPPORT_TRUE = @HAVE_GCJ_SUPPORT_TRUE@
+HAVE_JASMIN_FALSE = @HAVE_JASMIN_FALSE@
+HAVE_JASMIN_TRUE = @HAVE_JASMIN_TRUE@
 HAVE_JIKES_FALSE = @HAVE_JIKES_FALSE@
 HAVE_JIKES_TRUE = @HAVE_JIKES_TRUE@
 HAVE_MKTEMP_FALSE = @HAVE_MKTEMP_FALSE@
@@ -113,6 +118,7 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JASMIN = @JASMIN@
 JAVA_LIBS = @JAVA_LIBS@
 JIKES = @JIKES@
 JIKESPROG = @JIKESPROG@
@@ -564,7 +570,7 @@
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
 	mkdir $(distdir)
-	$(mkinstalldirs) $(distdir)/./include/kaffe $(distdir)/FAQ $(distdir)/compat-include $(distdir)/developers $(distdir)/kaffe/man $(distdir)/kaffe/scripts $(distdir)/kaffe/scripts/compat $(distdir)/libraries/javalib $(distdir)/test/regression
+	$(mkinstalldirs) $(distdir)/./include/kaffe $(distdir)/FAQ $(distdir)/compat-include $(distdir)/developers $(distdir)/kaffe/man $(distdir)/kaffe/scripts $(distdir)/kaffe/scripts/compat $(distdir)/libraries/javalib $(distdir)/test/regression $(distdir)/test/regression/compile_time $(distdir)/test/regression/run_time
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
 	list='$(DISTFILES)'; for file in $$list; do \
@@ -787,7 +793,7 @@
 
 BUILD_ENVIRONMENT-make: Makefile
 	echo BOOTCLASSPATH=\$${BOOTCLASSPATH}\''$(PATHSEP)'\'$(top_builddir)/libraries/javalib/rt.jar\''$(PATHSEP)'\'$(DNSJAVA_JAR)\; export BOOTCLASSPATH | sed 's,/,$(DIRSEP),g;s,\\,\\\\,g' > BUILD_ENVIRONMENT.new; \
-	echo CLASSPATH=\$${CLASSPATH}\''$(PATHSEP)'\'.\''$(PATHSEP)'\'$(top_srcdir)/libraries/javalib/kjc.jar\; export CLASSPATH | sed 's,/,$(DIRSEP),g;s,\\,\\\\,g' >> BUILD_ENVIRONMENT.new; \
+	echo CLASSPATH=\$${CLASSPATH}\''$(PATHSEP)'\'.\''$(PATHSEP)'\'$(top_srcdir)/libraries/javalib/kjc.jar\''$(PATHSEP)'\'$(BCEL_JAR)\; export CLASSPATH | sed 's,/,$(DIRSEP),g;s,\\,\\\\,g' >> BUILD_ENVIRONMENT.new; \
 	echo KAFFELIBRARYPATH=\$${KAFFELIBRARYPATH+\"\$$KAFFELIBRARYPATH\"\''$(PATHSEP)'\'}`for f in $(JAVA_LIBS); do echo "$$f" | sed 's%/[^/]*$$%%'; done | (tr '\012' ' '; echo) | sed -e 's/ $$//' -e "s/ /\'$(PATHSEP)\'/g"`\; export KAFFELIBRARYPATH >> BUILD_ENVIRONMENT.new; \
 	echo JAVA=$(top_builddir)/kaffe/kaffe/kaffe-bin$(EXEEXT)\; export JAVA >> BUILD_ENVIRONMENT.new
 	rm -f BUILD_ENVIRONMENT
Index: kaffe/configure
diff -u kaffe/configure:1.254 kaffe/configure:1.255
--- kaffe/configure:1.254	Sat Aug 30 14:18:18 2003
+++ kaffe/configure	Sun Aug 31 22:08:53 2003
@@ -466,7 +466,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 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 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 HAVE_ZIP_TRUE HAVE_ZIP_FALSE HAVE_JIKES_TRUE HAVE_JIKES_FALSE HAVE_MKTEMP_TRUE HAVE_MKTEMP_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 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 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 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.
@@ -1070,6 +1070,7 @@
   --with-tags[=TAGS]
                           include additional configurations [automatic]
   --with-engine=ENGINE    Force use given execution engine (intrp, jit, or jit3)
+  --with-bcel=<jar>       Use the specified Bytecode Engineering Jar file.
   --with-dnsjava=<jar>       Use the specified DNS java Jar file.
   --with-profiling        Compile with gprof(1) profiling support
   --without-suncompat     Don't include Sun compatibility scripts
@@ -4173,7 +4174,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4176 "configure"' > conftest.$ac_ext
+  echo '#line 4177 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -5248,7 +5249,7 @@
 
 
 # Provide some information about the compiler.
-echo "$as_me:5251:" \
+echo "$as_me:5252:" \
      "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
@@ -6259,11 +6260,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6262: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6263: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6266: \$? = $ac_status" >&5
+   echo "$as_me:6267: \$? = $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
@@ -6491,11 +6492,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6494: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6495: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6498: \$? = $ac_status" >&5
+   echo "$as_me:6499: \$? = $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
@@ -6558,11 +6559,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6561: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6562: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:6565: \$? = $ac_status" >&5
+   echo "$as_me:6566: \$? = $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
@@ -8570,7 +8571,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8573 "configure"
+#line 8574 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -8668,7 +8669,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8671 "configure"
+#line 8672 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10800,11 +10801,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10803: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10804: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:10807: \$? = $ac_status" >&5
+   echo "$as_me:10808: \$? = $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
@@ -10867,11 +10868,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10870: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10871: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:10874: \$? = $ac_status" >&5
+   echo "$as_me:10875: \$? = $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
@@ -12110,7 +12111,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12113 "configure"
+#line 12114 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12208,7 +12209,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12211 "configure"
+#line 12212 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13030,11 +13031,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13033: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13034: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13037: \$? = $ac_status" >&5
+   echo "$as_me:13038: \$? = $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
@@ -13097,11 +13098,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13100: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13101: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13104: \$? = $ac_status" >&5
+   echo "$as_me:13105: \$? = $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
@@ -15037,11 +15038,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15040: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15041: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15044: \$? = $ac_status" >&5
+   echo "$as_me:15045: \$? = $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
@@ -15269,11 +15270,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15272: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15273: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15276: \$? = $ac_status" >&5
+   echo "$as_me:15277: \$? = $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
@@ -15336,11 +15337,11 @@
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15339: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15340: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15343: \$? = $ac_status" >&5
+   echo "$as_me:15344: \$? = $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
@@ -17348,7 +17349,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 17351 "configure"
+#line 17352 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17446,7 +17447,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 17449 "configure"
+#line 17450 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18863,6 +18864,28 @@
 esac
 
 
+
+# Check whether --with-bcel or --without-bcel was given.
+if test "${with_bcel+set}" = set; then
+  withval="$with_bcel"
+   BCEL_JAR="$withval"
+else
+   BCEL_JAR=""
+fi;
+
+
+
+
+if test x"$BCEL_JAR" != x""; then
+  HAVE_BCEL_TRUE=
+  HAVE_BCEL_FALSE='#'
+else
+  HAVE_BCEL_TRUE='#'
+  HAVE_BCEL_FALSE=
+fi
+
+
+
 # Check whether --enable-jvmpi or --disable-jvmpi was given.
 if test "${enable_jvmpi+set}" = set; then
   enableval="$enable_jvmpi"
@@ -19341,6 +19364,41 @@
 echo "${ECHO_T}no" >&6
 fi
 
+# Extract the first word of "jasmin", so it can be a program name with args.
+set dummy jasmin; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_JASMIN+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$JASMIN"; then
+  ac_cv_prog_JASMIN="$JASMIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_JASMIN="jasmin"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+JASMIN=$ac_cv_prog_JASMIN
+if test -n "$JASMIN"; then
+  echo "$as_me:$LINENO: result: $JASMIN" >&5
+echo "${ECHO_T}$JASMIN" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
 
 
 
@@ -19373,6 +19431,16 @@
 fi
 
 
+
+if test x"$JASMIN" != x""; then
+  HAVE_JASMIN_TRUE=
+  HAVE_JASMIN_FALSE='#'
+else
+  HAVE_JASMIN_TRUE='#'
+  HAVE_JASMIN_FALSE=
+fi
+
+
 if test x"$LN_S" = x"" ; then
 	echo "$as_me:$LINENO: checking whether ln -s works" >&5
 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
@@ -42325,6 +42393,14 @@
 
           ac_config_files="$ac_config_files test/regression/TestScript"
 
+          ac_config_files="$ac_config_files test/regression/compile_time/Makefile"
+
+          ac_config_files="$ac_config_files test/regression/compile_time/CompileScript"
+
+          ac_config_files="$ac_config_files test/regression/run_time/Makefile"
+
+          ac_config_files="$ac_config_files test/regression/run_time/CompileScript"
+
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -42452,6 +42528,13 @@
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${HAVE_BCEL_TRUE}" && test -z "${HAVE_BCEL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAVE_BCEL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAVE_BCEL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${ENABLE_JVMPI_TRUE}" && test -z "${ENABLE_JVMPI_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"ENABLE_JVMPI\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -42508,6 +42591,13 @@
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${HAVE_JASMIN_TRUE}" && test -z "${HAVE_JASMIN_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAVE_JASMIN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAVE_JASMIN\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -43077,6 +43167,10 @@
   "test/internal/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/internal/Makefile" ;;
   "test/regression/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/regression/Makefile" ;;
   "test/regression/TestScript" ) CONFIG_FILES="$CONFIG_FILES test/regression/TestScript" ;;
+  "test/regression/compile_time/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/regression/compile_time/Makefile" ;;
+  "test/regression/compile_time/CompileScript" ) CONFIG_FILES="$CONFIG_FILES test/regression/compile_time/CompileScript" ;;
+  "test/regression/run_time/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/regression/run_time/Makefile" ;;
+  "test/regression/run_time/CompileScript" ) CONFIG_FILES="$CONFIG_FILES test/regression/run_time/CompileScript" ;;
   "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
   "config/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config/config.h" ;;
   "include/kaffe/jtypes.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/kaffe/jtypes.h" ;;
@@ -43244,6 +43338,9 @@
 s,@USE_JIT_TRUE@,$USE_JIT_TRUE,;t t
 s,@USE_JIT_FALSE@,$USE_JIT_FALSE,;t t
 s,@ENGINE_NAME@,$ENGINE_NAME,;t t
+s,@BCEL_JAR@,$BCEL_JAR,;t t
+s,@HAVE_BCEL_TRUE@,$HAVE_BCEL_TRUE,;t t
+s,@HAVE_BCEL_FALSE@,$HAVE_BCEL_FALSE,;t t
 s,@ENABLE_JVMPI_TRUE@,$ENABLE_JVMPI_TRUE,;t t
 s,@ENABLE_JVMPI_FALSE@,$ENABLE_JVMPI_FALSE,;t t
 s,@DNSJAVA_JAR@,$DNSJAVA_JAR,;t t
@@ -43268,12 +43365,15 @@
 s,@KAFFE_ARCHOS@,$KAFFE_ARCHOS,;t t
 s,@ZIP@,$ZIP,;t t
 s,@MKTEMP@,$MKTEMP,;t t
+s,@JASMIN@,$JASMIN,;t t
 s,@HAVE_ZIP_TRUE@,$HAVE_ZIP_TRUE,;t t
 s,@HAVE_ZIP_FALSE@,$HAVE_ZIP_FALSE,;t t
 s,@HAVE_JIKES_TRUE@,$HAVE_JIKES_TRUE,;t t
 s,@HAVE_JIKES_FALSE@,$HAVE_JIKES_FALSE,;t t
 s,@HAVE_MKTEMP_TRUE@,$HAVE_MKTEMP_TRUE,;t t
 s,@HAVE_MKTEMP_FALSE@,$HAVE_MKTEMP_FALSE,;t t
+s,@HAVE_JASMIN_TRUE@,$HAVE_JASMIN_TRUE,;t t
+s,@HAVE_JASMIN_FALSE@,$HAVE_JASMIN_FALSE,;t t
 s,@KAFFE_LIBS@,$KAFFE_LIBS,;t t
 s,@M_LIBS@,$M_LIBS,;t t
 s,@VM_LIBS@,$VM_LIBS,;t t
Index: kaffe/configure.in
diff -u kaffe/configure.in:1.221 kaffe/configure.in:1.222
--- kaffe/configure.in:1.221	Sat Aug 30 14:18:21 2003
+++ kaffe/configure.in	Sun Aug 31 22:08:56 2003
@@ -307,6 +307,18 @@
 esac
 
 dnl =========================================================================
+dnl Allow user to specify a bcel.jar file for class file testing.
+dnl -------------------------------------------------------------------------
+
+AC_ARG_WITH(bcel,
+  [  --with-bcel=<jar>       Use the specified Bytecode Engineering Jar file.],
+  [ BCEL_JAR="$withval" ],
+  [ BCEL_JAR="" ])
+
+AC_SUBST(BCEL_JAR)
+AM_CONDITIONAL(HAVE_BCEL, test x"$BCEL_JAR" != x"")
+
+dnl =========================================================================
 dnl Allow activation of jvmpi
 dnl -------------------------------------------------------------------------
 
@@ -506,10 +518,12 @@
 AC_PROG_MAKE_SET
 AC_CHECK_PROG(ZIP, zip, zip)
 AC_CHECK_PROG(MKTEMP, mktemp, mktemp)
+AC_CHECK_PROG(JASMIN, jasmin, jasmin)
 
 AM_CONDITIONAL(HAVE_ZIP, test x"$ZIP" != x"")
 AM_CONDITIONAL(HAVE_JIKES, test x"$JIKES" != x"")
 AM_CONDITIONAL(HAVE_MKTEMP, test x"$MKTEMP" != x"")
+AM_CONDITIONAL(HAVE_JASMIN, test x"$JASMIN" != x"")
 
 dnl If symlink is overridden then don't bother with the test.
 if test x"$LN_S" = x"" ; then
@@ -1630,5 +1644,9 @@
 AC_CONFIG_FILES([test/internal/Makefile])
 AC_CONFIG_FILES([test/regression/Makefile])
 AC_CONFIG_FILES([test/regression/TestScript])
+AC_CONFIG_FILES([test/regression/compile_time/Makefile])
+AC_CONFIG_FILES([test/regression/compile_time/CompileScript])
+AC_CONFIG_FILES([test/regression/run_time/Makefile])
+AC_CONFIG_FILES([test/regression/run_time/CompileScript])
 
 AC_OUTPUT
Index: kaffe/config/Makefile.in
diff -u kaffe/config/Makefile.in:1.86 kaffe/config/Makefile.in:1.87
--- kaffe/config/Makefile.in:1.86	Thu Jul 31 22:46:40 2003
+++ kaffe/config/Makefile.in	Sun Aug 31 22:08:56 2003
@@ -55,6 +55,7 @@
 AWK = @AWK@
 AWT_DIR = @AWT_DIR@
 AWT_LIBS = @AWT_LIBS@
+BCEL_JAR = @BCEL_JAR@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CCLD = @CCLD@
@@ -94,11 +95,15 @@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
+HAVE_BCEL_FALSE = @HAVE_BCEL_FALSE@
+HAVE_BCEL_TRUE = @HAVE_BCEL_TRUE@
 HAVE_CONFIG_JIT_MD_H = @HAVE_CONFIG_JIT_MD_H@
 HAVE_DNSJAVA_FALSE = @HAVE_DNSJAVA_FALSE@
 HAVE_DNSJAVA_TRUE = @HAVE_DNSJAVA_TRUE@
 HAVE_GCJ_SUPPORT_FALSE = @HAVE_GCJ_SUPPORT_FALSE@
 HAVE_GCJ_SUPPORT_TRUE = @HAVE_GCJ_SUPPORT_TRUE@
+HAVE_JASMIN_FALSE = @HAVE_JASMIN_FALSE@
+HAVE_JASMIN_TRUE = @HAVE_JASMIN_TRUE@
 HAVE_JIKES_FALSE = @HAVE_JIKES_FALSE@
 HAVE_JIKES_TRUE = @HAVE_JIKES_TRUE@
 HAVE_MKTEMP_FALSE = @HAVE_MKTEMP_FALSE@
@@ -110,6 +115,7 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JASMIN = @JASMIN@
 JAVA_LIBS = @JAVA_LIBS@
 JIKES = @JIKES@
 JIKESPROG = @JIKESPROG@
@@ -240,9 +246,9 @@
 target_alias = @target_alias@
 toolslibdir = @toolslibdir@
 with_engine = @with_engine@
-@USE_JIT_FALSE@ENGINE_GEN_HDRS = 
 
 @USE_JIT_TRUE@ENGINE_GEN_HDRS = jit-md.h
+@USE_JIT_FALSE@ENGINE_GEN_HDRS = 
 
 @ENABLE_XPROF_TRUE@XPROF_HDRS = xprofile-md.h
 @ENABLE_XPROF_FALSE@XPROF_HDRS = 
Index: kaffe/include/Makefile.in
diff -u kaffe/include/Makefile.in:1.120 kaffe/include/Makefile.in:1.121
--- kaffe/include/Makefile.in:1.120	Sun Aug 31 17:16:48 2003
+++ kaffe/include/Makefile.in	Sun Aug 31 22:08:58 2003
@@ -57,6 +57,7 @@
 AWK = @AWK@
 AWT_DIR = @AWT_DIR@
 AWT_LIBS = @AWT_LIBS@
+BCEL_JAR = @BCEL_JAR@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CCLD = @CCLD@
@@ -96,11 +97,15 @@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
+HAVE_BCEL_FALSE = @HAVE_BCEL_FALSE@
+HAVE_BCEL_TRUE = @HAVE_BCEL_TRUE@
 HAVE_CONFIG_JIT_MD_H = @HAVE_CONFIG_JIT_MD_H@
 HAVE_DNSJAVA_FALSE = @HAVE_DNSJAVA_FALSE@
 HAVE_DNSJAVA_TRUE = @HAVE_DNSJAVA_TRUE@
 HAVE_GCJ_SUPPORT_FALSE = @HAVE_GCJ_SUPPORT_FALSE@
 HAVE_GCJ_SUPPORT_TRUE = @HAVE_GCJ_SUPPORT_TRUE@
+HAVE_JASMIN_FALSE = @HAVE_JASMIN_FALSE@
+HAVE_JASMIN_TRUE = @HAVE_JASMIN_TRUE@
 HAVE_JIKES_FALSE = @HAVE_JIKES_FALSE@
 HAVE_JIKES_TRUE = @HAVE_JIKES_TRUE@
 HAVE_MKTEMP_FALSE = @HAVE_MKTEMP_FALSE@
@@ -112,6 +117,7 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JASMIN = @JASMIN@
 JAVA_LIBS = @JAVA_LIBS@
 JIKES = @JIKES@
 JIKESPROG = @JIKESPROG@
@@ -378,9 +384,9 @@
 
 
 JNI_DERIVED_HDRS = $(INSTALL_JNI_DERIVED_HDRS) $(NOINSTALL_JNI_DERIVED_HDRS)
-@USE_COMPAT_IFADDRS_FALSE@ifaddrs_compat = #
 
 @USE_COMPAT_IFADDRS_TRUE@ifaddrs_compat = ifaddrs.h
+@USE_COMPAT_IFADDRS_FALSE@ifaddrs_compat = #
 
 nodist_noinst_HEADERS = \
 	$(NOINSTALL_DERIVED_HDRS) \
Index: kaffe/include/errors.h
diff -u kaffe/include/errors.h:1.8 kaffe/include/errors.h:1.9
--- kaffe/include/errors.h:1.8	Sat Jul 26 16:50:47 2003
+++ kaffe/include/errors.h	Sun Aug 31 22:08:58 2003
@@ -86,12 +86,12 @@
 #define NoClassDefFoundError(M) NEW_LANG_EXCEPTION_MESSAGE(NoClassDefFoundError, M)
 #define NoSuchMethodError(M) NEW_LANG_EXCEPTION_MESSAGE(NoSuchMethodError, M)
 #define NoSuchFieldError(M) NEW_LANG_EXCEPTION_MESSAGE(NoSuchFieldError, M)
-#define LinkageError NEW_LANG_EXCEPTION(LinkageError)
+#define LinkageError(M) NEW_LANG_EXCEPTION_MESSAGE(LinkageError, M)
 #define OutOfMemoryError NEW_LANG_EXCEPTION(OutOfMemoryError)
 #define UnsatisfiedLinkError NEW_LANG_EXCEPTION(UnsatisfiedLinkError)
 #define VirtualMachineError NEW_LANG_EXCEPTION(VirtualMachineError)
 #define IncompatibleClassChangeError(M) NEW_LANG_EXCEPTION_MESSAGE(IncompatibleClassChangeError, M)
-#define IllegalAccessError NEW_LANG_EXCEPTION(IllegalAccessError)
+#define IllegalAccessError(M) NEW_LANG_EXCEPTION_MESSAGE(IllegalAccessError, M)
 #define NegativeArraySizeException NEW_LANG_EXCEPTION(NegativeArraySizeException)
 #define ClassCastException(M) NEW_LANG_EXCEPTION_MESSAGE(ClassCastException, M)
 #define IllegalMonitorStateException NEW_LANG_EXCEPTION(IllegalMonitorStateException)
Index: kaffe/kaffe/Makefile.in
diff -u kaffe/kaffe/Makefile.in:1.78 kaffe/kaffe/Makefile.in:1.79
--- kaffe/kaffe/Makefile.in:1.78	Mon Aug 18 17:40:28 2003
+++ kaffe/kaffe/Makefile.in	Sun Aug 31 22:08:59 2003
@@ -55,6 +55,7 @@
 AWK = @AWK@
 AWT_DIR = @AWT_DIR@
 AWT_LIBS = @AWT_LIBS@
+BCEL_JAR = @BCEL_JAR@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CCLD = @CCLD@
@@ -94,11 +95,15 @@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
+HAVE_BCEL_FALSE = @HAVE_BCEL_FALSE@
+HAVE_BCEL_TRUE = @HAVE_BCEL_TRUE@
 HAVE_CONFIG_JIT_MD_H = @HAVE_CONFIG_JIT_MD_H@
 HAVE_DNSJAVA_FALSE = @HAVE_DNSJAVA_FALSE@
 HAVE_DNSJAVA_TRUE = @HAVE_DNSJAVA_TRUE@
 HAVE_GCJ_SUPPORT_FALSE = @HAVE_GCJ_SUPPORT_FALSE@
 HAVE_GCJ_SUPPORT_TRUE = @HAVE_GCJ_SUPPORT_TRUE@
+HAVE_JASMIN_FALSE = @HAVE_JASMIN_FALSE@
+HAVE_JASMIN_TRUE = @HAVE_JASMIN_TRUE@
 HAVE_JIKES_FALSE = @HAVE_JIKES_FALSE@
 HAVE_JIKES_TRUE = @HAVE_JIKES_TRUE@
 HAVE_MKTEMP_FALSE = @HAVE_MKTEMP_FALSE@
@@ -110,6 +115,7 @@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JASMIN = @JASMIN@
 JAVA_LIBS = @JAVA_LIBS@
 JIKES = @JIKES@
 JIKESPROG = @JIKESPROG@
@@ -240,12 +246,12 @@
 target_alias = @target_alias@
 toolslibdir = @toolslibdir@
 with_engine = @with_engine@
-@NEED_LIBXPROF_FALSE@XPROF_SUBDIRS = #
 
 @NEED_LIBXPROF_TRUE@XPROF_SUBDIRS = xprof
-@ENABLE_JVMPI_FALSE@JVMPI_SUBDIRS = #
+@NEED_LIBXPROF_FALSE@XPROF_SUBDIRS = #
 
 @ENABLE_JVMPI_TRUE@JVMPI_SUBDIRS = jvmpi
+@ENABLE_JVMPI_FALSE@JVMPI_SUBDIRS = #
 
 SUBDIRS = kaffeh kaffevm $(XPROF_SUBDIRS) $(JVMPI_SUBDIRS) kaffe scripts man
 subdir = kaffe
Index: kaffe/kaffe/jvmpi/Makefile.in
diff -u kaffe/kaffe/jvmpi/Makefile.in:1.5 kaffe/kaffe/jvmpi/Makefile.in:1.6
--- kaffe/kaffe/jvmpi/Makefile.in:1.5	Thu Aug  7 18:36:31 2003
+++ kaffe/kaffe/jvmpi/Makefile.in	Sun Aug 31 22:08:59 2003
@@ -47,6 +47,7 @@
 AWK = @AWK@
 AWT_DIR = @AWT_DIR@
 AWT_LIBS = @AWT_LIBS@
+BCEL_JAR = @BCEL_JAR@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CCLD = @CCLD@
@@ -86,11 +87,15 @@
 EXEEXT = @EXEEXT@
 F77 = @F77@
 FFLAGS = @FFLAGS@
+HAVE_BCEL_FALSE = @HAVE_BCEL_FALSE@
+HAVE_BCEL_TRUE = @HAVE_BCEL_TRUE@
 HAVE_CONFIG_JIT_MD_H = @HAVE_CONFIG_JIT_MD_H@
 HAVE_DNSJAVA_FALSE = @HAVE_DNSJAVA_FALSE@
 HAVE_DNSJAVA_TRUE = @HAVE_DNSJAVA_TRUE@
 HAVE_GCJ_SUPPORT_FALSE = @HAVE_GCJ_SUPPORT_FALSE@
 HAVE_GCJ_SUPPORT_TRUE = @HAVE_GCJ_SUPPORT_TRUE@
+HAVE_JASMIN_FALSE = @HAVE_JASMIN_FALSE@
+HAVE_JASMIN_TRUE = @HAVE_JASMIN_TRUE@

*** Patch too long, truncated ***