2006-12-31 17:57  edwin

	* src/vm/jit/inline/inline.c (test_inlining): Deactivated typechecking
	of inlined result.

2006-12-28 21:21  twisti

	* src/vm/jit/alpha/disass.c (regs): Removed.
	* src/vm/jit/alpha/md-abi.c (regs): Added.

2006-12-28 20:56  twisti

	* src/vm/jit/i386/disass.c (regs): Removed.
	* src/vm/jit/i386/md-abi.c (regs): Added.

2006-12-28 20:50  twisti

	* src/vm/jit/x86_64/disass.c (regs): Removed.
	* src/vm/jit/x86_64/md-abi.c (regs): Added.

2006-12-28 15:38  twisti

	* src/native/include/Makefile.am (NO_GEN_JAVASE_HEADER_FILES): Removed
	java_lang_Object.h.
	(JAVASE_HEADER_FILES): Added java_lang_Object.h.
	* src/native/include/.cvsignore: Likewise.
	* src/native/include/java_lang_VMObject.h: Removed.

2006-12-28 13:43  twisti

	* tests/regression/Makefile.am,
	tests/regression/codepatching/Makefile.am,
	tests/regression/jasmin/Makefile.am,
	tests/regression/native/Makefile.am (JAVAFLAGS) [WITH_CLASSPATH_GNU]:
	Set differently for GNU Classpath.

2006-12-28 12:30  twisti

	* src/mm/memory.c (memory_mmap_anon): Fixed indentation and a debug
	typo.
	* src/vm/signal.c (signal_init): Removed unused variable.

2006-12-28 11:57  twisti

	* src/fdlibm/fdlibm.h (exception): Commented since it was already
	defined on
	IRIX (don't know where).

2006-12-28 00:19  twisti

	* src/threads/native/threads.c (threads_attach_current_thread): Fixed
	compiler warning.
	(threads_detach_thread): Likewise.
	(threads_find_non_daemon_thread): Fixed bug, we returned the wrong
	threads.

2006-12-27 23:54  twisti

	* src/threads/native/threads.c (threads_init): Fixed another typo.

2006-12-27 23:42  twisti

	* src/threads/native/threads.c (threads_init): Fixed typo.
	
	* src/native/jni.c (native/include/java_lang_ClassLoader.h): Added.
	* src/native/vm/gnu/java_lang_VMRuntime.c: Likewise.

2006-12-27 23:15  twisti

	* src/vm/class.c [ENABLE_JAVASE] (arrayclass_java_lang_Object): Added
	#ifdef.
	* src/vm/class.h: Likewise.
	
	* src/vm/loader.c: Java ME changes.
	
	* src/vm/finalizer.c (finalizer_start_thread): Set flags.
	* src/vm/jit/optimizing/recompile.c (recompile_start_thread):
	Likewise.
	
	* src/vm/jit/stacktrace.c [ENABLE_JAVASE] (stacktrace_getStack): Added
	#ifdef.
	
	* src/vm/jit/codegen-common.c (codegen_start_native_call)
	[ENABLE_JAVASE]: #ifdef'ed the local references table stuff (maybe we
	need to change that for cacao-gc).
	(codegen_finish_native_call): Likewise.
	
	* src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror)
	[!ENABLE_JAVASE]: In the meantime we throw a VirtualMachineError.
	* src/vm/exceptions.h: Likewise.
	
	* src/vm/linker.c: Java ME changes.
	
	* src/native/native.c: Likewise.
	* src/native/native.h: Likewise.
	
	* src/threads/native/threads.h (THREAD_FLAG_DAEMON): Added.
	(threadobject): Changed flags to u4.
	* src/threads/native/threads.c: A lot of Java ME changes.

2006-12-27 23:05  twisti

	* src/vm/jit/powerpc/emit.c (emit_verbosecall_enter) [!NDEBUG]: We
	also define the function with NDEBUG, but empty.
	(emit_verbosecall_exit): Likewise.
	* src/vm/jit/powerpc/codegen.c (codegen): Removed
	JITDATA_HAS_FLAG_VERBOSECALL from emit_verbosecall calls.

2006-12-27 23:00  twisti

	* src/vm/properties.c (properties_init) [ENABLE_JAVAME_CLDC1_1]: Set
	values as Sun's JVM does.

2006-12-27 22:39  twisti

	* src/vm/jit/stacktrace.c: Java ME changes.
	* src/vm/jit/stacktrace.h: Likewise.

2006-12-27 22:31  twisti

	* tests/regression/Makefile.am: Renamed CLASSPATH_GLIBJ_ZIP to
	CLASSPATH_CLASSES.
	* tests/regression/codepatching/Makefile.am: Likewise.
	* tests/regression/jasmin/Makefile.am: Likewise.
	* tests/regression/native/Makefile.am: Likewise.

2006-12-27 21:13  ajordan

	* src/vm/jit/sparc64/asmpart.S: Some fixes for exception handling.
	* src/vm/jit/sparc64/codegen.c: Likewise.

2006-12-27 15:22  twisti

	* contrib/setenvinstalled.in: Renamed CLASSPATH_GLIBJ_ZIP to
	CLASSPATH_CLASSES.
	* contrib/setenvsource.in: Likewise.

2006-12-27 15:15  twisti

	* src/vm/class.c: Java ME changes.
	* src/vm/class.h: Likewise.
	* src/vm/exceptions.c: Likewise.
	(exceptions_new_virtualmachineerror): New function.
	(exceptions_throw_virtualmachineerror):
	* src/vm/exceptions.h: Likewise.
	* src/vm/resolve.c: Likewise.
	* src/vm/utf8.c: Likewise.
	* src/vm/utf8.h: Likewise.
	* src/cacaoh/headers.c: Likewise.

2006-12-27 13:56  twisti

	* configure.ac (--with-classpath-glibj-zip): Renamed to
	--with-classpath-classes.
	
	* m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Renamed CLASSPATH_GLIBJ_ZIP to
	CLASSPATH_CLASSES.
	
	* src/Makefile.am (VM_DIR): Added.
	(SUBDIRS): Use VM_DIR.
	
	* src/native/include/Makefile.am [WITH_CLASSPATH_GNU] (CLASSPATH): Set
	differently for non-gnu classpaths.
	
	* src/cacaoh/cacaoh.c (main) [WITH_CLASSPATH_GNU]: Likewise.
	* src/vm/vm.c (vm_create): Likewise.

2006-12-27 00:08  twisti

	* src/fdlibm/fdlibm.h [!MAXFLOAT] (MAXFLOAT): Only define if not
	already defined.
	* src/fdlibm/k_tan.c: Commented pragma.

2006-12-26 23:42  twisti

	* src/vm/resolve.h (vm/class.h): Added.
	(vm/method.h): Likewise.

2006-12-26 23:41  twisti

	* src/vm/exceptions.c (native/jni.h): Added.
	(exceptions_init): Java ME changes.
	(exceptions_print_exception): Likewise.
	* src/vm/exceptions.h (native/jni.h): Added.

2006-12-26 23:39  twisti

	* src/vm/properties.c [ENABLE_JAVASE]
	(native/include/java_util_Properties.h): Include conditionally.
	* src/vm/properties.h: Likewise.

2006-12-26 23:34  twisti

	* src/native/include/Makefile.am (CLEANFILES): Added
	JAVASE_HEADER_FILES and JAVAME_CLDC1_1_HEADER_FILES.
	(cleanall): New target to clean all header files.

2006-12-26 23:26  twisti

	* src/native/include/Makefile.am: Java ME changes.
	* src/native/include/.cvsignore: Likewise.

2006-12-26 23:21  twisti

	* src/native/Makefile.am [ENABLE_JAVASE] (JNI_SOURCES): Added.
	(libnative_la_SOURCES): Added JNI_SOURCES.

2006-12-26 23:16  twisti

	* configure.ac (--with-classpath): Added cldc1.1 target.
	(AC_CONFIG_FILES): Added src/native/vm/cldc1.1/Makefile.

2006-12-26 23:14  twisti

	* src/native/vm/java_lang_Thread.h,
	src/native/vm/java_lang_Class.c,
	src/native/vm/java_lang_Object.c,
	src/native/vm/java_lang_Thread.c,
	src/native/vm/java_lang_Class.h,
	src/native/vm/java_lang_Object.h: Java ME changes.

2006-12-26 23:13  twisti

	* src/native/vm/Makefile.am (DIST_SUBDIRS): Added cldc1.1.
	(NATIVEVM_LIB): Renamed to libnativevmcore.
	* src/native/vm/gnu/Makefile.am (noinst_LTLIBRARIES): Likewise.
	(libnativevmgnu_la_SOURCES): Renamed to libnativevmcore_la_SOURCES.

2006-12-26 23:09  twisti

	* src/native/vm/cldc1.1/.cvsignore: Added.
	* src/native/vm/cldc1.1/com_sun_cldchi_io_ConsoleOutputStream.c,
	src/native/vm/cldc1.1/java_lang_Runtime.c,
	src/native/vm/cldc1.1/java_lang_System.c,
	src/native/vm/cldc1.1/java_lang_Class.c,
	src/native/vm/cldc1.1/java_lang_Float.c,
	src/native/vm/cldc1.1/java_lang_Object.c,
	src/native/vm/cldc1.1/java_lang_String.c,
	src/native/vm/cldc1.1/Makefile.am,
	src/native/vm/cldc1.1/java_lang_Thread.c,
	src/native/vm/cldc1.1/java_lang_Throwable.c,
	src/native/vm/cldc1.1/java_lang_Math.c,
	src/native/vm/cldc1.1/java_lang_Double.c: New file.

2006-12-26 23:05  twisti

	* src/fdlibm/Makefile.am [ENABLE_JAVAME_CLDC1_1]
	(libfdlibm_la_SOURCES): Added the following files.
	
	* src/fdlibm/k_cos.c,
	src/fdlibm/s_ceil.c,
	src/fdlibm/k_sin.c,
	src/fdlibm/s_floor.c,
	src/fdlibm/s_tan.c,
	src/fdlibm/s_cos.c,
	src/fdlibm/s_sin.c,
	src/fdlibm/w_sqrt.c,
	src/fdlibm/e_rem_pio2.c,
	src/fdlibm/k_rem_pio2.c,
	src/fdlibm/k_tan.c,
	src/fdlibm/e_sqrt.c: New file.

2006-12-26 22:33  twisti

	* src/fdlibm/s_finite.c,
	src/fdlibm/fdlibm.h,
	src/fdlibm/ieeefp.h,
	src/fdlibm/e_fmod.c,
	src/fdlibm/mprec.h,
	src/fdlibm/w_fmod.c,
	src/fdlibm/s_copysign.c: Updated from GNU Classpath.

2006-12-26 19:56  twisti

	* src/threads/native/threads.c: Rewritten such that threadobject
	extends a java.lang.Thread object instead of java.lang.VMThread.
	* src/threads/native/threads.h: Likewise.
	
	* src/vm/finalizer.c (finalizer_vmthread): Renamed to thread_finalizer
	and changed type to threadobject*.
	(lock_finalizer_thread): Renamed to lock_thread_finalizer.
	(finalizer_init): Changed variable names.
	(finalizer_start_thread): Thread-code changes.
	
	* src/vm/jit/optimizing/recompile.c (recompile_vmthread): Renamed to
	thread_recompile and changed type to threadobject*.
	(lock_recompile_thread): Renamed to lock_thread_recompile.
	(recompile_init): Changed variable names.
	(recompile_thread): Likewise.
	(recompile_queue_method): Likewise.
	(recompile_start_thread): Thread-code changes.
	
	* src/vm/utf8.c (utf_addThread): Added.
	* src/vm/utf8.h: Likewise.
	
	* src/lib/vm/reference/java/lang/VMThread.java (create): Set vmThread
	before calling start.
	
	* src/native/vm/gnu/java_lang_VMThread.c: Call _Jv_java_lang_Thread
	functions.
	
	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	java_lang_Thread.[ch].
	* src/native/vm/java_lang_Thread.c: New file.
	* src/native/vm/java_lang_Thread.h: Likewise.

2006-12-26 19:41  twisti

	* src/vm/annotation.c
	(annotation_load_attribute_runtimevisibleannotations): Renamed aev to
	element_value.

2006-12-26 19:40  twisti

	* src/native/include/java_lang_Thread.h: Updated to current GNU
	Classpath head.
	* src/native/include/java_lang_VMThread.h: Likewise.

2006-12-26 19:30  twisti

	* src/threads/native/lock.c (lock_wait_for_object): Renamed t to
	thread.
	(lock_notify_object): Likewise.
	(lock_notify_all_object): Likewise.

2006-12-23 23:52  twisti

	* configure.ac (--with-classpath): Added.

2006-12-21 15:59  twisti

	* src/native/vm/java_lang_Object.c (wait): Removed debugging output.

2006-12-21 15:56  twisti

	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	java_lang_Class.h and java_lang_Object.[ch].
	
	* src/native/vm/java_lang_Object.c: New file.
	* src/native/vm/java_lang_Object.h: Likewise.
	
	* src/native/vm/gnu/java_lang_VMObject.c: Call _Jv_java_lang_Object
	functions.

2006-12-19 19:20  twisti

	* src/mm/memory.c (memory_mmap_anon): New function.
	(memory_cnew): Use memory_mmap_anon.
	* src/mm/memory.h (memory_mmap_anon): Added.
	* src/vm/signal.c (signal_init): Use memory_mmap_anon.

2006-12-19 19:12  twisti

	* src/native/vm/java_lang_Class.h
	(_Jv_java_lang_Class_getEnclosingConstructor): Removed #if 0.

2006-12-18 18:21  twisti

	* src/vm/class.c (vm/suck.h): Added.
	(class_load_attribute_sourcefile): New function.
	(class_load_attribute_enclosingmethod): Likewise.
	(class_load_attributes): Likewise.
	
	* src/vm/loader.c [ENABLE_JAVASE] (vm/annotation.h, vm/stackmap.h):
	Added.
	(skipattributebody): Renamed to loader_skip_attribute_body, made
	non-static.
	(skipattributes): Removed.
	(loader_load_attribute_signature): New function.
	(load_field): Use loader_load_attribute_signature.
	(load_method): Renamed to loader_load_method, call
	stackmap_load_attribute_stackmaptable and
	loader_load_attribute_signature.
	(load_attributes): Removed.
	(load_class_from_classbuffer): Renamed load_method to
	loader_load_method and load_attributes to class_load_attributes.
	* src/vm/loader.h (loader_skip_attribute_body): Added.
	[ENABLE_JAVASE] (loader_load_attribute_signature): Likewise.
	
	* src/vm/method.h [ENABLE_JAVASE] (vm/stackmap.h): Added.
	(methodinfo) [ENABLE_JAVASE]: Added signature and stack_map.
	
	* src/vm/statistics.c (size_stack_map): Added.
	(print_stats): Print stack_map size.
	* src/vm/statistics.h (size_stack_map): Likewise.
	
	* src/vm/global.h (JAVA_VERSION): Changed to "1.5.0".
	(CLASS_VERSION): Changed to "50.0".
	(MAJOR_VERSION): Changed to 50.
	
	* src/vm/utf8.c [ENABLE_JAVASE] (utf_EnclosingMethod)
	(utf_RuntimeVisibleAnnotations, utf_StackMapTable): Added.
	(utf8_init) [ENABLE_JAVASE]: Init utf_EnclosingMethod,
	utf_RuntimeVisibleAnnotations and utf_StackMapTable.
	* src/vm/utf8.h [ENABLE_JAVASE] (utf_EnclosingMethod)
	(utf_RuntimeVisibleAnnotations, utf_StackMapTable): Added.
	
	* src/vm/properties.c (properties_init): Changed
	java.specification.version to 1.5.
	
	* src/vm/Makefile.am [ENABLE_JAVASE] (ANNOTATION_OBJ): Renamed to
	ANNOTATION_SOURCES.
	[ENABLE_JAVASE] (STACKMAP_SOURCES): Added.
	[ENABLE_STATISTICS] (STATISTICS_OBJ): Renamed to STATISTICS_SOURCES.
	(libvmcore_la_SOURCES): Added STACKMAP_SOURCES.
	* src/vm/stackmap.c: New file.
	* src/vm/stackmap.h: Likewise.

2006-12-18 18:04  twisti

	* src/native/vm/gnu/.cvsignore: New file.

2006-12-18 17:36  twisti

	* src/vm/class.h (vm/loader.h): Added.
	(classinfo): Added enclosingclass and enclosingmethod.
	
	* configure.ac (AC_CONFIG_FILES): Added src/native/vm/gnu/Makefile.
	
	* src/native/native.c (native_class_getname): Removed.
	* src/native/native.h: Likewise.
	
	* src/native/vm/Makefile.am
	
	* src/native/vm/java_lang_Class.c: New file, contains the
	implementation for java.lang.Class functions.
	* src/native/vm/java_lang_Class.h: Likewise.
	
	* src/native/vm/java_security_VMAccessController.c,
	src/native/vm/VMjdwp.c,
	src/native/vm/java_lang_VMClass.c,
	src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c,
	src/native/vm/java_lang_VMThread.c,
	src/native/vm/VMjdwp.h,
	src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c,
	src/native/vm/gnu_classpath_jdwp_VMMethod.c,
	src/native/vm/java_lang_VMRuntime.c,
	src/native/vm/java_lang_reflect_Field.c,
	src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
	src/native/vm/java_lang_VMThrowable.c,
	src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c,
	src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
	src/native/vm/java_lang_VMClassLoader.c,
	src/native/vm/java_lang_management_VMManagementFactory.c,
	src/native/vm/java_lang_VMString.c,
	src/native/vm/java_lang_VMObject.c,
	src/native/vm/gnu_classpath_VMSystemProperties.c,
	src/native/vm/sun_misc_Unsafe.c,
	src/native/vm/java_lang_reflect_Method.c,
	src/native/vm/gnu_classpath_VMStackWalker.c,
	src/native/vm/java_lang_VMSystem.c,
	src/native/vm/java_lang_reflect_VMProxy.c,
	src/native/vm/java_lang_reflect_Constructor.c,
	src/native/vm/gnu_classpath_jdwp_VMFrame.c: Moved to
	src/native/vm/gnu.
	
	* src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c,
	src/native/vm/gnu/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
	src/native/vm/gnu/java_security_VMAccessController.c,
	src/native/vm/gnu/java_lang_VMClassLoader.c,
	src/native/vm/gnu/java_lang_management_VMManagementFactory.c,
	src/native/vm/gnu/VMjdwp.c,
	src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c,
	src/native/vm/gnu/java_lang_VMClass.c,
	src/native/vm/gnu/java_lang_VMString.c,
	src/native/vm/gnu/java_lang_VMObject.c,
	src/native/vm/gnu/VMjdwp.h,
	src/native/vm/gnu/java_lang_VMThread.c,
	src/native/vm/gnu/gnu_classpath_jdwp_VMVirtualMachine.c,
	src/native/vm/gnu/gnu_classpath_VMSystemProperties.c,
	src/native/vm/gnu/sun_misc_Unsafe.c,
	src/native/vm/gnu/gnu_classpath_jdwp_VMMethod.c,
	src/native/vm/gnu/java_lang_reflect_Method.c,
	src/native/vm/gnu/java_lang_VMRuntime.c,
	src/native/vm/gnu/Makefile.am,
	src/native/vm/gnu/java_lang_reflect_Field.c,
	src/native/vm/gnu/gnu_classpath_VMStackWalker.c,
	src/native/vm/gnu/java_lang_VMSystem.c,
	src/native/vm/gnu/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
	src/native/vm/gnu/java_lang_reflect_VMProxy.c,
	src/native/vm/gnu/java_lang_reflect_Constructor.c,
	src/native/vm/gnu/gnu_classpath_jdwp_VMFrame.c,
	src/native/vm/gnu/java_lang_VMThrowable.c: Moved from src/native/vm.

2006-12-18 16:27  twisti

	* src/vm/exceptions.c (exceptions_throw_internalerror): New function.
	* src/vm/exceptions.h (exceptions_throw_internalerror): Added.

2006-12-16 22:53  edwin

	* src/vm/jit/jit.c (jit_compile_intern): Perform inlining if
	JITDATA_FLAG_INLINE is set.
	
	* src/vm/jit/inline/inline.c: Put the result of inlining into
	the passed jitdata, instead of using a new one. Do not translate
	returnAddresses in javalocals. It makes no sense.
	
	* src/vm/jit/i386/codegen.h (M_BS): New macro.
	
	* src/vm/jit/replace.h (RPLPOINT_FLAG_COUNTDOWN): New constant.
	(Preparation for count-down replacement).
	
	* src/vm/jit/jit.h (JITDATA_FLAG_COUNTDOWN): New flag.
	(JITDATA_HAS_FLAG_COUNTDOWN): New macro.

2006-12-16 21:16  edwin

	* src/vm/jit/replace.c (replace_patch_class): New function.
	(replace_patch_class_hierarchy): New function.
	(replace_patch_future_calls): Fall back to iterating over all loaded
	classes if the instance of a call is not known.

2006-12-16 21:14  edwin

	* src/vm/classcache.c (classcache_foreach_loaded_class): New function.
	
	* src/vm/classcache.h (classcache_foreach_loaded_class): Likewise.
	(classcache_foreach_functionptr_t): New typedef.

2006-12-16 21:12  edwin

	* src/vm/jit/replace.c (replace_read_executionstate): Fix: Initialize
	the javalocaltype array for NDEBUG.

2006-12-16 21:11  edwin

	* src/vm/jit/inline/inline.c: Relocate returnAddresses in javalocals
	and in the s2 operand of ASTORE. Fix handling of in/out variables
	of TYPE_RET.
	
	* src/vm/jit/allocator/simplereg.c (simplereg_new_temp): Assert that
	constants (currently only TYPE_RET) are not allocated.
	(simplereg_new_free): Assert that constants (currently only TYPE_RET)
	are not freed.

2006-12-16 20:59  edwin

	* src/vm/jit/stack.c (stack_reanalyse_block): Zero line and flags of
	the appended NOP.

2006-12-16 20:57  edwin

	* src/vm/jit/replace.c: Prepared for native frames.
	
	* src/vm/jit/replace.h: Likewise.
	(REPLACEMENT_POINTS_RESET): Added.

2006-12-16 20:51  edwin

	* src/vm/jit/intrp/intrp.h: #include codegen-common.h

2006-12-16 20:50  edwin

	* src/vm/jit/inline/inline.c (create_body_block): Copy bitflags.
	(test_inlining): Copy code->optlevel. This is a quick fix for a more
	general problem: inline_inline should not swap the jitdata, but
	instead
	modify it in-place.
	(inline_inline_intern): Activated speculative inlining code.

2006-12-16 13:04  twisti

	* src/vm/annotation.c
	(annotation_load_attribute_runtimevisibleannotations): Extended
	comment, removed #ifdef ENABLE_JAVASE.

2006-12-15 23:54  twisti

	* autogen.sh: Check for automake-1.1x.

2006-12-15 23:53  twisti

	* autogen.sh: Check for automake-1.1x.

2006-12-13 23:04  twisti

	* src/vm/signal.c (errno.h): Added.
	(unistd.h): Likewise.
	(sys/mman.h): Likewise.
	[__DARWIN__] (sys/types.h): Likewise.
	(signal_init): mmap a page at 0x0.

2006-12-12 21:12  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h (replace_build_execution_state):
	Defined.
	(replace_free_safestack): Likewise.
	
	* src/vm/jit/powerpc/asmpart.S (L_replace_build_execution_state$stub):
	Added.
	(L_replace_free_safestack$stub): Likewise.

2006-12-11 23:29  twisti

	* src/vm/jit/mips/mips/emit.c (emit_arithmetic_check): Added iptr and
	check INSTRUCTION_MUST_CHECK.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_arraystore_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	(emit_exception_check): Likewise.
	(emit_patcher_stubs): Likewise.
	
	* src/vm/jit/mips/mips/md.c (vm/exceptions.h): Added.
	
	* src/vm/jit/mips/mips/codegen.c (codegen): Pass iptr to
	exception-emit functions.
	
	* src/vm/jit/mips/mips/irix/md-os.c (vm/jit/codegen-common.h): Added.
	(md_signal_handler_sigsegv): Call codegen_get_pv_from_pc in
	error-case.

2006-12-11 20:31  twisti

	* tests/regression/fp.output: Updated to classpath-0.93.
	* tests/regression/fptest.output: Likewise.

2006-12-11 20:16  twisti

	* src/vm/jit/parse.c (MULTIANEWARRAY): Set check-flag.

2006-12-11 19:55  twisti

	* src/vm/jit/parse.c (CHECKCAST): Set check-flag.
	[!SUPPORT_HARDWARE_DIVIDE_BY_ZERO] (IDIV, IREM, LDIV, LREM): Set
	check-flag.

2006-12-11 19:43  twisti

	* src/vm/signal.c (signal_init): Use SUPPORT_HARDWARE_DIVIDE_BY_ZERO.
	* src/vm/signallocal.h: Likewise.
	
	* src/vm/jit/alpha/arch.h (SUPPORT_HARDWARE_DIVIDE_BY_ZERO): Defined.
	* src/vm/jit/i386/arch.h: Likewise.
	* src/vm/jit/mips/arch.h: Likewise.
	* src/vm/jit/powerpc/arch.h: Likewise.
	* src/vm/jit/powerpc64/arch.h: Likewise.
	* src/vm/jit/sparc64/arch.h: Likewise.
	* src/vm/jit/x86_64/arch.h: Likewise.

2006-12-11 04:25  ajordan

	* src/vm/jit/sparc64/asmpart.S: Fixed some exception handling.
	
	* src/vm/jit/sparc64/patcher.c: Fixed order of patch words.
	
	* src/vm/jit/sparc64/md.c: Disp mask in branch patch was wrong.
	
	* src/vm/jit/sparc64/codegen.c: Put in ICMD_CHECKNULL.

2006-12-11 00:28  twisti

	* src/native/vm/java_lang_reflect_Constructor.c (getSignature):
	Implemented.

2006-12-10 23:20  twisti

	* src/native/jni.h (_Jv_JavaVM): Renamed total_started_thread_count to
	java_lang_management_ThreadMXBean_ThreadCount, added
	java_lang_management_ThreadMXBean_PeakThreadCount,
	java_lang_management_ThreadMXBean_TotalStartedThreadCount.
	
	* src/vm/vm.c (vm_run): Set ThreadMXBean variables.
	* src/threads/native/threads.c (threads_startup_thread): Likewise.
	
	* src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c
	(getPeakThreadCount): Implemented.
	(getTotalStartedThreadCount): Use renamed variable.
	(resetPeakThreadCount): Implemented.

2006-12-10 22:17  twisti

	* src/vm/jit/powerpc/emit.c (emit_arrayindexoutofbounds_check): Added
	iptr and check INSTRUCTION_MUST_CHECK.
	(emit_nullpointer_check): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Pass iptr to exception-emit
	functions.

2006-12-10 22:07  twisti

	* src/vm/jit/alpha/emit.c (emit_arithmetic_check): Added iptr and
	check INSTRUCTION_MUST_CHECK.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	
	* src/vm/jit/alpha/codegen.c (codegen): Pass iptr to exception-emit
	functions.

2006-12-10 21:50  twisti

	* src/vm/jit/x86_64/emit.c (emit_arithmetic_check): Added iptr and
	check INSTRUCTION_MUST_CHECK.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Pass iptr to exception-emit
	functions.

2006-12-10 21:35  twisti

	* src/vm/jit/emit-common.c (emit_array_checks): Pass iptr to emit
	functions.
	
	* src/vm/jit/emit-common.h (emit_arithmetic_check): Added iptr.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_arraystore_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	(emit_exception_check): Likewise.
	
	* src/vm/jit/i386/emit.c (emit_arithmetic_check): Added iptr and check
	INSTRUCTION_MUST_CHECK.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Pass iptr to exception-emit
	functions.

2006-12-10 21:27  twisti

	* src/vm/jit/parse.c (ICMD_CHECKNULL): Use OP_CHECK_EXCEPTION.
	* src/vm/jit/parse.h (OP_CHECK_EXCEPTION): New macro.

2006-12-10 17:19  ajordan

	* src/vm/jit/sparc64/codegen.h: Fixed float register mapping and
	compare macros.
	* src/vm/jit/sparc64/emit.c: Likewise.
	
	* src/vm/jit/sparc64/md.c: Fixed branch backpatching, was off by one.
	* src/vm/jit/sparc64/codegen.c: replaced codegen_addreference() with
	codegen_add_branch_ref().
	
	* src/vm/jit/sparc64/patcher.c: Tested and activated invokevirtual
	patcher.

2006-12-09 23:20  ajordan

	* src/vm/jit/sparc64/codegen.h: Reworked float handling, single
	precision floats are now stored in the upper half of the double pair.
	
	* src/vm/jit/sparc64/codegen.c: Fixes for argument handling and
	get/put-static.
	* src/vm/jit/sparc64/emit.c: Likewise.
	* src/vm/jit/sparc64/md-abi.c: Likewise.
	
	* src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed float
	arg saving.

2006-12-09 00:25  twisti

	* src/vm/jit/powerpc/emit.c (emit_arrayindexoutofbounds_check):
	Removed hardware-exception code.

2006-12-08 00:39  edwin

	* src/vm/jit/jit.h (JITDATA_FLAG_INLINE): Added.

2006-12-08 00:20  edwin

	* src/vm/jit/powerpc/codegen.c: Ported replacement.

2006-12-08 00:17  edwin

	* src/vm/jit/i386/asmpart.S: Adapted to new execution state layout.

2006-12-08 00:16  edwin

	* src/vm/jit/replace.h: Use a type union replace_val_t for all source
	state values. Give the registers in the execution state meaningful
	types. Properly convert float/double values.
	* src/vm/jit/replace.c: Likewise.
	
	* src/vm/jit/powerpc/asmpart.S: Adapted to new execution state layout.
	* src/vm/jit/i386/asmpart.S: Likewise.

2006-12-08 00:07  edwin

	* src/vm/jit/replace.c: Small cleanups.

2006-12-08 00:06  edwin

	* src/vm/jit/replace.c: Implemented support for linkage area.

2006-12-08 00:04  edwin

	* src/vm/jit/replace.c: Implement alpha-style stack frames (ra is at
	top of frame, in leaf methods the ra register is used).

2006-12-07 23:59  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Fix: Put the
	REPLACEMENT_POINT_INVOKE_RETURN macro in the right place.

2006-12-07 23:58  edwin

	* src/vm/jit/alpha/codegen.c: Ported replacement.

2006-12-07 23:57  edwin

	* src/vm/jit/x86_64/codegen.c: Ported replacement.

2006-12-07 23:54  edwin

	* src/vm/jit/replace.h: Added macros for codegens.
	
	* src/vm/jit/replace.c: Architecture-independent patching of future
	calls. Use a safe stack area for the final phase of replacement.
	
	* src/vm/jit/asmpart.h (asm_replacement_in): Got an additional
	argument for the safe stack area.
	
	* src/vm/jit/powerpc/asmpart.S: Ported.
	* src/vm/jit/alpha/asmpart.S: Likewise.
	* src/vm/jit/i386/asmpart.S: Likewise.
	* src/vm/jit/x86_64/asmpart.S: Likewise.

2006-12-07 23:44  edwin

	* src/vm/jit/replace.h (replace_safestack_t): Prepared declarations
	for the safe stack area (not used, yet).
	(sourceframe_t): Added from/to members.
	
	* src/vm/jit/replace.c: Major refactoring.

2006-12-07 23:32  edwin

	* src/vm/jit/replace.h (rplpoint): Removed members outcode, code,
	mcode. Fixed bitwidth of regalloccount.
	(replace_activate_replacement_points): Activate rplpoints per
	codeinfo.
	(replace_deactivate_replacement_points): Deactivate --''--.
	* src/vm/jit/replace.c: Likewise.
	* src/vm/jit/jit.c: Likewise.

2006-12-07 23:17  edwin

	* src/vm/jit/replace.h (rplpoint): Removed `target` member.
	* src/vm/jit/replace.c: Likewise.
	* src/vm/jit/jit.c: Likewise.

2006-12-07 23:13  edwin

	* src/vm/jit/codegen-common.c (codegen_finish): Relocate
	code->replacementstubs, do not use rplpoint.outcode.

2006-12-07 23:02  edwin

	* src/vm/jit/powerpc/md.c (md_patch_replacement_point): Changed to use
	an external array for saving machine code.
	* src/vm/jit/sparc64/md.c: Likewise.
	* src/vm/jit/alpha/md.c: Likewise.
	* src/vm/jit/mips/md.c: Likewise.
	* src/vm/jit/powerpc64/md.c: Likewise.
	* src/vm/jit/i386/md.c: Likewise.
	* src/vm/jit/x86_64/md.c: Likewise.
	
	* src/vm/jit/replace.h (md_patch_replacement_point): Added arguments.
	* src/vm/jit/replace.c: Likewise.

2006-12-07 22:48  edwin

	* src/vm/jit/powerpc/md.c (md_patch_replacement_point): Deactivate
	debug print.
	* src/vm/jit/alpha/md.c: Likewise.

2006-12-07 22:45  edwin

	* src/vm/jit/powerpc/md.c (md_get_method_patch_address): Return NULL
	if no mptr was specified and the call is dynamically dispatched.
	* src/vm/jit/sparc64/md.c: Likewise.
	* src/vm/jit/alpha/md.c: Likewise.
	* src/vm/jit/mips/md.c: Likewise.
	* src/vm/jit/i386/md.c: Likewise.
	* src/vm/jit/powerpc64/md.c: Likewise.
	* src/vm/jit/x86_64/md.c: Likewise.

2006-12-07 22:30  edwin

	* src/vm/jit/mips/emit.c: #include <assert.h>

2006-12-07 22:29  edwin

	* src/vm/jit/alpha/emit.c: #include <assert.h>
	* src/vm/jit/x86_64/emit.c (emit_replacement_stubs): Ported.

2006-12-07 22:25  edwin

	* src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Prepared for
	removal of rplpoint.mcode.
	* src/vm/jit/alpha/emit.c: Likewise.
	* src/vm/jit/mips/emit.c: Likewise.
	* src/vm/jit/i386/emit.c: Likewise.
	* src/vm/jit/x86_64/emit.c: Likewise.

2006-12-07 22:19  edwin

	* src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Do not
	set rplp->outcode.
	* src/vm/jit/alpha/emit.c: Likewise.
	* src/vm/jit/mips/emit.c: Likewise.
	* src/vm/jit/i386/emit.c: Likewise.
	* src/vm/jit/x86_64/emit.c: Likewise.

2006-12-07 20:39  edwin

	* src/vm/jit/code.c (code_find_codeinfo_for_pc): New function.
	* src/vm/jit/code.h (codeinfo): Added codeinfo flags,
	replacementstubs,
	and savedmcode.
	
	* src/vm/jit/jit.c (jit_invalidate_code): Use codeinfo flags.
	(jit_get_current_code): Likewise.

2006-12-07 20:14  edwin

	* src/vm/jit/powerpc/arch.h (REPLACEMENT_PATCH_SIZE): Added.
	(REPLACEMENT_STUB_SIZE): Added.
	* src/vm/jit/sparc64/arch.h: Likewise.
	* src/vm/jit/alpha/arch.h: Likewise.
	* src/vm/jit/mips/arch.h: Likewise.
	* src/vm/jit/parisc/arch.h: Likewise.
	* src/vm/jit/powerpc64/arch.h: Likewise.
	* src/vm/jit/i386/arch.h: Likewise.
	* src/vm/jit/x86_64/arch.h: Likewise.

2006-12-07 19:57  ajordan

	* scr/vm/jit/sparc64/emit.c: Fixed M_XOR and iconst, lconst.
	* src/vm/jit/sparc64/codegen.h: Likewise
	
	* src/vm/jit/sparc64/codegen.c: Allocating (ABI defined) param array
	on stack before builtin call.

2006-12-07 10:59  twisti

	* src/vm/jit/x86_64/emit.c (vm/options.h): Added.
	(emit_arithmetic_check): New function.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Use emit_*_check functions
	for exception checks.
	(IDIV, IREM, LDIV, LREM): Use emit_{load,store} functions.
	
	* src/vm/jit/x86_64/codegen.h (gen_nullptr_check): Removed.
	(gen_bound_check): Likewise.
	(gen_resolvebranch): Likewise.

2006-12-06 22:15  twisti

	* src/native/vm/java_lang_VMClass.c (forName): Throw NPE if null is
	passed.

2006-12-06 10:49  twisti

	* src/vm/jit/i386/emit.c (vm/options.h): Added.
	(emit_arithmetic_check): New function.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Use emit_*_check functions for
	exception checks.
	
	* src/vm/jit/i386/codegen.h (gen_nullptr_check): Removed.
	(gen_bound_check): Likewise.

2006-12-06 10:37  twisti

	* src/vm/jit/emit-common.c [__ALPHA__ || __POWERPC__]
	(emit_array_checks): Removed #ifdef's.

2006-12-06 09:53  twisti

	* src/vm/jit/i386/emit.c (emit_verbosecall_enter): Check for
	JITDATA_HAS_FLAG_VERBOSECALL.
	(emit_verbosecall_exit): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Removed
	JITDATA_HAS_FLAG_VERBOSECALL check.
	(createnativestub): Likewise.

2006-12-06 09:47  twisti

	* src/vm/builtin.c [ENABLE_JIT] (builtintable_replace_function):
	#ifdef'ed.

2006-12-05 23:58  ajordan

	* src/vm/jit/sparc64/emit.c: stack bias used in emit_load and
	emit_store.
	
	* src/vm/jit/sparc64/md.c (md_stacktrace_get_returnaddress): let it
	return the original ra (address of the call instruction).
	
	* src/vm/jit/sparc64/codegen.h: fixed M_RESTORE instruction.
	
	* src/vm/jit/sparc64/codegen.c: fixed datasp argument for
	codegen_finish_native_call.

2006-12-05 21:10  twisti

	* src/vm/exceptions.h (EXCEPTION_LOAD_DISP_NULLPOINTER)
	(EXCEPTION_LOAD_DISP_ARITHMETIC)
	(EXCEPTION_LOAD_DISP_ARRAYINDEXOUTOFBOUNDS)
	(EXCEPTION_LOAD_DISP_CLASSCAST, EXCEPTION_LOAD_DISP_PATCHER): Defined.
	
	* src/vm/signal.c (signal_init): Removed checknull-check.
	
	* src/vm/jit/powerpc/emit.c (vm/exceptions.h): Added.
	(emit_arrayindexoutofbounds_check): Added hardware-exception version.
	
	* src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigsegv):
	Started to handle other hardware-exceptions.

2006-12-04 23:48  twisti

	* src/vm/jit/x86_64/codegen.c (createcompilerstub): Don't generate a
	codeinfo.

2006-12-04 23:39  twisti

	* src/vm/jit/powerpc64/codegen.c (createcompilerstub): Don't generate
	a codeinfo.

2006-12-04 23:36  twisti

	* src/vm/jit/powerpc64/linux/md-os.c (vm/jit/profile/profile.h):
	Changed to vm/jit/optimizing/profile.h.

2006-12-04 23:30  twisti

	* src/vm/jit/alpha/codegen.c (createcompilerstub): Don't generate a
	codeinfo.

2006-12-04 23:16  twisti

	* src/vm/jit/i386/codegen.c (createcompilerstub): Don't generate a
	codeinfo.

2006-12-04 22:51  twisti

	* src/vm/jit/powerpc/codegen.c (createcompilerstub): Don't generate a
	codeinfo.

2006-12-04 22:21  twisti

	* src/vm/jit/code.c (code_init): New function.
	* src/vm/jit/code.h (code_init): Added.
	* src/vm/jit/jit.c (jit_init): Added code_init call.

2006-12-04 22:18  twisti

	* src/vm/jit/code.h (vm/global.h): Added.

2006-12-04 14:46  ajordan

	* src/vm/jit/sparc64/codegen.h: updated code to new dseg functions.
	* src/vm/jit/sparc64/codegen.c: Likewise.
	* src/vm/jit/sparc64/emit.c: Likewise.

2006-12-04 11:20  twisti

	* src/vm/vm.c (vm_create): Moved properties_postinit after jar-file
	handling. This fixes an eclipse bug found by mjw and neugens.

2006-12-04 02:05  michi

	* src/mm/cacao-gc/compact.c: Now uses regioninfo; Added
	compact_thread_classes
	Fixed compact_move; Disabled some logging.
	* src/mm/cacao-gc/compact.h: Now uses regioninfo.

2006-12-03 22:45  twisti

	* src/vm/vm.c (version): Print classpath variable.

2006-12-03 17:55  michi

	* src/mm/cacao-gc/compact.c: Added.
	* src/mm/cacao-gc/compact.h: Added.

2006-12-02 15:01  tbfg

	* configure.ac: Added m68k host_cpu support. Added uclinux host_os
	support.

2006-12-02 14:54  tbfg

	* src/native/tools/gennativetable.c (main): Renamed nogc_init
	to gc_init in DISABLE_GC path.
	
	* src/native/Makefile.am: Introduced GENNATIVETABLE to
	make crosscompilation a friendlier experience. Rewrote
	rule for nativetable.inc accordingly.
	
	* src/threads/native/threads.c (threads_cast_stopworld) [!DISABLE_GC]:
	Depends on GC_signum1 and GC_signum2 which are undefined without
	garbage collector.
	(threads_cast_startworld): Likewise.
	(threads_sigsuspend_handler): Likewise.

2006-12-02 12:22  twisti

	* src/vm/builtin.c (builtin_trace_args): Added missing + for
	logtextlen, thanks to --enable-memcheck.

2006-12-01 16:51  twisti

	* src/vm/jit/x86_64/codegen.h (vm/jit/x86_64/emit.h): Added.

2006-12-01 11:38  tbfg

	* src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method):
	Fixed a bug in argument handling when using lwz instead
	of lwa zeroed out sign extension bits which lead to wrong
	int->string conversion in exception handling path.

2006-11-29 22:33  edwin

	* tests/regression/jasmin/test_verify_fail_merge_init_nullpointer.j:
	New test.
	
	* tests/regression/jasmin/test_verify_fail_init_nullpointer.j: Pass
	null pointer without merging.
	
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-11-29 20:44  twisti

	* src/vm/jit/dseg.h (jumpref, dataref, exceptionref, patchref)
	(linenumberref): Moved to codegen-common.h.
	* src/vm/jit/codegen-common.h: Likewise.

2006-11-29 20:34  twisti

	* src/vm/jit/emit-common.c (emit_bc): Commented emit_branch call.

2006-11-29 20:15  twisti

	* src/vm/jit/x86_64/emit.h (config.h): Added.
	(vm/jit/codegen-common.h): Likewise.
	(vm/jit/jit.h): Likewise.

2006-11-29 17:08  twisti

	* src/vm/class.h [ENABLE_JAVASE] (vm/annotation.h): Added.
	[ENABLE_JAVASE] (classinfo): Added runtimevisibleannotationscount,
	runtimevisibleannotations.

2006-11-29 17:04  twisti

	* src/vm/annotation.c: New file.
	* src/vm/annotation.h: Likewise.
	* src/vm/Makefile.am [ENABLE_JAVASE] (ANNOTATION_OBJ): Added.

2006-11-29 17:00  twisti

	* src/vm/resolve.h (vm/field.h): Added.

2006-11-28 22:36  twisti

	* src/vm/jit/emit-common.c (emit_bc): Temporary compile fix

2006-11-28 22:32  twisti

	* src/vm/jit/i386/codegen.h (vm/jit/i386/emit.h): Added.

2006-11-28 22:28  twisti

	* src/vm/statistics.c (count_branches_resolved)
	(count_branches_unresolved): New variable.
	(print_stats): Print new variables.
	
	* src/vm/statistics.h (count_branches_resolved)
	(count_branches_unresolved): Added.

2006-11-28 22:25  twisti

	* src/vm/jit/emit-common.c (codegen.h): Added.
	(vm/options.h): Likewise.
	[ENABLE_STATISTICS] (vm/statistics.h): Likewise.
	(emit_bc): New function.
	(emit_br): Likewise.
	
	* src/vm/jit/emit-common.h (emit_branch): Added.

2006-11-28 22:19  twisti

	* src/vm/jit/alpha/codegen.h (BRANCH_NOPS): Defined.
	* src/vm/jit/i386/codegen.h (BRANCH_NOPS, PATCHER_NOPS): Likewise.
	* src/vm/jit/mips/codegen.h (BRANCH_NOPS): Likewise.
	* src/vm/jit/powerpc/codegen.h (BRANCH_NOPS): Likewise.
	* src/vm/jit/powerpc64/codegen.h (BRANCH_NOPS, PATCHER_CALL_SIZE)
	(PATCHER_NOPS): Likewise.
	* src/vm/jit/x86_64/codegen.h (BRANCH_NOPS): Likewise.

2006-11-28 22:04  twisti

	* src/vm/jit/dseg.c (dseg_get_linenumber_from_pc_intern):
	Short-circuit the common case.

2006-11-28 21:50  twisti

	* src/native/tools/Makefile.am (GC_LIB): Removed.

2006-11-28 19:58  twisti

	* src/vm/jit/emit-common.c (emit_beq, emit_bne, emit_blt, emit_bge)
	(emit_bgt, emit_ble, emit_bnan): New functions.
	* src/vm/jit/emit-common.h (emit_beq, emit_bne, emit_blt, emit_bge)
	(emit_bgt, emit_ble, emit_bnan): Added.
	
	* src/vm/jit/codegen-common.h (BRANCH_UNCONDITIONAL, BRANCH_EQ)
	(BRANCH_NE, BRANCH_LT, BRANCH_GE, BRANCH_GT, BRANCH_LE, BRANCH_NAN):
	Added.

2006-11-28 19:24  edwin

	*
	tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j:
	New test.
	
	* tests/regression/jasmin/test_verify_fail_init_nullpointer.j:
	Likewise.
	
	* tests/regression/jasmin/Makefile.am: Added new tests.
	* src/vm/jit/verify/typeinfo.c (typeinfo_merge_error): Moved debug
	print into #ifdef TYPEINFO_VERBOSE.

2006-11-28 19:14  twisti

	* src/vm/jit/alpha/codegen.h (PATCHER_CALL_SIZE): Defined.

2006-11-28 15:11  twisti

	* src/native/vm/java_lang_VMThrowable.c
	(native/include/java_lang_VMClass.h): Removed.
	(getStackTrace): Use native_class_getname.

2006-11-28 01:07  ajordan

	* src/vm/jit/sparc64/asmpart.S: fixed asm_patcher_wrapper
	* src/vm/jit/sparc64/patcher.c: updated some patchers and the wrapper
	* src/vm/jit/sparc64/emit.c: likewise
	
	* src/vm/jit/sparc64/codegen.h: fixed M_BRACC
	
	* src/vm/jit/sparc64/codegen.c: added reg window workaround for arg
	register copying.
	some patch ref updates
	
	* src/vm/jit/sparc64/md.c: updated md_codegen_patch_branch()

2006-11-27 20:05  twisti

	* src/vm/jit/powerpc/codegen.h (PATCHER_CALL_SIZE): Defined.

2006-11-27 16:53  edwin

	* src/vm/jit/replace.c: Lazy patching of virtual methods. Cleanup.
	* src/vm/jit/replace.h: Likewise.

2006-11-27 15:37  edwin

	* src/vm/jit/replace.h (sourceframe_t): Added normalized type
	of replacement point.
	
	* src/vm/jit/replace.c (replace_normalize_type_map): Added
	normalization table for replacement point types.
	(replace_read_executionstate): Set normalized type of rplpoint.
	(replace_find_replacement_point): Match normalized type of rplpoint.
	(replace_source_frame_println): Print it.

2006-11-27 15:29  edwin

	* src/vm/jit/i386/codegen.c (codegen): set marker in line number table
	_after_ inlining prolog (This fixes the stacktrace for the CHECKNULL
	in
	the prolog.)
	
	* src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Document that
	it is now called with the INLINE_BODY instruction.

2006-11-27 15:24  edwin

	* src/vm/jit/i386/codegen.cn (codegen): Use the new functions for
	setting replacement point addresses.

2006-11-27 15:23  edwin

	* src/vm/jit/codegen-common.c (codegen_set_replacement_point_notrap):
	New function.
	(codegen_set_replacement_point): Likewise.
	
	* src/vm/jit/codegen-common.h (codegendata): Added field
	`replacementpoint`.
	(codegen_set_replacement_point_notrap): Added prototype.
	(codegen_set_replacement_point): Likewise.
	
	* src/vm/jit/replace.h (RPLPOINT_CHECK): New macro.
	(RPLPOINT_CHECK_BB): Likewise.

2006-11-27 15:19  edwin

	* src/vm/jit/replace.c
	(replace_create_inline_start_replacement_point):
	New function.
	(replace_create_replacement_points): Cleaned up.

2006-11-27 15:15  edwin

	* src/vm/jit/stack.c (stack_javalocals_store): New function.
	* src/vm/jit/stack.h (stack_javalocals_store): Likewise.
	
	* src/vm/jit/inline/inline.c (inline_clone_instruction): Use
	stack_javalocals_store.
	
	* src/vm/jit/replace.c (replace_create_replacement_points): Use
	stack_javalocals_store. Other cleanups.

2006-11-27 15:11  edwin

	* src/vm/jit/replace.c (replace_create_replacement_points): Create
	non-trappable replacement point for INLINE_BODY.
	
	* src/vm/jit/i386/codegen.c (codegen): Handle replacement point
	for INLINE_BODY.

2006-11-27 15:06  edwin

	* src/vm/jit/replace.h (RPLPOINT_TYPE_BODY): Added.
	* src/vm/jit/replace.c: Likewise.

2006-11-27 15:03  edwin

	* src/vm/jit/inline/inline.c (emit_inlining_prolog): Do not emit
	CHECKNULL in prolog for <init> methods.

2006-11-27 15:02  edwin

	* src/vm/jit/inline/inline.c (emit_inlining_prolog): Emit INLINE_BODY
	instructions at end of prolog.

2006-11-27 14:58  edwin

	* src/vm/jit/icmdtable.inc (INLINE_GOTO): Removed.
	(INLINE_BODY): Added. This instruction will mark the start of the
	inlined method body after the prolog.
	
	* src/vm/jit/jit.h: Likewise.
	
	* src/vm/jit/show.c (show_icmd): Likewise.
	
	* src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
	Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.

2006-11-27 14:48  edwin

	* src/vm/jit/i386/emit.c (emit_memabs): Removed.
	(emit_alu_imm_memabs): Use emit_mem.

2006-11-27 14:39  edwin

	* src/vm/jit/stack.c (stack_reanalyse_block): Removed bogus cases
	for INLINE_ instructions. They cannot occur here.
	(stack_analyse): Likewise.

2006-11-27 14:37  michi

	* src/mm/gc-common.h: Added prototype for heap_init_objectheader.
	* src/vm/builtin.c (builtin_clone): Object header gets initiated
	after cloning.

2006-11-27 14:35  edwin

	* src/vm/jit/jit.c (jit_invalidate_code): Do not trap non-trappable
	replacement points.
	(jit_request_optimization): New function.
	(jit_get_current_code): New function.
	
	* src/vm/jit/jit.h (jit_request_optimization): Added prototype.
	(jit_get_current_code): Likewise.
	
	* src/vm/jit/replace.h (RPLPOINT_FLAG_NOTRAP): New flag.
	
	* src/vm/jit/replace.c (replace_replacement_point_println): Prepared
	for new flag.

2006-11-27 14:27  edwin

	* src/vm/jit/jit.c (jit_invalidate_code): Do not activate RETURN
	rplpoints when invalidating code (they cannot be mapped to inlined
	versions of the code).

2006-11-27 14:26  edwin

	* src/vm/jit/replace.c (replace_create_replacement_points): Some fixes
	for inlining.

2006-11-27 14:24  edwin

	* src/vm/jit/replace.c (replace_find_replacement_point): Match parent
	of replacement point.
	(replace_me): Keep parent of rplpoint around.

2006-11-27 14:20  edwin

	* src/vm/jit/i386/emit.c (emit_memabs): New function.
	(emit_alu_imm_memabs): New function.
	
	* src/vm/jit/i386/emit.h (emit_alu_imm_memabs): Added prototype.
	
	* src/vm/jit/i386/codegen.h (M_ISUB_IMM_MEMABS): New macro.

2006-11-25 16:32  michi

	* src/mm/cacao-gc/gc.h: Added.
	* src/mm/cacao-gc/gc.c: Debugging with gc_call. Added some
	development breaks.
	Added gc_get_heap_size, gc_get_free_bytes, gc_get_total_bytes and
	gc_get_max_heap_size.

2006-11-22 21:19  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use new dseg_add_* functions,
	replaced codegen_addreference with codegen_add_branch_ref.
	(createnativestub): Likewise.
	* src/vm/jit/x86_64/emit.c (emit_patcher_stubs): Likewise.

2006-11-22 20:24  twisti

	* src/vm/jit/stacktrace.c (linenumbertable_entry): Removed.
	(stacktrace_add_method_intern): Removed.
	(stacktrace_add_method): Call dseg_get_linenumber_from_pc.
	
	* src/vm/jit/dseg.c (vm/jit/methodheader.h): Added.
	(dseg_get_linenumber_from_pc_intern): New function.
	(dseg_get_linenumber_from_pc): Likewise.
	
	* src/vm/jit/dseg.h (linenumbertable_entry): Added.
	(dseg_get_linenumber_from_pc): Likewise.
	
	* src/vm/jit/show.c (show_method): Renamed u1ptr to pc.
	(show_basicblock): Use dseg_get_linenumber_from_pc to diplay line
	number in disassembly.

2006-11-22 19:00  twisti

	* src/mm/gc-common.h [DISABLE_GC] (nogc_init, nogc_realloc): Removed.

2006-11-22 18:22  edwin

	* src/vm/jit/x86_64/codegen.c (codegen): Do not generate code for
	ASTORE
	storing a returnAddress, as 1) the store is dead, and 2) the dest.
	variable has no valid allocation.

2006-11-22 18:20  edwin

	* src/vm/jit/sparc64/codegen.c (codegen): Do not generate code for
	ASTORE
	storing a returnAddress, as 1) the store is dead, and 2) the dest.
	variable has no valid allocation.

2006-11-22 18:18  edwin

	* src/vm/jit/powerpc64/codegen.c (codegen): Do not generate code for
	ASTORE
	storing a returnAddress, as 1) the store is dead, and 2) the dest.
	variable has no valid allocation.

2006-11-22 18:16  edwin

	* src/vm/jit/mips/codegen.c (codegen): Do not generate code for ASTORE
	storing a returnAddress, as 1) the store is dead, and 2) the dest.
	variable has no valid allocation.

2006-11-22 18:12  edwin

	* src/vm/jit/i386/codegen.c (codegen): Do not generate code for ASTORE
	storing a returnAddress, as 1) the store is dead, and 2) the dest.
	variable has no valid allocation.

2006-11-22 18:09  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): Do not generate code for
	ASTORE
	storing a returnAddress, as 1) the store is dead, and 2) the dest.
	variable has no valid allocation.

2006-11-22 18:03  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Do not generate code for
	ASTORE
	storing a returnAddress, as 1) the store is dead, and 2) the dest.
	variable has no valid allocation.

2006-11-22 11:05  twisti

	* configure.ac: Added *kfreebsd*-gnu.
	* src/vm/suck.c (scandir_filter) [_DIRENT_HAVE_D_NAMLEN]: Bugfix.

2006-11-22 10:50  twisti

	* src/vm/jit/i386/codegen.c (codegen): Use new dseg_add_* functions.
	(createnativestub): Likewise.
	* src/vm/jit/i386/emit.c (emit_patcher_stubs): Likewise.

2006-11-21 23:21  twisti

	* native.c (native_class_getname): New function.
	* native.h (native_class_getname): Added.
	* vm/java_lang_VMClass.c (getName): Use native_class_getname.

2006-11-21 21:02  twisti

	* src/vm/builtin.c [DISABLE_GC] (builtin_idiv): Added.
	(builtin_f2i): Likewise.
	(builtin_d2i): Likewise.
	
	* src/vm/vm.c (vm_create): Removed nogc_init call.
	* src/cacaoh/cacaoh.c (main): Likewise.
	
	* src/mm/nogc.c (nogc_realloc): Removed.
	(nogc_init): Renamed to gc_init.
	(gc_init): Removed.
	(gc_get_total_bytes): Added.
	
	* src/mm/memory.h [DISABLE_GC] (NEW, FREE, MNEW, MFREE, MREALLOC):
	Removed.

2006-11-21 16:56  michi

	* src/vm/loader.c (load_class_from_classbuffer) [ENABLE_GC_CACAO]:
	Fieldinfos
	are no longer placed onto the heap.
	
	* src/vm/class.c (class_free) [ENABLE_GC_CACAO]: Fieldinfos are freed.

2006-11-20 18:57  tbfg

	* src/vm/jit/powerpc64/codegen.c (codegen): Replace dseg_add*
	by dseg_add_* functions.
	
	* src/vm/jit/powerpc64/emit.c: Likewise.

2006-11-20 16:18  twisti

	* src/vm/jit/dseg.h (dseg_adds4, dseg_adds8, dseg_addfloat)
	(dseg_adddouble, dseg_addaddress, dseg_addtarget): Removed.
	
	* src/vm/jit/alpha/codegen.c (codegen): Removed remaining old-dseg_add
	calls.
	* src/vm/jit/alpha/emit.c (emit_iconst): Replaced dseg_adds4 with
	dseg_add_s4.
	(emit_lconst): Replaced dseg_adds8 with dseg_add_s8.

2006-11-20 14:18  michi

	* src/vm/global.h: Added hdrflags to java_objectheader for exact
	Cacao-GC.
	* src/threads/native/lock.c: Now uses hdrflags to store the FLC bit.

2006-11-19 18:25  michi

	* src/mm/cacao-gc/Makefile.am: Added mark.c
	* src/mm/cacao-gc/mark.c: Added

2006-11-19 15:40  edwin

	* src/vm/jit/replace.c: Only recompile if necessary. Count
	re-compilations.

2006-11-19 15:39  edwin

	* src/vm/jit/replace.c: Added statistics code.

2006-11-19 15:36  edwin

	* src/vm/jit/replace.c (replace_me): Only turn off replacement
	points for self-replacement. Warn in this case.

2006-11-19 15:33  edwin

	* src/vm/jit/replace.c (replace_write_executionstate): Take
	synchronization slots from next frame for inline points.

2006-11-19 15:28  edwin

	* src/vm/jit/replace.c: Handle and match returnAddress variables on
	the java stack.

2006-11-19 15:22  edwin

	* src/vm/jit/stack.c (stack_analyse): Keep TYPE_RET for variables
	of returnAddress type. Do not create interfaces for this type.
	Mark block variables of TYPE_RET as PREALLOC to avoid subsequent
	allocation.
	
	* src/vm/jit/icmdtable.inc (ASTORE): Added TYPE_RET (R--) variant.
	(JSR): Changed destination type to TYPE_RET (R).
	
	* src/vm/jit/verify/icmds.c (ICMD_RET): Check local for type
	TYPE_RET.
	
	* src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Check type
	for TYPE_RET.
	
	* src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.

2006-11-19 15:10  edwin

	* src/vm/jit/jit.c (jit_invalidate_code): Activate replacement points
	in reverse order. This avoid creating invalid code when rplpoints
	within a block overlap each other. It is not a complete solution for
	overlapping replacement points, however.

2006-11-19 15:08  edwin

	* src/vm/jit/inline/inline.c (translate_javalocals): Adapted to
	returnAddress variables in javalocals.
	(inline_clone_instruction): Likewise.

2006-11-19 15:04  edwin

	* src/vm/jit/stack.c (stack_mark_reached): Fix: Do not compare basic
	block addresses. Compare numbers instead.
	(stack_mark_reached_from_outvars): Likewise.

2006-11-19 15:03  edwin

	* src/vm/jit/jit.h (INS_FLAG_CLASS): Comment that this flag is also
	used for PUTFIELDCONST and PUTSTATICCONST.
	
	* src/vm/jit/verify/icmds.c (ICMD_PUTFIELDCONST, ICMD_PUTSTATICCONST):
	Honor the INS_FLAG_CLASS flag and set the right type.
	
	* src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.

2006-11-19 14:56  edwin

	* src/vm/jit/stack.c (stack_analyse): Show state after last ICMD in
	block.
	(stack_verbose_show_block): Use show_javalocals_array.
	(stack_verbose_show_state): Likewise. Accept iptr == NULL.

2006-11-19 14:51  edwin

	* src/vm/jit/replace.c (replace_source_frame_println): Fixed printing
	of source stack.

2006-11-19 14:50  edwin

	* src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
	Do not clear vv.regoff for ICMD_JSR (we need vv.retaddr later).

2006-11-18 22:16  twisti

	* src/vm/properties.c (properties_add): Use unsynced functions of
	list.
	(properties_get): Likewise.

2006-11-17 15:47  twisti

	* src/vm/properties.c (properties_add): Replace entry if it already
	exists.

2006-11-16 22:14  twisti

	* src/vm/builtin.c (native/native.h)
	(native/include/java_lang_Cloneable.h)
	(native/include/java_lang_Object.h)
	(native/include/java_lang_VMObject.h): Removed.
	(builtin_clone_array): Renamed to builtin_clone, reimplemented.
	
	* src/vm/builtin.h (builtin_clone_array): Renamed to builtin_clone.
	(BUILTIN_clone): Defined.
	
	* src/vm/loader.c (load_newly_created_array): Use BUILTIN_clone.
	
	* src/native/vm/java_lang_VMObject.c (clone): Removed implementation
	and call builtin_clone.

2006-11-16 19:45  twisti

	* src/vm/class.h (classinfo): Typedef added.
	* src/vm/descriptor.h (typedesc): Likewise.
	(methoddesc): Likewise.
	* src/vm/field.h (fieldinfo): Likewise.
	* src/vm/method.h (methodinfo): Likewise.
	
	* src/vm/references.h (config.h, vm/types.h, vm/class.h)
	(vm/descriptor.h, vm/field.h, vm/method.h): Likewise.
	(classinfo, methodinfo, fieldinfo, typedesc, methoddesc): Removed.
	(constant_classref, classref_or_classinfo, parseddesc): Moved.

2006-11-16 15:56  twisti

	* src/vm/vm.c (vm_createjvm): New function.
	* src/vm/vm.h (vm_createjvm): Added.
	
	* src/cacao/cacao.c (main): Resolve and call vm_createjvm instead of
	JNI_CreateJavaVM.
	
	* src/native/jni.c (jni_init_localref_table): Made non-static.
	(JNI_CreateJavaVM): Moved implementation into vm_createjvm.
	* src/native/jni.h (jni_init_localref_table): Added.

2006-11-16 00:02  edwin

	* src/vm/jit/stack.c (stack_analyse): Fix: Reset deadcode when
	re-analysing a block.

2006-11-15 23:45  edwin

	* src/vm/jit/verify/generate.pl: Prepared for LOAD instructions with
	multiple variants (will be needed for ASTORE).

2006-11-15 23:44  edwin

	* src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
	Ignore TYPE_RET interface variables. (Preparation.)
	
	* src/vm/jit/show.c (show_allocation): Prepared for TYPE_RET
	variables.
	(show_variable_intern): Likewise.
	
	* src/vm/jit/verify/typecheck.c (STORE_LOCAL): Made the macro safer.
	(STORE_LOCAL_2_WORD): Likewise.
	
	* src/vm/jit/verify/typeinfo.c (typeinfo_print_type): Prepared for
	TYPE_RET variables.
	
	* src/vm/jit/replace.c (replace_source_frame_println): Prepared for
	void stackslots.

2006-11-15 23:37  edwin

	* src/vm/jit/jit.c (jit_recompile): Set verbosecall flag.

2006-11-15 23:36  edwin

	* src/vm/jit/replace.c (replace_create_replacement_points): Fix: Only
	put a replacement point at a back branch target if the block does not
	contain any other replacement point.
	
	(replace_read_executionstate): Better debugging helpers.
	(replace_me): Likewise.
	
	* src/vm/jit/replace.h (sourceframe_t): Added a field for debugging.

2006-11-15 23:33  edwin

	* src/vm/jit/stack.c (stack_reanalyse_block): Encode returnAddresses
	in the javalocals array.
	(stack_analyse): Likewise.
	
	* src/vm/jit/replace.c (replace_create_replacement_point): Store
	returnAddresses in replacement points.
	(replace_create_replacement_points): Encode returnAddresses in
	javalocals.
	(replace_read_executionstate): Ignore returnAddresses.
	(replace_write_executionstate): Likewise.
	(replace_find_replacement_point): Match returnAddresses.

2006-11-15 23:30  edwin

	* src/vm/jit/show.h (show_javalocals_array): New function.
	
	* src/vm/jit/show.c (show_javalocals_array): New function.
	(show_icmd): Prepared for showing returnAddresses.
	
	* src/vm/jit/replace.c (replace_replacement_point_println): Prepared
	for showing constant returnAddresses.
	
	* src/vm/jit/replace.h (rplalloc): Made type unsigned, so it will be
	able to hold TYPE_RET (8).
	
	* src/vm/jit/jit.h (s2_operand_t): Added field `retaddrnr` that will
	be used by ASTORE with returnAddresses.

2006-11-15 23:24  edwin

	* src/vm/jit/inline/inline.c (inline_inline_intern): Removed some
	unused code.

2006-11-15 23:23  edwin

	* src/vm/jit/i386/codegen.c (codegen): Fix: Put RETURN replacement
	points before the emit_load. This code needs cleaning up.

2006-11-15 23:21  edwin

	* src/vm/jit/replace.c: Partial implementation of synchronization
	slot translation. Translating synchronized INLINE <-> CALL needs more
	work.

2006-11-15 23:19  edwin

	* src/vm/jit/replace.c (replace_find_replacement_poin): Fix: Compare
	both id and method when searching a replacement point.
	(replace_executionstate_println): Prettier printing.
	
	* src/vm/jit/replace.h (replace_pop_activation_record): Removed
	prototype.

2006-11-15 23:17  edwin

	* src/vm/jit/inline/inline.c (inline_instruction): New function.
	Factored code out of other functions generation instructions.

2006-11-15 23:15  edwin

	* src/vm/jit/jit.h (insinfo_inline): Added field `paramcount`.
	
	* src/vm/jit/inline/inline.c (inline_generate_sync_builtin): New
	function. Generate explicit MONITORENTER/EXIT instructions.
	(emit_inlining_prolog): Moved INLINE_START to the beginning of the
	prolog. Explicit synchronization.
	(emit_inlining_epilog): Explicit synchronization.
	(rewrite_method): Use epilog_instructioncount.
	(inline_analyse_callee): Explicit synchronization.
	
	* src/vm/jit/i386/codegen.c (ICMD_INLINE_START): Removed implicit
	synchronization.
	(ICMD_INLINE_END): Likewise.
	
	* src/vm/jit/replace.c (replace_create_replacement_point): Handle
	parameters for top frames.
	(replace_create_replacement_points): Likewise.
	(replace_read_executionstate): Likewise.
	(replace_write_executionstate): Likewise.
	(replace_me): Likewise.

2006-11-15 23:08  edwin

	* src/vm/jit/replace.h (RPLALLOC_STACK, RPLALLOC_PARAM,
	RPLALLOC_SYNC):
	New constants.
	
	* src/vm/jit/replace.c (replace_push_activation_record): Fix:
	Decrement
	SP _before_ writing the return address.
	(replace_me): More logging.
	(replace_replacement_point_println): More logging.
	(replace_executionstate_println): Prettier printing.

2006-11-15 23:02  edwin

	* src/vm/jit/code.h (codeinfo): Added field `invalid`. (Should become
	a flag, later.)
	* src/vm/jit/jit.c (jit_recompile): Fixed for first compilation. Do
	not
	refuse to recompile.

2006-11-15 22:59  edwin

	* src/vm/jit/inline/inline.c (inline_inline_intern): Do not inline
	abstract methods (need to search for single implementation).

2006-11-15 22:47  edwin

	* src/vm/jit/replace.c (replace_me): Small cleanup.
	* src/vm/jit/inline/inline.c (create_body_block): Do not translate
	javalocals for dead code.
	(inline_inline_intern): Fixed flag check.

2006-11-15 22:46  edwin

	* src/vm/method.c (method_printflags): Print MONOMORPHIC and
	IMPLEMENTED flags.

2006-11-15 18:26  twisti

	* src/vm/properties.c (properties_init) [ENABLE_JAVASE]: Allocate the
	utsname structure on the heap.

2006-11-15 18:09  twisti

	* src/vm/properties.c (properties_init) [ENABLE_JAVASE]: Don't free
	memory, we need it later.

2006-11-15 18:01  twisti

	* src/cacaoh/headers.c (cacao_prefix, classpath_libdir, _Jv_classpath)
	(_Jv_java_library_path): Added.

2006-11-15 17:58  twisti

	* src/vm/properties.c (properties_init): Also fill the internal
	property table.
	(properties_postinit): Re-set some properties that may have changed.
	(properties_system_add): Removed.
	[ENABLE_JAVASE] (properties_system_add_all): Rewritten.
	
	* src/vm/properties.h (properties_postinit): Changed signature.
	(properties_system_add): Removed.
	[ENABLE_JAVASE] (properties_system_add_all): Added.
	
	* src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Moved
	implementation to properties.
	
	* src/vm/vm.c (vm_create): Call properties_postinit.

2006-11-15 17:46  twisti

	* src/vm/vm.c (vm_create): Don't initialize java/lang/System
	explicitely.

2006-11-15 16:25  twisti

	* configure.ac (--enable-java): Added.

2006-11-15 15:52  twisti

	* src/vm/jit/parse.c (parse): Added missing semi-colon.

2006-11-15 15:47  edwin

	* src/vm/jit/icmdtable.inc (CHECKNULL_POP): Removed.
	
	* src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.

2006-11-15 15:42  twisti

	* src/vm/jit/jit.h (ICMD_CHECKNULL_POP): Removed.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/show.c: Likewise.

2006-11-15 15:30  twisti

	Reverted patch 5890.
	
	* src/vm/jit/jit.h: Reverted.
	
	* src/vm/jit/alpha/codegen.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/powerpc/codegen.c: Likewise.
	* src/vm/jit/powerpc64/codegen.c: Likewise.
	* src/vm/jit/sparc64/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/intrp/codegen.c: Likewise.
	
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/verify/typecheck-stackbased-gen.inc: Likewise.
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.

2006-11-15 13:44  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.c (md_param_alloc): Fixed
	preallocation.
	
	* src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed
	argument handling.

2006-11-15 12:25  twisti

	* src/vm/jit/jit.h (ICMD_CHECKNULL): Renamed to ICMD_CHECKNULL_POP.
	
	* src/vm/jit/alpha/codegen.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/powerpc/codegen.c: Likewise.
	* src/vm/jit/powerpc64/codegen.c: Likewise.
	* src/vm/jit/sparc64/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/intrp/codegen.c: Likewise.
	
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/show.c: Likewise.
	
	* src/vm/jit/allocator/simplereg.c: Likewise.
	
	* src/vm/jit/verify/typecheck-stackbased-gen.inc (ICMD_CHECKNULL):
	Removed.
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.

2006-11-14 21:56  twisti

	* src/jit/verify/typecheck-stackbased.c (mm/memory.h): Added.
	* src/jit/powerpc/emit.c (mm/memory.h): Likewise.
	* src/signal.c (mm/memory.h): Likewise.

2006-11-13 21:43  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.c (md_param_alloc): Began
	fixing ABI issues. It is not correct now, but fptest runs now.
	Remaining issues in java<->native mainly stack offsets.
	
	* src/vm/jit/powerpc64/emit.c (emit_load): Removed M_ILD case.
	(emit_store): Removed M_FST case. There is no M_FST expect for
	accessing c structs, internally everything is done using M_DLD
	and M_DST, M_FST would convert the values.
	
	* src/vm/jit/powerpc64/codegen.c (codegen): Removed all M_FST and
	M_FLD.
	
	* src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed
	argument passing on stack.

2006-11-12 15:42  edwin

	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.

2006-11-12 15:41  edwin

	* src/vm/jit/icmdtable.inc: Activate INLINE_START and INLINE_END.

2006-11-12 15:33  edwin

	* src/vm/linker.c (inline_debug_log): Added variable reference.
	(linker_overwrite_method): Factored out overwriting into this
	function,
	update method flags and check assumptions when overwriting.
	(link_class_intern): Use linker_overwrite_method. Invalidate code of
	methods that makes broken assumptions.
	
	* src/vm/method.c (inline_debug_log): Only use for ENABLE_INLINING.
	(method_add_to_worklist): Allocate items with NEW.

2006-11-12 15:14  edwin

	* src/vm/method.h (method_assumption): New struct.
	(method_worklist): New struct.
	(methodinfo): Added fields `overwrites` and `assumptions`.
	(method_add_assumption_monomorphic): Added prototype.
	(method_break_assumption_monomorphic): Likewise.
	
	* src/vm/method.c (inline_debug_log): Added variable reference.
	(method_add_to_worklist): New function.
	(method_add_assumption_monomorphic): Likewise.
	(method_break_assumption_monomorphic): Likewise.

2006-11-12 15:01  edwin

	* src/cacaoh/headers.c (inline_debug_log): Added dummy variable.

2006-11-12 15:00  edwin

	* src/vm/loader.c (load_method): Set ACC_METHOD_MONOMORPHIC and
	ACC_METHOD_IMPLEMENTED flags.

2006-11-12 13:55  edwin

	* src/vm/jit/replace.c (replace_me): Recompile replacement methods.

2006-11-12 13:54  edwin

	* src/vm/jit/replace.c (replace_create_replacement_point): Use the
	ICMD id as id for replacement points.
	(replace_replacement_point_println): Print the rplpoint id.

2006-11-12 13:52  edwin

	* src/vm/jit/replace.c (replace_source_frame_println): Print position
	id.
	* src/vm/jit/replace.c (replace_pop_activation_record): Subtract one
	from the return address so we don't hit the following replacement
	point.

2006-11-12 13:51  edwin

	* src/vm/jit/replace.c (replace_write_executionstate): Added some
	asserts.

2006-11-12 13:50  edwin

	* src/vm/jit/replace.c: Cleaned up debugging prints.

2006-11-12 13:47  edwin

	* src/vm/jit/replace.c (replace_create_replacement_points): Handle
	javaindex == UNUSED.

2006-11-12 13:46  edwin

	* src/vm/jit/jit.h, src/vm/jit/jit.c (jit_invalidate_code):
	New function.

2006-11-12 13:40  edwin

	* src/vm/jit/jit.c (jit_recompile): Some cleanups.

2006-11-12 13:39  edwin

	* src/vm/jit/i386/md.c (md_patch_replacement_point): Deactivated
	debugging print.
	* src/cacaoh/headers.c (jit_invalidate_code): Added stub.

2006-11-12 13:38  edwin

	* src/vm/jit/inline/inline.c (emit_inlining_prolog): Set javaindex
	UNUSED for generated STOREs. Include local variables in stackvars
	for insinfo_inline. Copy instruction id to INLINE_START.
	(inline_clone_instruction): Check for javaindex == UNUSED.
	(rewrite_method): Set javaindex UNUSED for generated STOREs.
	(inline_inline_intern): Removed some testing code.

2006-11-12 13:31  edwin

	* src/vm/jit/parse.c, src/vm/jit/parse.h (Changes): Merged with
	Authors.

2006-11-12 13:21  edwin

	* src/vm/jit/jit.h (INS_FLAG_ID_SHIFT, INS_FLAG_ID_MASK): Added. We
	add
	an instruction id to the flags field. This is a first attempt to
	obtain
	an id for ICMDs that is not dependent on any optimizations or
	transformations in the compiler. The id is not the same as the
	bytecode
	PC, but it has a fixed relation to the bytecode PC, so it should be
	sufficient at least for replacement. This is an intermediate solution
	with serious shortcommings, and should be replaced by a true ICMD-to-
	bytecode-PC mapping in the future. (For example, the id uses up all
	the free bits in the flags field, and it is not protected against
	overflow.)
	
	* src/vm/jit/parse.h, src/vm/jit/parse.c: Set the instruction id, and
	do not overwrite it when setting other flags.
	
	* src/vm/jit/stack.c: Do not clear the instruction id.
	
	* src/vm/jit/show.c (show_basicblock): Display the instruction id.

2006-11-12 12:57  twisti

	* src/vm/jit/powerpc64/codegen.c (codegen): Fixed ICMD_BALOAD, use
	correct java_bytearray type.

2006-11-12 12:55  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Fixed ICMD_BALOAD, use
	correct java_bytearray type.

2006-11-12 12:54  edwin

	* src/vm/jit/parse.h: Fixed typos.

2006-11-11 19:26  ajordan

	* src/vm/jit/sparc64/*: implemented patching (partly), adherent fixes.

2006-11-11 18:45  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Use emit_array_checks.

2006-11-11 18:34  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Replaced gen_bound_check by
	emit_arrayindexoutofbounds_check.

2006-11-11 18:31  twisti

	* src/vm/jit/alpha/emit.c (vm/options.h): Added.
	(emit_arrayindexoutofbounds_check): New function.
	(emit_arraystore_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	
	* src/vm/jit/alpha/codegen.c (codegen): Removed patch-NOPs generation,
	replaced gen_nullptr_check with emit_nullpointer_check.
	(createnativestub): Removed patch-NOPs generation.
	
	* src/vm/jit/alpha/codegen.h (gen_nullptr_check): Removed.
	(PATCHER_NOPS): Added.
	
	* src/vm/jit/alpha/patcher.c (patcher_get_putfield): Use opt_shownops
	instead of opt_showdisassemble.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	
	* src/vm/jit/emit-common.c (emit_array_checks): Added [__ALPHA__].
	* src/vm/jit/codegen-common.c (codegen_add_patch_ref): Likewise.

2006-11-11 17:08  edwin

	* src/vm/jit/tools/genoffsets.c (executionstate): Renamed to
	executionstate_t.
	* src/vm/jit/asmpart.h: Likewise.
	
	* src/vm/jit/show.c (show_variable_intern): New function. Does not
	append ' '. Regard variables above vartop as invalid.
	(show_method): Only show variables up to vartop.
	(show_inline_info): New function.
	(show_basicblock): Show right number of javalocals, show inlining
	info at the start of blocks.
	(show_variable): Moved body to show_variable_intern.
	(show_icmd): Use show_inline_info.
	
	* src/vm/jit/inline/inline.c: Handle javalocals.
	
	* src/vm/jit/i386/codegen.c (codegen): Handle replacement points
	for INLINE_START, RETURN and INVOKEs.
	
	* src/vm/jit/replace.c: Many changes for making replacement work
	over multiple stack frames.
	* src/vm/jit/replace.h: Likewise.
	
	* src/vm/jit/jit.h (insinfo_inline): Added fields.
	(basicblock): Added field `inlineinfo`.

2006-11-11 17:05  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Renamed codegen_addpatchref to
	codegen_add_patch_ref and codegen_addreference to
	codegen_add_branch_ref.
	(createnativestub): Likewise.

2006-11-11 16:56  twisti

	* src/vm/jit/alpha/md.c (md_codegen_patch_branch): New function.
	* src/vm/jit/alpha/emit.c (emit_exception_stubs): Use
	md_codegen_patch_branch.
	* src/vm/jit/alpha/codegen.c (codegen): Use
	codegen_resolve_branchrefs.
	* src/vm/jit/alpha/codegen.h (gen_resolvebranch): Removed.

2006-11-11 16:44  twisti

	* configure.ac: Support mipsel architectures.

2006-11-11 14:28  twisti

	* src/vm/jit/codegen-common.c (codegen_add_patch_ref): Added
	[__X86_64__] for NOP-generation.

2006-11-10 16:41  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use
	codegen_resolve_branchrefs, removed patcher NOP generation, renamed
	codegen_addpatchref to codegen_add_patch_ref.
	(createnativestub): Likewise.
	
	* src/vm/jit/x86_64/codegen.h (PATCHER_NOPS): Defined.
	
	* src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
	opt_shownops instead of opt_showdisassemble.
	(patcher_get_putfield): Likewise.
	(patcher_putfieldconst): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_class): Likewise.
	(patcher_instanceof_class): Likewise.
	(patcher_resolve_native): Likewise.

2006-11-10 12:32  twisti

	* src/vm/jit/x86_64/md.c (md_codegen_patch_branch): New function.
	* src/vm/jit/x86_64/emit.c (emit_exception_stubs): Use
	md_codegen_patch_branch.

2006-11-09 15:27  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Use codegen_add_branch_ref,
	removed opt_shownops code.
	(createnativestub): Likewise.
	
	* src/vm/jit/powerpc/codegen.h (PATCHER_NOPS): Added.
	* src/vm/jit/mips/codegen.h (PATCHER_NOPS): Removed opt_shownops
	check.
	
	* src/vm/jit/codegen-common.c (codegen_add_patch_ref): Check for
	opt_shownops, added [__POWERPC__].

2006-11-09 10:52  twisti

	* src/vm/jit/powerpc/emit.c (vm/options.h): Added.
	(emit_nullpointer_check): New function.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_exception_stubs): Use md_codegen_patch_branch.
	
	* src/vm/jit/powerpc/md.c (vm/jit/powerpc/codegen.h): Added.
	(md_codegen_patch_branch): New function.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Use
	codegen_resolve_branchrefs, use opt_shownops, removed buggy ICMD_LCMP
	implementation (i'll add a new one if i find some time), use exception
	emit_* functions.
	(createnativestub): Use opt_shownops.
	
	* src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Use
	opt_shownops.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	
	* src/vm/jit/powerpc/codegen.h (gen_nullptr_check): Removed.
	(gen_bound_check): Likewise.
	(M_BRAMASK): Renamed to M_BMASK.
	(M_BRMASK): Renamed to M_BCMASK.
	(M_BRA): Renamed to M_B and hardcoded the opcode.
	(M_BRAC): Renamed to M_BC and hardcoded the opcode.
	(gen_resolvebranch): Removed.
	
	* src/vm/jit/emit-common.c (emit_array_checks): New function.
	* src/vm/jit/emit-common.h (emit_array_checks): Added.

2006-11-09 10:23  twisti

	* src/vm/jit/stacktrace.c (stacktrace_add_method): Get codeinfo from
	data segment.

2006-11-09 09:59  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.h: Changed ABI for float
	arguments.
	
	* src/vm/jit/powerpc64/linux/md-asm.h: Likewise.
	
	* src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
	
	* src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Various
	argument handling fixes.
	
	* src/vm/jit/powerpc64/codegen.h (M_BRAC): Renamed to M_BC
	(M_BRA): Renamed to M_B
	(M_BRACMASK): Renamed to M_BCMASK.
	(M_BRAMASK): Renamed to M_BMASK.
	
	* src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Use M_BCMASK
	and M_BMASK instead of hardcoded masks.

2006-11-09 09:54  twisti

	* src/vm/jit/powerpc/linux/md-os.c (vm/jit/profile/profile.h): Changed
	to vm/jit/optimizing/profile.h.
	(md_signal_handler_sigsegv): If faulting address is not equal 0, try
	to dump a tsacktrace and exit.

2006-11-08 22:02  twisti

	* NEWS: Added release 0.98.

2006-11-08 22:00  twisti

	* src/vm/method.h (methodinfo): Added signature.
	* src/vm/field.h (fieldinfo): Added signature.
	* src/vm/loader.c (load_method): Load signature attribute.
	(load_field): Likewise.
	* src/native/vm/java_lang_reflect_Method.c (getSignature):
	Implemented.
	* src/native/vm/java_lang_reflect_Field.c (getSignature): Likewise.

2006-11-08 20:34  edwin

	* src/vm/jit/code.h (codeinfo): Added field stackframesize.
	* src/vm/jit/code.c (code_get_stack_frame_size): Return
	code->stackframesize.
	
	* src/vm/jit/replace.c (replace_create_replacement_points): Set
	code->stackframesize.
	(replace_read_executionstate): Read stack types from rplallocs.
	(replace_write_executionstate): Check stack types.
	(replace_pop_activation_record): New function.
	(replace_me): Added some temporary code for testing.
	(replace_executionstate_println): Use executionstate.code.
	(java_value_print): New function.
	(replace_sourcestate_println): Print values prettily.
	
	* src/vm/jit/replace.h (executionstate): Added field `code`.
	(sourcestate): Added field `javastacktype`.
	(replace_pop_activation_record): New function.
	(replace_executionstate_println): Changed arguments.

2006-11-08 20:27  twisti

	* src/vm/exceptions.c (new_nullpointerexception): Renamed to
	exceptions_new_nullpointerexception.
	* src/vm/exceptions.h: Likewise.
	* src/vm/jit/stacktrace.c: Likewise.
	* src/cacaoh/headers.c: Likewise.

2006-11-08 13:33  tbfg

	* src/vm/jit/powerpc64/codegen.h (gen_resolvebranch): Removed.
	
	* src/vm/jit/powerpc64/codegen.c (codegen): Replaced
	gen_resolvebranch with md_codegen_patch_branch.
	
	* src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Prevent AA
	and LK overwrites for b.

2006-11-08 13:03  tbfg

	* src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Added.

2006-11-07 09:06  twisti

	* src/vm/jit/i386/md.c (md_codegen_patch_branch): New function.
	* src/vm/jit/i386/emit.c (emit_exception_stubs): Use
	md_codegen_patch_branch.
	* src/vm/jit/i386/codegen.c (codegen): Use codegen_resolve_branchrefs.
	* src/vm/jit/i386/codegen.h (gen_resolvebranch): Removed.

2006-11-07 08:51  twisti

	* src/vm/jit/codegen-common.h (codegen_resolve_branchrefs): Added.

2006-11-06 21:12  twisti

	* jit/mips/emit.c (emit_patcher_stubs): Handle displacement overflows.
	
	* jit/mips/codegen.c (codegen): Removed patcher NOPs generation.
	(createnativestub): Likewise.
	
	* jit/mips/codegen.h (PATCHER_CALL_INSTRUCTIONS): Defined.
	(PATCHER_CALL_SIZE): Changed to 5 * 4;
	(PATCHER_NOPS): Defined.
	
	* jit/mips/patcher.c (patcher_wrapper): Restore original instructions.
	(patcher_get_putstatic): Don't restore original code.
	(patcher_get_putfield): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_interface): Likewise.
	(patcher_instanceof_interface): Likewise.
	(patcher_checkcast_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.
	
	* jit/mips/asmpart.S (asm_patcher_wrapper): Handle bigger patcher stub
	stack.
	
	* jit/codegen-common.c (codegen_add_patch_ref): Generate NOPs, if
	requested.

2006-11-06 17:13  twisti

	* src/vm/jit/codegen-common.c (toolbox/list.h): Added.
	(codegen_addreference): Renamed to codegen_add_branch_ref, use
	md_codegen_patch_branch instead of gen_resolvebranch.
	(codegen_resolve_branchrefs): New function.
	(codegen_addpatchref): Renamed to codegen_add_patch_ref.
	* src/vm/jit/codegen-common.h (codegen_addreference): Renamed to
	codegen_add_branch_ref.
	(codegen_resolve_branchrefs): New function.
	(codegen_addpatchref): Renamed to codegen_add_patch_ref.
	
	* src/vm/jit/dseg.h (toolbox/list.h): Added.
	
	* src/vm/jit/mips/emit.c (vm/options.h): Added.
	(emit_arithmetic_check): New function.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_arraystore_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	(emit_exception_check): Likewise.
	(emit_exception_stubs): Use md_codegen_patch_branch instead of
	gen_resolvebranch.
	
	* src/vm/jit/mips/md.c (vm/vm.h): Added.
	(md_codegen_patch_branch): New function.
	
	* src/vm/jit/mips/codegen.c (codegen): Use new emit_* functions, use
	opt_shownops instead of opt_showdissasemble.
	(createnativestub): Likewise.
	
	* src/vm/jit/mips/codegen.h (gen_nullptr_check): Removed.
	(gen_bound_check): Likewise.
	(gen_div_check): Likewise.
	(gen_resolvebranch): Likewise.
	
	* src/vm/jit/mips/patcher.c: Use opt_shownops instead of
	opt_showdissasemble.
	(patcher_checkcast_instanceof_interface): Split into two functions:
	patcher_checkcast_interface and patcher_instanceof_interface.
	
	* src/vm/jit/patcher.h (patcher_checkcast_interface): Added.
	(patcher_instanceof_interface): Added.
	
	* src/vm/jit/emit-common.h (emit_arithmetic_check): Added.
	(emit_arrayindexoutofbounds_check): Likewise.
	(emit_arraystore_check): Likewise.
	(emit_classcast_check): Likewise.
	(emit_nullpointer_check): Likewise.
	(emit_exception_check): Likewise.

2006-11-06 16:38  tbfg

	* src/vm/jit/powerpc64/codegen.c (codegen): Various more fixes all
	over the place. jctest is now successfull for ppc64.
	
	* src/vm/jit/powerpc64/codegen.h (M_DIV): Changed used opcode.
	(M_SLL_IMM): Fixed.

2006-11-06 16:17  edwin

	* src/vm/jit/replace.c (replace_create_replacement_point): New
	function.
	(replace_create_replacement_points): Create replacement points for
	INVOKE* and *RETURN instructions.
	(replace_read_executionstate): Fixed loop.
	(replace_write_executionstate): Fixed loop.
	(replace_sourcestate_println): Adapted to new source state layout.

2006-11-05 23:17  edwin

	* src/vm/jit/i386/codegen.c (codegen): Create replacement points after
	the final allocations.
	
	* src/vm/jit/jit.c (jit_compile_intern): Do not create replacement
	points before the codegen is called.

2006-11-05 23:11  edwin

	* src/vm/jit/codegen-common.h (codegendata): Removed maxlocals. This
	is
	now in jitdata.
	* src/vm/jit/codegen-common.c (codegen_setup): Removed cd->maxlocals.
	
	* src/vm/jit/replace.c: Move towards exact replacement/GC points.
	* src/vm/jit/replace.h: Likewise.
	
	* src/vm/jit/optimizing/lsra.h: Use jd->maxlocals.
	* src/vm/jit/optimizing/lifetimes.c: Likewise.
	* src/vm/jit/optimizing/ssa.c: Likewise.
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/verify/typecheck.c: Likewise.
	* src/vm/jit/loop/analyze.c: Likewise.
	* src/vm/jit/inline/inline.c: Likewise.
	* src/vm/jit/allocator/lsra.c: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/allocator/liveness.c: Likewise.
	* src/vm/jit/jit.c: Likewise.
	
	* src/vm/jit/show.h (show_allocation): Made global.
	* src/vm/jit/show.c: Likewise.

2006-11-05 22:47  edwin

	* src/vm/jit/jit.c (jit_jitdata_new): Initialize jd->maxlocals.

2006-11-05 22:46  edwin

	* src/vm/jit/jit.h (jitdata): Added maxlocals field.

2006-11-05 21:43  twisti

	* src/vm/options.c (opt_shownops): Added.
	* src/vm/options.h (opt_shownops): Likewise.
	* src/vm/vm.c (usage): Added -so help.
	(vm_create): Added opt_shownops handling.

2006-11-05 21:27  edwin

	* src/vm/jit/jit.h (INS_FLAG_RETADDR): Added flag for marking ASTOREs
	of returnAddresses.
	
	* src/vm/jit/stack.c (stack_reanalyse_block): Invalidate target of
	ASTORE with returnAddress.
	(stack_analyse): Likewise.

2006-11-05 21:23  twisti

	* src/vm/utf8.c (utf_Signature): Added.
	(utf8_init): Initialize utf_Signature.
	* src/vm/utf8.h (utf_Signature): Added.

2006-11-05 21:18  twisti

	* src/vm/loader.c (load_attributes): Load Signature attribute.
	* src/vm/class.h (classinfo): Added signature.
	* src/native/vm/java_lang_VMClass.c (getClassSignature): Implemented.

2006-11-05 21:14  edwin

	* src/vm/jit/show.c (show_basicblock): Show javalocals.
	(show_variable_array): Made it NULL-safe, show UNUSED entries.

2006-11-05 20:17  edwin

	* src/vm/jit/show.c (show_icmd): Show javaindex for *STORE.

2006-11-05 20:07  edwin

	* src/vm/jit/jit.h (s3_operand_t): Added field javaindex.
	(INS_FLAG_KILL_PREV): New flag.
	(INS_FLAG_KILL_NEXT): New flag.
	(basicblock): Added field javalocals. This points to the mapping from
	Java bytecode locals to cacao variables at the beginning of the block.
	
	* src/vm/jit/stack.c (Changes): Merged with Authors.
	(stackdata_t): Added fields maxlocals and javalocals.
	(stack_clone_block): Initialize javalocals.
	(stack_create_locals): New function.
	(stack_merge_locals): New function.
	(stack_create_invars): Use stack_create_invars.
	(stack_create_invars_from_outvars): Likewise.
	(stack_check_invars): Use stack_merge_locals.
	(stack_check_invars_from_outvars): Likewise.
	(stack_reanalyse_block): Maintain javalocals mapping.
	(stack_init_javalocals): New function.
	(stack_analyse): Maintain javalocals mapping.
	(stack_verbose_show_block): Show javalocals.
	(stack_verbose_block_enter): Distinguish block cloning and
	re-analysing.
	(stack_verbose_show_state): New function.

2006-11-05 19:49  edwin

	* src/vm/jit/stack.c (COPY_VAL_AND_TYPE): Fix: Only copy vv for
	TYPE_RET
	(and later for other constants). Otherwise the allocation of PREALLOC
	variables can be overwritten when re-analysing a block.

2006-11-05 19:45  edwin

	* src/vm/jit/show.c (show_method): Show maxinterfaces only for stage
	>= SHOW_STACK.
	(show_variable): Show allocation for PREALLOC variables.

2006-11-05 16:58  michi

	* src/vm/jit/stacktrace.h: Added stacktracecontainer.
	* src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace): Now returns
	stacktracecontainer as wrapper for stacktracebuffer and entries.
	
	* src/native/vm/java_lang_VMThrowable.c: Undoes the wrapping
	mentioned above.

2006-11-05 15:47  edwin

	* src/vm/jit/replace.c (replace_create_replacement_points): Partially
	ported to new IR.
	
	* src/vm/jit/i386/codegen.c (codegen): Reactivate code for
	replacement points.
	* src/vm/jit/jit.c (jit_compile_intern): Likewise.

2006-11-05 10:40  edwin

	* src/vm/jit/inline/inline.c: Ported to the new IR. There are some
	checkins missing to make it linkable, though.
	* src/vm/jit/inline/inline_debug.inc: Likewise.

2006-11-05 10:31  edwin

	* src/vm/global.h (ACC_METHOD_IMPLEMENTED): Added.
	(ACC_METHOD_MONOMORPHIC): Added.

2006-11-05 10:22  edwin

	* src/vm/jit/jit.h (jitdata): New fields maxinterfaces, returnblock,
	returncount, branchtoentry, branchtoend.
	
	* src/vm/jit/jit.c (jit_jitdata_new): Initialize new fields.
	
	* src/vm/jit/parse.c (parse_mark_exception_boundaries): Set
	branchtoend.
	(parse): Set branchtoentry.
	
	* src/vm/jit/stack.c (stack_analyse): Set jd->maxinterfaces,
	returncount, and returnblock.
	
	* src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
	Use jd->maxinterfaces.
	(simplereg_allocate_temporaries): Likewise.
	
	* src/vm/jit/show.c (show_method): Show the new fields. Use
	jd->maxinterfaces. Show invalid variable indices. Show inline info.

2006-11-05 09:52  edwin

	* src/vm/jit/i386/codegen.c (codegen): Reactivated code for inlining.

2006-11-04 23:42  edwin

	* src/vm/jit/jit.h (jitdata): Clarified comment of isleafmethod.

2006-11-04 23:37  edwin

	* src/vm/jit/jit.c (jit_jitdata_new): Initialize jd->isleafmethod
	depending on whether the method needs synchronization.
	
	* src/vm/jit/parse.c (parse): Initialization of jd->isleafmethod has
	been moved to jit_jitdata_new.

2006-11-04 23:29  edwin

	* src/vm/jit/jit.h, src/vm/jit/jit.c (jit_jitdata_new): Made global.

2006-11-04 23:24  edwin

	* src/vm/loader.c (load_newly_created_array): Explicitly zero the
	allocated methodinfo array.

2006-11-04 23:13  edwin

	* src/vm/jit/stack.c (stack_change_to_tempvar): Fix: Only replace
	pass-through variables at the right stack depth. Otherwise the IR
	can become inconsistent, for example a temporary variable could be
	used more than once.

2006-11-04 22:40  edwin

	* src/vm/jit/stack.c (stack_reanalyse_block): Relocate dst.varindex
	for ICMD_JSR (even if it is not used, it keeps the IR consistent).

2006-11-04 22:01  edwin

	* src/mm/memory.c: Added ENABLE_MEMCHECK code:
	(mem_alloc): Prepared for poisoning memory.
	(mem_realloc): Invalidate freed memory.
	(mem_free): Invalidate freed memory.
	(dump_check_canaries): New function.
	(dump_alloc): Added canaries, record allocation.
	(dump_realloc): Invalidate freed memory.
	(dump_release): Check canaries, invalidate freed memory.
	
	* src/mm/memory.h (dump_allocation_t): New struct.
	(dumpinfo_t): Added allocation list for ENABLE_MEMCHECK.
	
	* configure.ac (--enable-memcheck): Added configure flag.

2006-11-04 17:30  michi

	* src/mm/boehm.h: Renamed to gc-common.h
	* src/mm/gc-common.h: Added.
	
	* src/vm/builtin.c, src/vm/jit/mips/linux/md-os.c,
	src/vm/jit/mips/irix/md-os.c, src/vm/jit/stacktrace.c, src/vm/vm.c,
	src/native/tool/gennativetable.c, src/native/jni.c,
	src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c,
	src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
	src/native/vm/java_lang_VMObject.c,
	src/native/vm/java_lang_VMRuntime.c,
	src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
	src/native/jvmti/jvmti.c, src/mm/nogc.c, src/mm/boehm.c,
	src/mm/memory.h,
	src/threads/native/threads.c, src/cacaoh/headers.c,
	src/cacaoh/cacaoh.c:
	Changed include from "mm/boehm.h" to "mm/gc-common.h"
	
	* src/mm/Makefile.am: Added subdir and lib for cacao-gc
	
	* src/mm/cacao-gc: Added.
	* src/mm/cacao-gc/gc.c: Added.
	* src/mm/cacao-gc/Makefile.am: Added.
	* src/mm/cacao-gc/.cvsignore: Added.
	
	* src/threads/native/threads.c: Fixed include of boehms gc.h
	
	* src/vm/jit/mips/linux/md-os.c (md_init) [ENABLE_GC_BOEHM]: Added
	ifdef
	for boehm specific call.
	* src/vm/jit/mips/irix/md-os.c: Likewise.
	* src/vm/signal.c: Likewise.
	
	* configure.ac: Adapted buildsystem for new GC. Added cacao-gc.

2006-11-04 15:46  tbfg

	* src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter):
	Removed unsued var.
	
	* src/vm/jit/powerpc64/codegen.c (codegen):
	Lots of arithmetic changes.
	
	* src/vm/jit/powerpc64/codegen.h (M_SLL): Converted to 64bit.
	(M_LSTX): Added.
	(gen_bound_check): Fixed.

2006-11-03 22:11  michi

	* src/vm/loader.c (load_class_from_classbuffer): Removed commented
	code which
	placed methodinfos onto the heap.

2006-11-03 15:40  tbfg

	checkcast testcase

2006-11-03 15:13  twisti

	* parisc/.cvsignore: New file.
	* parisc/linux/.cvsignore: Likewise.

2006-11-03 14:03  twisti

	* src/vm/jit/parisc/md-abi.h: New file.
	* src/vm/jit/parisc/md.c: Likewise.
	* src/vm/jit/parisc/arch.h: Likewise.
	* src/vm/jit/parisc/Makefile.am: Likewise.
	* src/vm/jit/Makefile.am (SUBDIRS): Added parisc.
	* configure.ac: Added parisc support.

2006-11-02 12:54  twisti

	* src/toolbox/list.c, src/toolbox/list.h (list_create_dump): New
	function.
	(list_first_unsynced): Likewise.
	(list_last_unsynced): Likewise.
	(list_next_unsynced): Likewise.
	(list_prev_unsynced): Likewise.

2006-11-02 12:50  twisti

	* src/Makefile.am (DIST_SUBDIRS): Compile mm first.
	(SUBDIRS): Likewise.

2006-11-02 10:21  twisti

	* src/vm/jit/dseg.h (patchref): Added comments.

2006-11-01 20:19  twisti

	* src/vm/jit/mips/codegen.c (codegen): Use new dseg function names.
	(createnativestub): Likewise.
	* src/vm/jit/mips/emit.c (emit_iconst): Likewise.
	(emit_lconst): Likewise.
	(emit_exception_stubs): Likewise.
	(emit_patcher_stubs): Likewise.
	(emit_verbosecall_enter): Likewise.
	(emit_verbosecall_exit): Likewise.
	
	* src/vm/jit/mips/codegen.h (M_INTMOVE): Wrap into do-while.

2006-10-31 22:02  twisti

	* src/vm/jit/Makefile.am (DIST_SUBDIRS): Forgot to remove ifconv.

2006-10-31 22:01  twisti

	* src/vm/jit/ifconv: Removed.
	
	* src/vm/jit/optimizing/ifconv.c: Added.
	* src/vm/jit/optimizing/ifconv.h: Likewise.
	
	* src/vm/jit/optimizing/Makefile.am (IFCONV_SOURCES): Added.
	(liboptimizing_la_SOURCES): Added IFCONV_SOURCES.
	
	* src/vm/jit/jit.c (vm/jit/ifconv/ifconv.h): Changed to
	vm/jit/optimizing/ifconv.h.
	
	* src/vm/jit/Makefile.am (IFCONV_LIB): Removed.
	
	* configure.ac (AC_CONFIG_FILES): Removed src/vm/jit/ifconv/Makefile.

2006-10-31 21:57  ajordan

	* src/vm/jit/sparc64/asmpart.S: added exception handling code.
	* src/vm/jit/sparc64/md-asm.h: Likewise.
	
	* src/vm/jit/sparc64/*: implemented createnativestub, added functions
	for param allocation following the ABI.

2006-10-31 21:35  twisti

	* src/vm/jit/reorder.c: Removed.
	* src/vm/jit/reorder.h: Likewise.
	
	* src/vm/jit/optimizing/reorder.c: Added.
	* src/vm/jit/optimizing/reorder.h: Likewise.
	
	* src/vm/jit/optimizing/Makefile.am (REORDER_SOURCES): Added.
	(liboptimizing_la_SOURCES): Added REORDER_SOURCES.
	
	* src/vm/jit/jit.c (vm/jit/reorder.h): Changed to
	vm/jit/optimizing/reorder.h.
	
	* src/vm/jit/Makefile.am (libjit_la_SOURCES): Removed reorder.[ch].

2006-10-31 21:27  twisti

	* src/vm/jit/optimizing/Makefile.am (INCLUDES): Renamed to
	AM_CPPFLAGS.
	(LIBS): Added.

2006-10-31 20:26  twisti

	* src/vm/vm.c (vm/jit/profile/profile.h): Changed to
	vm/jit/optimizing/profile.h.
	(vm/jit/recompile.h) Changed to vm/jit/optimizing/recompile.h.

2006-10-31 20:11  twisti

	* src/vm/jit/optimizing/profile.c: Added.
	* src/vm/jit/optimizing/profile.h: Likewise.
	* src/vm/jit/optimizing/recompile.c: Likewise.
	* src/vm/jit/optimizing/recompile.h: Likewise.
	
	* src/vm/jit/optimizing/Makefile.am (INCLUDES): Added OS_DIR.
	(PROFILE_SOURCES): Added.
	(RECOMPILE_SOURCES): Added.
	(SSA_SOURCES): Added.
	
	* src/vm/jit/recompile.c: Removed.
	* src/vm/jit/recompile.h: Likewise.
	* src/vm/jit/profile: Likewise.
	
	* src/vm/jit/Makefile.am (SUBDIRS): Added optimizing.
	(PROFILE_LIB): Removed.
	(RECOMPILE_SOURCES): Likewise.
	
	* src/cacao/Makefile.am (GC_LIB): Removed.
	
	* src/mm/Makefile.am (DIST_DUBDIRS): Added boehm-gc.
	(GC_LIB): Added.
	
	* src/Makefile.am (DIST_SUBDIRS): Removed boehm-gc.
	(SUBDIRS): Likewise.
	(BOEHM): Removed.
	
	* src/threads/native/threads.c (boehm-gc/include/gc.h): Changed to
	mm/boehm-gc/include/gc.h.
	
	* src/cacaoh/Makefile.am (GC_LIB): Removed.
	
	* configure.ac (AC_CONFIG_FILES): Removed src/vm/jit/profile/Makefile.
	(AC_CONFIG_SUBDIRS): Changed src/boehm-gc to src/mm/boehm-gc.
	* autogen.sh: Changed path to boehm-gc.

2006-10-31 20:00  twisti

	* src/vm/exceptions.c (exceptions_handle_exception): Made identation
	correct.

2006-10-31 19:58  twisti

	* src/mm/boehm-gc/.cvsignore: Added some files.

2006-10-31 15:42  twisti

	* Moved boehm-gc from src/ to src/mm/.

2006-10-31 13:40  tbfg

	* src/vm/jit/powerpc64/codegen.c (codegen):
	Fixed parameter passing.
	Various fixes for many ICMD_*.
	
	* src/vm/jit/powerpc64/patcher.c (patcher_get_putfield):
	Fixed for longs.
	
	* src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method):
	Fixed methodheader, exception handling now works.
	
	* src/vm/exceptions.c (exceptions_handle_exception):
	Indenting.

2006-10-31 10:16  twisti

	* configure.ac (AC_INIT): Changed version to 0.97+svn.
	(OPT_CFLAGS): Changed to -O0.

2006-10-31 10:15  twisti

	* NEWS: Forgot to commit the date for 0.97, grrrr.

2006-10-31 00:07  twisti

	* ChangeLog: Updated for release 0.97.
2006-10-30 23:52  twisti

	* configure.ac (AC_INIT): Changed version to 0.97.
	(--enable-threads): Removed green from help string.

2006-10-30 13:03  twisti

	* src/vm/jit/show.c (show_method): Removed debug output.
	(SHOW_INT_CONST): Removed long cast and print hex value additionally.
	(SHOW_LNG_CONST): Removed long long cast and print hex value
	additionally. Also added version for SIZEOF_VOID_P == 4.
	(SHOW_ADR_CONST): Added.
	(SHOW_FLT_CONST): Print hex value additionally.
	(SHOW_DBL_CONST): Likewise. Also added version for SIZEOF_VOID_P == 4.
	(show_icmd): Smaller changes.

2006-10-30 12:27  twisti

	* src/threads/native/threads.h (MUTEXSIM): Removed.
	(pthread_mutex_rec_t): Likewise.
	(pthread_mutex_init_rec): Likewise.
	(pthread_mutex_destroy_rec): Likewise.
	(pthread_mutex_lock_rec): Likewise.
	(pthread_mutex_unlock_rec): Likewise.
	* src/threads/native/threads.c (pthread_mutex_init_rec): Removed.
	(pthread_mutex_destroy_rec): Likewise.
	(pthread_mutex_lock_rec): Likewise.
	(pthread_mutex_unlock_rec): Likewise.
	(compiler_lock): Use pthread functions.
	(compiler_unlock): Likewise.
	(threads_cast_darwinstop): Warning fixes and use vm_abort.
	(threads_cast_darwinresume): Use vm_abort.
	(threads_cast_stopworld): Warning fixes.
	(pthreads_preinit) [!MUTEXSIM]: Removed code.

2006-10-30 11:52  edwin

	* src/vm/jit/intrp/intrp.h (Cell): Moved the typedef upward, so we can
	use it in other headers.
	(global_sp): Does not need the complex casts anymore.
	
	* src/threads/native/threads.h (threadobject): Made _global_sp a
	Cell*.
	* src/threads/native/threads.c: Likewise.

2006-10-30 11:21  edwin

	* src/mm/memory.h (ALIGN): Renamed to MEMORY_ALIGN.
	* src/mm/memory.c: Likewise.
	* src/vm/jit/dseg.c: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/codegen-common.c: Likewise.
	* src/vm/linker.c: Likewise.
	* src/mm/nogc.c: Likewise.
	* src/cacaoh/headers.c: Likewise.

2006-10-30 11:04  edwin

	* src/threads/native/threads.c (threads_dump): Cast pthread_t to long
	for printing it.

2006-10-30 11:00  edwin

	* src/vm/jit/cfg.c (cfg_build): Removed set-but-not-used variable (m).
	* src/vm/jit/ifconv/ifconv.c (check): Likewise (cd).
	* src/vm/jit/stack.c (stack_reanalyse_block): Likewise (maythrow).
	(stack_analyse): Likewise (code, b_index).
	* src/vm/jit/show.c (show_basicblock): Likewise (m).
	* src/vm/jit/mips/emit.c (emit_copy): Likewise (rd).
	* src/vm/jit/parse.c (parse): Likewise (code).
	* src/vm/exceptions.c (exceptions_handle_exception): Likewise
	(framesize).

2006-10-30 10:32  edwin

	* src/vm/jit/verify/typecheck-common.c (typecheck_init_flags): Removed
	set-but-not-used variable `i`.

2006-10-30 10:31  edwin

	* src/vm/jit/verify/typecheck-builtins.inc: Removed set-but-not-used
	variable `cls`.

2006-10-30 10:15  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Zero `uf` to avoid warning.

2006-10-30 00:45  edwin

	* src/vm/builtin.c (builtin_print_argument): Made logtextlen an in/out
	argument. Correctly reallocate logtext, increase logtextlen.
	(builtin_trace_args): Pass &logtextlen to builtin_print_argument.
	(builtin_displaymethodstop): Likewise.

2006-10-29 23:43  edwin

	* src/vm/jit/jit.h (stackelement): Removed the obsolete fields
	`typeinfo` and `regoff`.

2006-10-29 23:37  edwin

	* src/vm/jit/stack.c (stack_grow_variable_array): Zero the additional
	space when reallocating the jd->var array.
	
	* src/vm/jit/parse.c (parse_realloc_instructions): Zero the
	additional space when reallocating the instructions array.

2006-10-29 23:33  edwin

	* src/vm/jit/parse.c (parse): Fix in ICMD_TABLESWITCH: Put table into
	dump memory.

2006-10-29 23:23  edwin

	* NEWS: Typo fixed.

2006-10-29 16:21  edwin

	* src/vm/suck.c (stdlib.h): Include to avoid warning about `free`.

2006-10-29 16:14  edwin

	* src/vm/suck.c (suck_add_from_property): Use `free` to free memory
	coming out of the C library - it has not been allocated with M?NEW,
	so M?FREE is wrong here.

2006-10-29 14:49  twisti

	* src/vm/builtin.c (builtin_print_argument): Print float/double values
	with %g and addresses as hex.
	(builtin_trace_args): Fixed message length calclation.
	(builtin_displaymethodstop): Fixed bug: we only passed the long value.

2006-10-29 11:15  edwin

	* src/cacaoh/headers.c (vm_abort): Print the error message before
	aborting.

2006-10-28 19:40  twisti

	* NEWS: New news.

2006-10-28 19:26  twisti

	* src/vm/jit/dseg.c (dseg_find_float): Compare hex value.
	(dseg_find_double): Likewise.

2006-10-28 17:45  twisti

	* NEWS: Added some stuff.

2006-10-28 17:15  edwin

	* NEWS: Added news for CACAO 0.97.

2006-10-28 16:55  edwin

	* src/vm/jit/jit.c (stackreq): Fixed for DUP/SWAP instructions. The
	numbers for DUP2_X1 and DUP2_X2 were also wrong before the new IR
	had been introduced. The new IR in addition needs extra temps in some
	cases, thus the numbers before the 'plus' operators.

2006-10-28 16:51  edwin

	* src/vm/jit/stack.c (stack_analyse): Store vartop in jitdata.
	
	* src/vm/jit/show.c (show_method): Show number of variables.
	
	* tests/regression/jasmin/test_many_dup2_x2.j: New test.
	* tests/regression/jasmin/test_many_dup.j: Likewise.
	* tests/regression/jasmin/test_many_dup_x2.j: Likewise.
	* tests/regression/jasmin/test_many_swap.j: Likewise.
	* tests/regression/jasmin/test_many_dup2.j: Likewise.
	* tests/regression/jasmin/test_many_dup2_x1.j: Likewise.
	* tests/regression/jasmin/test_many_dup_x1.j: Likewise.
	
	* tests/regression/jasmin/Makefile.am: Added new tests.

2006-10-28 15:21  edwin

	* src/vm/jit/stack.c (stackdata_t): Added field varsallocated.
	(stack_grow_variable_array): Smarted memory allocation.
	(stack_analyse): Initialize sd.varsallocated.

2006-10-28 13:02  edwin

	* src/vm/access.c (ACCESS_ASSERT): Replaced with assert. Because of
	a mistake in the definition of ACCESS_DEBUG, ACCESS_ASSERT always
	was a NOP!
	(access_is_accessible_member): Fixed assertion.

2006-10-28 12:53  edwin

	* src/vm/loader.c (LOADER_ASSERT): Replaced with assert.

2006-10-28 12:49  edwin

	* src/vm/class.c (CLASS_ASSERT): Replaced by assert.

2006-10-28 12:47  edwin

	* src/vm/class.c (class_array_of): Release dump memory.
	(class_multiarray_of): Likewise.
	(class_get_classref_multiarray_of): Likewise.

2006-10-27 10:41  twisti

	* src/vm/vm.c: Renamed -Xglibj to -Xbootclasspath/c to match jamvm's
	option (Robert, Mark and I decided that once).
	(vm_create): Removed unnecessary k. #ifdef'd the profiling stuff.
	(vm_run): Removed commented code.
	* src/vm/options.c, src/vm/options.h [ENABLE_PROFILING] (opt_prof)
	(opt_prof_bb): Added.
	* src/vm/jit/jit.c (jit_compile) [ENABLE_PROFILING]: Added for
	opt_prof stuff.
	[ENABLE_VERIFIER]: Added for flag setting.
	* src/vm/jit/codegen-common.c (codegen_createnativestub)
	[ENABLE_PROFILING]: Added for opt_prof stuff.

2006-10-26 16:41  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Declare variables at the start
	of codegen (uf, fi).

2006-10-26 12:05  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Made fieldinfo and
	unresolved_field fucntion variables, fieldtype was uninitialized for
	PUTFIELD.

2006-10-26 11:57  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Made fieldinfo and
	unresolved_field function variables (it makes the code more readable).

2006-10-26 11:47  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Fixed ICMD_PUTFIELD: Set
	fieldtype before it is used. Fixed warnings.
	
	* src/vm/jit/mips/codegen.c (codegen): Prevent warnings.

2006-10-26 11:35  twisti

	* NEWS: Added some 0.97 news.

2006-10-26 11:30  twisti

	* src/vm/exceptions.c (exceptions_print_exception): Removed [!NDEBUG]
	condition, as we may need this function in the VM (e.g. recompile).
	* src/vm/jit/recompile.c (vm/exceptions.h): Added.
	(recompile_thread): Call exceptions_print_exception in exception case.

2006-10-26 11:29  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Initialize uf to NULL for
	resolved fields, to avoid warnings.
	
	* src/vm/jit/intrp/engine.c (engine): Initialize
	classcastexception_object and arrayindexoutofbounds_index to avoid
	warnings.

2006-10-26 11:23  edwin

	* src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Read inline
	info from instruction, ported to new instruction format.
	(dseg_addlinenumber_inline_end): Likewise.

2006-10-26 11:19  edwin

	* src/vm/jit/show.c (show_icmd): Fixed warning fix.

2006-10-26 11:18  edwin

	* src/threads/native/threads.c (threads_table_dump): Fix warning (the
	function is currently unused, but may become handy again.)

2006-10-26 11:15  edwin

	* src/vm/jit/show.c (show_method): Fixed warning.
	(show_basicblock): Likewise.
	(show_icmd): Likewise.

2006-10-26 11:04  twisti

	* src/vm/jit/x86_64/md.h: Removed.
	* src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Removed md.h.
	* src/vm/jit/x86_64/codegen.c (md.h): Removed.
	(codegen): Warning fix.

2006-10-26 10:34  twisti

	* src/vm/jit/mips/md-abi.h: Fixed MIPS64 compilation and backported
	some MIPS32 stuff.

2006-10-26 10:09  twisti

	* src/vm/descriptor.h (paramdesc): We need a type for MIPS32, as the
	type in the allocated argument register may be different to the actual
	register (e.g. passing a float in an integer register).

2006-10-26 09:55  twisti

	* src/vm/jit/mips/codegen.c (codegen): More comment and brace changes.

2006-10-26 09:44  twisti

	* src/vm/jit/mips/codegen.c (codegen): Comment and brace changes.

2006-10-26 09:29  twisti

	* src/vm/jit/mips/md-asm.h: Renamed t8 to t4 and removed t9, as it's
	actually itmp3.
	* src/vm/jit/mips/asmpart.S: Likewise.

2006-10-25 14:26  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.c (_ALIGN): Renamed to
	CACAO_ALIGN because of name clash with /usr/include/asm-ppc64/page.h.
	
	* src/vm/jit/powerpc64/emit.c (emit_lconst): Added.
	(emit_iconst): Reformatted.
	
	* src/vm/jit/powerpc64/codegen.c (codegen):
	Replaced all stackframesize with cd->stackframesize.
	Implemented ICMD_IF_LLT, ICMD_IF_LLE, ICMD_IF_LGE, ICMD_IF_LGT.
	
	* src/vm/jit/powerpc64/asmpart.S:
	Partially fixed exception path.
	(asm_cacheflush): Fixed.
	
	* src/vm/jit/powerpc64/codegen.h (LCONST): Implemented.
	
	* tests/if_tests.java: Added simple testcase for if and compare.

2006-10-24 23:24  edwin

	* src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): Modified to
	completely emulate the behaviour of the RI in case of truncated UTF-8
	characters. This requires an extra strlen(text) beforehand. We still
	require zero-termination. We could drop that with a few extra changes,
	should we find other uses for these functions.
	(utf8_safe_convert_to_u2s): Likewise.
	
	* src/vm/string.c (javastring_safe_new_from_utf8): Pass number of
	bytes to the decoding functions.

2006-10-24 17:51  edwin

	* src/vm/utf8.c (utf8_safe_number_of_u2s): Skip only bytes beginning
	with high bits 10 in invalid sequences.
	(utf8_safe_convert_to_u2s): Likewise.

2006-10-24 16:41  edwin

	* src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): New
	function.
	(utf8_safe_convert_to_u2s): Likewise.
	
	* src/vm/stringlocal.h, src/vm/string.c
	(javastring_safe_new_from_utf8): New function.
	
	* src/native/jni.c (_Jv_JNI_NewStringUTF): Use the new functions for
	safe UTF-8 decoding.

2006-10-24 11:17  twisti

	* src/vm/jit/dseg.c (dseg_display): Rewritten.

2006-10-22 04:28  ajordan

	* src/vm/jit/sparc64/codegen.h: fixed M_SAVE.
	
	* src/vm/jit/sparc64/disass.c: configuring disass for big-endian.

2006-10-22 02:49  ajordan

	* src/vm/jit/sparc64/emit.c: Implemented trace enter/exit functions.
	* src/vm/jit/sparc64/codegen.c: Likewise.
	
	* src/vm/jit/sparc64/md.c: Implemented md_get_method_patch_address.
	
	* src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed window
	handling
	
	* src/vm/jit/sparc64/disass.c: Fixed disassembly printing.
	
	* src/vm/jit/sparc64/md-abi.h: Minor changes/fixes.
	* src/vm/jit/sparc64/codegen.h: Likewise.
	* src/vm/jit/sparc64/md-asm.h: Likewise.

2006-10-22 00:38  edwin

	* src/vm/jit/jit.c (jit_asm_compile): Fixed xpc for extern
	stackframeinfo by subtracting 1 from the return address.
	This fixes stacktraces when exceptions are thrown out of
	the compiler.
	
	* tests/regression/extest.2output: Changed line numbers to
	the values same the RI returns, which are correct upon inspection
	of the Java code.

2006-10-21 15:06  edwin

	* src/vm/jit/parse.c (parse): Bugfix for -noverify: Do not make the
	variable array dependant on jd->flags, as this breaks stack_analyse.

2006-10-20 18:35  twisti

	* src/vm/jit/mips/codegen.c (md.h): Removed.
	* src/vm/jit/mips/md.h: Removed.
	* src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Removed md.h.

2006-10-20 14:53  twisti

	* src/vm/jit/jit.c (jit_init) [ENABLE_JIT]: Call stack_init only for
	JIT.
	[ENABLE_JIT] (jit_asm_compile): Only for JIT.
	
	* src/vm/jit/Makefile.am (SUBDIRS) [ENABLE_JIT]: Add allocator only
	for JIT.
	(libjit_la_SOURCES) [ENABLE_JIT]: Compile reg.[ch], replace.[ch] and
	stack.[ch] only for JIT.
	
	* src/cacaoh/headers.c [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
	Added.

2006-10-20 14:26  twisti

	* src/vm/linker.c (link_class_intern): Handle AbstractMethodError for
	interpreter (missed this one in the last commit).

2006-10-20 14:22  twisti

	* src/vm/jit/intrp/asmpart.c (intrp_asm_abstractmethoderror): Added.
	* src/vm/jit/asmpart.h [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
	Likewise.
	* src/vm/linker.c (linker_addinterface): Handle AbstractMethodError
	for interpreter.

2006-10-20 13:58  twisti

	* src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Removed
	unused ld_library_path.

2006-10-20 13:54  twisti

	* src/vm/suck.c (vm/vm.h): Added.
	(bootclasspath, classpath): Removed.
	(suck_add_from_property): Prefix bootclasspath with _Jv_.
	* src/vm/suck.h (bootclasspath, classpath): Removed.
	
	* src/vm/vm.c (_Jv_bootclasspath, _Jv_classpath)
	(_Jv_java_library_path): Added.
	(version): Prefix bootclasspath with _Jv_.
	(vm_create): Likewise, set _Jv_java_library_path to LD_LIBRARY_PATH
	before handling commandline options.
	* src/vm/vm.h (_Jv_bootclasspath, _Jv_classpath)
	(_Jv_java_library_path): Added.
	
	* src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Prefix
	bootclasspath and classpath with _Jv_, use _Jv_java_library_path for
	setting java.library.path.
	
	* src/cacao/cacao.c (main): First let dlopen try to open libjvm at
	it's default locations.
	* src/native/native.c (native_init): Likewise.
	
	* src/cacaoh/headers.c (_Jv_bootclasspath): Added.
	
	* contrib/setenvinstalled.in: Set LD_LIBRARY_PATH again.
	* contrib/setenvsource.in: Likewise.
	
	* tests/regression/native/Makefile.am (JAVAFLAGS): Removed
	-Djava.library.path=.
	(check): Set LD_LIBRARY_PATH.
	* tests/regression/codepatching/Makefile.am (check): Likewise.
	* tests/regression/Makefile.am: Likewise.

2006-10-20 13:09  twisti

	* src/vm/signal.c (signal_init): Added dummy allocation to install
	Boehm's signal handlers.
	* src/threads/native/threads.c (threads_preinit): Removed dummy
	allocation.
	
	* src/vm/vm.c (vm_create): Call threads_preinit before gc_init.
	* src/cacaoh/cacaoh.c (main): Likewise.

2006-10-20 12:00  twisti

	* src/vm/exceptions.c [ENABLE_JIT] (exceptions_handle_exception): Only
	required for JIT.

2006-10-20 00:37  ajordan

	* src/mm/memory.c: fixed typo in _no_threads_dumpinfo definition

2006-10-19 10:10  twisti

	* src/threads/native/threads.c (threads_interrupt_thread): Renamed to
	threads_thread_interrupt, send thread a SIGHUP singal to interrupt
	blocking system calls (thanks to Robert Schuster).
	(threads_dump): Removed threads_sleep call.
	
	* src/threads/native/threads.h (threads_interrupt_thread): Renamed to
	threads_thread_interrupt.
	* src/native/vm/java_lang_VMThread.c (interrupt): Likewise.
	* src/native/jvmti/jvmti.c (InterruptThread): Likewise.
	
	* src/vm/signal.c (signal_init): Register SIGHUP.
	(signal_handler_sighup): Added.

2006-10-19 09:32  twisti

	* src/vm/jit/stacktrace.c (stacktrace_dump_trace): Changed signature.
	* src/vm/jit/stacktrace.h: Likewise.
	
	* src/vm/jit/codegen-common.c (codegen_get_pv_from_pc): Pass
	threadobject to stacktrace_dump_trace.
	
	* src/vm/signal.c (signal_init): Don't register SIGUSR1.
	(signal_handler_sigusr1): Removed.
	
	* src/native/jni.h: Include GNU Classpath JNI header before we define
	our header.
	(localref_table): Forward typedef.
	
	* src/threads/native/threads.c (threads_dump): Pass threadobject to
	stacktrace_dump_trace.
	
	* src/cacaoh/headers.c (stacktrace_dump_trace): Added.

2006-10-19 09:27  twisti

	* src/threads/native/threads.h (threadobject, threads_table_entry_t)
	(threads_table_t): Forward typedef.
	(threadobject): Changed dumpinfo to dumpinfo_t.

2006-10-19 09:25  twisti

	* src/mm/memory.h (dumpblock): Postfixed with _t and moved before
	internal includes, as we have some problems with threadobject.
	(dumpinfo): Likewise.
	* src/mm/memory.c: Postfixed dumpblock and dumpinfo with _t.

2006-10-19 09:23  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Warning fixes.

2006-10-18 16:55  edwin

	* src/vm/jit/codegen-common.c (codegen_createnativestub): Initialize
	jd->flags to zero.

2006-10-18 16:27  edwin

	* tests/regression/jasmin/runtest: Removed debugging `tee TEST`.
	* tests/regression/jasmin/Makefile.am (CLEANFILES): Added file
	TESTSIA.

2006-10-18 16:19  edwin

	* tests/regression/jasmin/Makefile.am (SOURCE_FILES): Use EXTRA_DIST,
	instead.

2006-10-18 15:57  edwin

	* src/vm/jit/i386/linux/Makefile.am (noinst_HEADERS): Added md-asm.h.
	* src/vm/jit/i386/freebsd/Makefile.am (noinst_HEADERS): Likewise.

2006-10-18 15:27  twisti

	* src/vm/jit/Makefile.am (DIST_SUBDIRS): Added powerpc64.

2006-10-18 15:19  twisti

	* src/vm/jit/Makefile.am (DIST_SUBDIRS): Added optimizing.

2006-10-18 15:14  twisti

	* src/vm/jit/sparc64/Makefile.am (libarch_la_SOURCES): Removed md.h.

2006-10-18 15:09  twisti

	* src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Renamed md-emit.h
	to emit.h.

2006-10-18 15:04  twisti

	* configure.ac (AC_INIT): Changed to version 0.97rc.
	(CFLAGS): Changed to -O2.

2006-10-18 14:53  edwin

	* tests/regression/jasmin/Makefile.am: Temporarily disable failing
	tests for the release.
	* src/vm/jit/stack.c (stack_analyse): Check field type when creating
	a PUTFIELDCONST/PUTSTATICCONST instruction.

2006-10-16 09:59  edwin

	* src/vm/jit/parse.c (parse_resolve_exception_table): Do not use
	codegendata.
	(parse): Likewise.
	
	* src/vm/jit/stack.c (stack_analyse): Likewise.

2006-10-16 09:02  twisti

	* src/vm/jit/allocator/simplereg.c [ENABLE_STATISTICS]
	(simplereg_make_statistics): Don't print this INREGISTER stuff.

2006-10-16 08:53  twisti

	* src/vm/jit/jit.c (jit_compile_intern) [ENABLE_STATISTICS]:
	exceptiontablelength is now in jitdata.

2006-10-16 00:05  ajordan

	* src/vm/jit/sparc64/codegen.c: Ported to unified variables.
	* src/vm/jit/sparc64/emit.c: Likewise.
	
	* src/vm/jit/sparc64/md.c: Implemented md_codegen_get_pv_from_pc.
	
	* src/vm/jit/sparc64/codegen.h: Some fixes.
	* src/vm/jit/sparc64/asmpart.S: Likewise.

2006-10-15 22:44  edwin

	* src/vm/linker.c (link_class_intern): Removed unused variable.

2006-10-15 22:25  edwin

	* src/vm/jit/jit.h (exception_entry): New struct.
	(jitdata): Added exceptiontable fields. Cleaned up.
	
	* src/vm/exceptions.h (exceptionentry): Removed.
	
	* src/vm/jit/dseg.h (dseg_exception_entry): New struct.
	
	* src/vm/jit/stack.h (BLOCK_OF): Moved to parse.h.
	* src/vm/jit/parse.h (BLOCK_OF): Added.
	
	* src/vm/jit/codegen-common.h (codegendata): Removed exceptiontable
	and exceptiontablelength.
	
	* src/vm/loader.c (load_method): Renamed m->exceptiontable* to
	m->rawexceptiontable*.
	(load_class_from_classbuffer): Likewise.
	* src/vm/method.c (method_free): Likewise.
	
	* src/vm/method.h (methodinfo): Renamed m->exceptiontable* to
	m->rawexceptiontable*.
	(exceptiontable): Renamed to raw_exception_entry. Removed fields that
	are only used in jd->exceptiontable.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Moved exceptiontable to jd,
	renamed struct exceptiontable to exception_entry.
	* src/vm/jit/sparc64/codegen.c (codegen): Likewise.
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	* src/vm/jit/stack.c (stackdata_t): Likewise.
	(stack_analyse): Likewise.
	(stack_reanalyse_block): Likewise.
	* src/vm/jit/optimizing/graph.c (graph_add_exceptions): Likewise.
	* src/vm/jit/show.c (show_method): Likewise.
	* src/vm/jit/verify/typecheck-common.h (verifier_state): Likewise.
	* src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
	* src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
	Likewise.
	* src/vm/jit/mips/codegen.c (codegen):
	* src/vm/jit/loop/loop.h (LoopContainer): Likewise.
	* src/vm/jit/loop/analyze.c (analyze_nested): Likewise.
	(analyze_or_exceptions): Likewise.
	(update_internal_exceptions): Likewise.
	(create_static_checks): Likewise.
	(optimize_loops): Likewise.
	* src/vm/jit/inline/inline.c (test_inlining): Likewise.
	* src/vm/jit/allocator/lsra.c (lsra_add_exceptions): Likewise.
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
	* src/vm/jit/intrp/codegen.c (codegen): Likewise.
	* src/vm/jit/schedule/schedule.h (M_SCHEDULE_SET_EXCEPTION_POINT):
	Likewise.
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.
	* src/vm/jit/jit.c (jit_compile_intern): Likewise.
	(jit_jitdata_new): Initialize exceptiontable fields.
	
	* src/vm/jit/codegen-common.c (codegen_setup): Removed exceptiontable
	fields.
	
	* src/vm/jit/parse.c (parse_mark_exception_boundaries): New function.
	(parse_resolve_exception_table): New function.
	(fillextable): Removed.
	(parse): Use parse_mark_exception_boundaries and
	parse_resolve_exception_table. Write the basicblockindex for the end
	marker block.
	
	* src/vm/jit/intrp/asmpart.c (exceptionentry): Renamed to
	dseg_exception_entry.
	* src/vm/exceptions.c (exceptions_handle_exception): Likewise.
	
	* src/vm/linker.c (link_class_intern): Do not resolve exception
	classes here. This is now done in parse.c.

2006-10-15 13:52  edwin

	* src/vm/jit/jit.h: Indentation cleanup.

2006-10-15 13:37  edwin

	* src/vm/jit/jit.h (flags_operand_t): Removed `fields` struct. It was
	not safe to use, as defined.

2006-10-15 13:19  edwin

	* src/vm/jit/jit.h (flags_operand_t): Removed unused argcount.
	(ACONST_LOAD): Removed.
	(ACONST_BUILTIN): Removed.

2006-10-15 12:59  edwin

	* src/vm/method.h (methodinfo): Removed c_block_nr.
	* src/vm/jit/jit.h (jitdata): Removed c_block_nr.
	(BASICBLOCK_INIT): Do not set bptr->nr here.
	
	* src/vm/jit/jit.c (jit_compile_intern): Renumber basic blocks after
	transformations.
	(jit_check_basicblock_numbers): Made stricter.
	
	* src/vm/jit/stack.c (stack_append_block): Set basic block numbers
	correctly.
	(stack_clone_block): Do not set bptr->nr here.
	
	* src/vm/jit/verify/typecheck.c (typestate_reach): Use the correct
	check for setting the repeat flag.
	(typecheck): Check basic block numbers.
	
	* src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
	Check basic block numbers.
	
	* src/vm/jit/loop/analyze.c (copy_handler): Do not use c_block_nr.
	(create_static_checks): Likewise.
	* src/vm/jit/inline/inline.c (create_block): Likewise.
	* src/vm/jit/parse.c (parse): Likewise.

2006-10-15 12:20  edwin

	* src/vm/jit/jit.c (jit_renumber_basicblocks): New function.
	(jit_check_basicblock_numbers): Likewise.
	(jit_init): Removed obsolete variable `i`.
	
	* src/vm/jit/jit.h (jit_renumber_basicblocks): New function.
	(jit_check_basicblock_numbers): Likewise.

2006-10-14 19:12  twisti

	* src/native/jni.c (_Jv_JNI_DetachCurrentThread): Made
	--disable-threads-safe.

2006-10-13 18:29  edwin

	* tests/regression/jasmin/Makefile.am: Added new tests.

2006-10-13 18:25  edwin

	* src/vm/jit/verify/icmds.c: Check basic types of instance for field
	access.
	* src/vm/jit/verify/typecheck-fields.inc: Check basic type of value.
	
	* src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
	
	* src/vm/jit/verify/typecheck.c (verify_fieldaccess): Define
	VERIFY_ERROR for the include file.
	
	* src/vm/jit/verify/typecheck-stackbased.c (VERIFY_ERROR): Fixed
	macro.
	
	*
	tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_instance.j,
	tests/regression/jasmin/test_verify_fail_getfield_basic_type_instance.j,
	tests/regression/jasmin/test_verify_fail_putfield_basic_type_value.j,
	tests/regression/jasmin/test_verify_fail_putstatic_basic_type_value.j,
	tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_value.j,
	tests/regression/jasmin/test_verify_fail_getfield_basic_type_value.j,
	tests/regression/jasmin/test_verify_fail_putfield_basic_type_instance.j,
	tests/regression/jasmin/test_verify_fail_putfield_basic_type_lookup.j,
	tests/regression/jasmin/test_verify_fail_getfield_basic_type_lookup.j,
	tests/regression/jasmin/test_verify_fail_putstaticconst_basic_type_value.j:
	New tests.
	
	* tests/regression/jasmin/runtest: Look for specified ICMDs in -sia
	output.

2006-10-13 17:06  tbfg

	* src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
	comments.
	
	* src/vm/jit/powerpc64/codegen.c: Added credits.
	
	* src/vm/jit/powerpc64/asmpart.S (asm_handle_nat_exception): Fixed
	exception handling code. Added credits.

2006-10-13 16:30  edwin

	* src/vm/jit/verify/typecheck-fields.inc: Re-activate stack overflow
	checking.
	
	* src/vm/jit/verify/typecheck-common.h (verifier_state): Added field
	`stackceiling`.
	
	* src/vm/jit/verify/typecheck-stackbased.c (CHECK_STACK_DEPTH):
	Cleaned up.
	(CHECK_STACK_SPACE): Cleaned up.
	(typecheck_stackbased_verify_fieldaccess): Check for stack overflow.
	(typecheck_stackbased): Moved stackceiling into state.

2006-10-13 16:06  edwin

	* src/vm/jit/codegen-common.c (codegen_reg_of_var): Removed `inline`
	declaration. The crappy IRIX compiler does not create a global symbol
	otherwise.

2006-10-13 14:34  edwin

	* src/vm/jit/verify/typecheck.c (verify_basic_block): Use generated
	code.
	
	* src/vm/jit/verify/typecheck-stackbased-gen.inc: New file, GENERATED!
	* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
	
	* src/vm/jit/verify/typecheck.h (typecheck_stackbased): Added.
	
	* src/vm/jit/verify/Makefile.am: Added source files for both generated
	verifiers.
	
	* src/vm/jit/jit.c (jit_compile_intern): Call the stack-based verifier
	for the interpreter.
	
	* src/vm/vm.c (vm_create): Re-enable verification fot the interpreter.

2006-10-13 14:22  edwin

	* src/vm/jit/verify/generate.pl: Clearly mark generated code.

2006-10-13 14:00  edwin

	* src/vm/jit/icmdtable.inc: Documented prettily.

2006-10-13 13:11  edwin

	* src/vm/jit/jit.h (op_data): Removed.
	(stackreq): Moved to a more logical place.
	
	* src/vm/jit/jit.c (op_data): Removed.
	(jit_init): Removed code initializing op_data.
	
	* src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Use
	icmd_table.
	* src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.

2006-10-13 12:49  edwin

	* src/vm/jit/jit.h (icmd_table): Added.
	(icmd_names): Removed.
	
	* src/vm/jit/jit.c (icmd_table): Added.
	(icmd_names): Removed.
	
	* src/vm/jit/show.c (show_icmd): Use icmd_table.
	* src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.

2006-10-13 12:47  edwin

	* src/vm/resolve.c: Removed obsolete debug prints.

2006-10-13 11:57  edwin

	* src/vm/jit/jit.h: Added DF_ constants for ICMD table.
	Added CF_ constants.
	Added ICMDTABLE_ constants.
	(icmdtable_entry_t): New struct.

2006-10-13 11:28  edwin

	* src/vm/jit/icmdtable.inc: New file. Not used, yet.
	* src/vm/jit/Makefile.am: Added new file.

2006-10-13 11:27  edwin

	* src/vm/jit/verify/generate.pl: Omit comma at end of ICMD table.

2006-10-13 11:11  edwin

	* src/vm/jit/verify/typecheck-stackbased.c: New file. Not used, yet.
	* src/vm/jit/verify/icmds.c: New file.
	* src/vm/jit/verify/generate.pl: New file.
	
	* src/vm/jit/verify/typecheck-invoke.inc: Added copyright notice.
	* src/vm/jit/verify/typecheck-fields.inc: Likewise.
	* src/vm/jit/verify/typecheck-builtins.inc: Likewise.
	* src/vm/jit/verify/typecheck-common.c: Likewise.
	* src/vm/jit/verify/typecheck-common.h: Likewise.

2006-10-13 10:36  edwin

	* src/vm/jit/verify/typeinfo.c (typevector_store): Remove obsolete
	assertion.

2006-10-13 10:33  edwin

	* src/vm/jit/stack.c (stack_analyse): Set iptr->dst for CHECKNULL.

2006-10-13 00:47  edwin

	* src/vm/builtin.c (builtin_isanysubclass): Bugfix for the case that
	`sub` is an interface and `super` is a class. The function returned
	random values in this case, since it used the <= 0 base value of the
	interface class to perform the subclass check. The only case in which
	an interface can be a subclass of a non-interface `super` is when
	`super` is java.lang.Object, so we check explicitly for this case.
	This fixes a bug with BeanShell-2.0b4.
	
	(builtin_isanysubclass_vftbl): Likewise.

2006-10-12 23:34  edwin

	* src/vm/jit/stack.c (stack_check_invars): Bugfix: Only set flags to
	BBTYPECHECK_REACHED if the block has already been analysed.
	
	(stack_check_invars_from_outvars): Likewise.

2006-10-12 20:06  twisti

	* src/vm/jit/cfg.c (cfg_build): Check for EXH basic blocks in
	fall-through case.

2006-10-12 15:59  edwin

	* tests/regression/jasmin/runtest: Added timeout capability.

2006-10-12 15:22  edwin

	* src/vm/jit/verify/typecheck-common.h (typecheck_print_statistics):
	Added prototype.
	(typecheck_jsr_t): New struct.
	(typecheck_jsr_caller_t): Likewise.
	(verifier_state): Added fields for stackbased verifier.

2006-10-12 15:07  edwin

	* src/vm/jit/verify/typecheck-common.c: Made debugging and statistics
	symbols global.
	* src/vm/jit/verify/typecheck-common.h: Likewise.

2006-10-12 14:52  edwin

	* src/vm/jit/verify/typecheck-invoke.inc: Added code variants for the
	stackbased verifier. Not used, yet.
	* src/vm/jit/verify/typecheck-builtins.inc: Likewise.

2006-10-12 14:42  edwin

	* src/vm/jit/verify/typecheck-common.c: Include headers.
	* src/vm/jit/verify/typecheck-common.h: Cleanup.

2006-10-12 14:39  edwin

	* src/vm/jit/verify/typecheck.c (ISBUILTIN): Removed.
	* src/vm/jit/verify/typecheck-builtins.inc (ISBUILTIN): Added.

2006-10-12 14:38  tbfg

	* src/vm/jit/powerpc64/codegen.c (codegen): Adopt locals
	and regoff changes.

2006-10-12 14:18  edwin

	* src/vm/jit/verify/typecheck.c (verify_invocation): Prepared for
	addeding the stackbased verifier. No functional change, yet.
	(verify_builtin): Likewise.

2006-10-12 14:12  edwin

	* src/vm/jit/verify/typecheck-common.c,
	src/vm/jit/verify/typecheck-common.h (typecheck_init_flags): Added
	minflags argument.
	
	* src/vm/jit/verify/typecheck.c (typecheck): Call typecheck_init_flags
	with minflags set to BBFINISHED.

2006-10-12 14:02  edwin

	* src/vm/jit/verify/typecheck.c (verify_fieldaccess): New function.
	(verify_basic_block): Moved field verification into a separate
	function.
	
	* src/vm/jit/verify/typecheck-fields.inc: Removed opcode-dependant
	stuff. Some code for the stackbased verifier is checked in, but not
	used, yet.

2006-10-12 13:13  twisti

	* src/vm/jit/mips/linux/md-os.c (thread_restartcriticalsection): Added
	uClibc support.

2006-10-12 12:44  twisti

	* src/vm/jit/mips/linux/md-os.c (md_signal_handler_sigsegv): Added
	uClibc support.

2006-10-12 10:10  edwin

	* src/vm/jit/verify/typecheck.c: Moved <assert.h> include to the right
	place. Moved some code to typecheck-common.[ch].
	
	* src/vm/jit/verify/typecheck-common.c: New file.
	* src/vm/jit/verify/typecheck-common.h: New file.
	
	* src/vm/jit/verify/Makefile.am: Added new source files.

2006-10-11 23:52  edwin

	* src/vm/jit/verify/typecheck-builtins.inc: Removed redundant
	`return true`. Moved declaration of `av`.

2006-10-11 23:44  edwin

	* src/vm/jit/verify/typecheck-invoke.inc: Use invokestatic where
	possible. Added a comment.

2006-10-11 23:41  edwin

	* src/vm/jit/verify/typecheck-invoke.inc: Indent log messages to make
	them more readable.

2006-10-11 23:37  edwin

	* src/vm/jit/verify/typecheck.c (verify_invocation): Define jd and dv
	before including the function body.
	
	* src/vm/jit/verify/typecheck-invoke.inc: Removed definitions of jd
	and dv. Small cleanup.

2006-10-11 23:22  edwin

	* src/vm/jit/verify/typecheck.c (verify_builtin): Define jd and dv
	before including the function body.
	
	* src/vm/jit/verify/typecheck-builtins.inc: Removed definitions
	of jd and dv.

2006-10-11 23:00  edwin

	* src/vm/jit/verify/typecheck.c (verify_invocation): Moved body to a
	separate file in order to prepare comitting the stackbased verifier.
	(verify_builtin): Likewise.
	(verify_generic_builtin): Likewise, no integrated in verify_builtin.
	(verify_basic_block): Moved field instruction verification to a
	separate file.
	
	* src/vm/jit/verify/typecheck-invoke.inc: New file.
	* src/vm/jit/verify/typecheck-fields.inc: New file.
	* src/vm/jit/verify/typecheck-builtins.inc: New file.
	
	* src/vm/jit/verify/Makefile.am: Added new source files.

2006-10-11 19:43  edwin

	* src/cacaoh/headers.c (typeinfo_print_short): Stub added.

2006-10-11 19:42  edwin

	* src/vm/jit/verify/typeinfo.c (typeinfo_init_component): Fixed for
	the case that srcarray == dst. (The mergedlist was overwritten with
	NULL in this case.)

2006-10-11 19:40  edwin

	* src/vm/resolve.c, src/vm/resolve.h
	(resolve_method_param_type_checks_stackbased): New function.
	(resolve_constrain_unresolved_method_params_stackbased): Likewise.

2006-10-11 16:31  edwin

	*
	tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype_unresolved.j:
	New test.
	
	* tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype.j:
	New test.
	
	* tests/regression/jasmin/Makefile.am: Added new tests.

2006-10-11 16:21  edwin

	* tests/regression/jasmin/test_verify_fail_areturn_wrong_reftype.j:
	New test.
	
	* tests/regression/jasmin/test_verify_fail_invoke_return_basic_type.j:
	New test.
	
	* tests/regression/jasmin/test_verify_fail_ireturn_wrong_type.j: New
	test.
	
	* tests/regression/jasmin/Makefile.am: Added new tests.

2006-10-11 10:17  edwin

	* tests/regression/jasmin/test_verify_fail_handler_bad_local.j: new
	test.
	
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-10-10 21:16  edwin

	* tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
	Added expected error.
	
	* tests/regression/jasmin/test_verify_fail_jsr_recursion.j: Likewise.
	
	* tests/regression/jasmin/test_verify_ok_jsr_improper_nesting.j: New
	test.
	
	* tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j: New
	test.
	
	* tests/regression/jasmin/Makefile.am: Added new tests.

2006-10-10 20:45  edwin

	*
	tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
	New test.
	
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-10-10 20:31  edwin

	* tests/regression/jasmin/test_verify_fail_jsr_recursion.j: New test.
	
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-10-10 00:29  edwin

	* src/vm/resolve.c, src/vm/resolve.h (constrain_unresolved_method):
	Split into two new functions.
	
	(resolve_constrain_unresolved_method_instance): New function.
	(resolve_constrain_unresolved_method_params): Likewise.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Use new
	functions.

2006-10-09 23:53  edwin

	* src/vm/resolve.c (resolve_method_type_checks): Split up into
	two new functions.
	
	(resolve_method_instance_type_checks): New function.
	
	(resolve_method_param_type_checks): New function.
	
	* src/vm/resolve.h (resolve_method_type_checks): Removed.
	(resolve_method_instance_type_checks): New function.
	(resolve_method_param_type_checks): New function.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Call
	resolve_method_instance_type_checks and
	resolve_method_param_type_checks.

2006-10-09 23:21  edwin

	* src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
	variable. Removed unclear assertion.

2006-10-09 23:17  edwin

	* src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
	arguments.
	
	(resolve_method): Changed arguments to resolve_method_verifier_checks.
	
	* src/vm/resolve.h (resolve_method_verifier_checks): Removed unused
	arguments.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Changed
	arguments to resolve_method_verifier_checks.

2006-10-09 23:06  edwin

	* src/vm/resolve.c (resolve_method_verifier_checks): Factored out
	parameter type checks into a separate function.
	
	(resolve_method_type_checks): New function.
	
	* src/vm/resolve.h (resolve_method_type_checks): New function.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Call
	resolve_method_type_checks.

2006-10-09 22:19  edwin

	* src/vm/resolve.c (resolve_method_verifier_checks): Factored out
	loading constraints into a separate function.
	
	(resolve_method_loading_constraints): New function.
	
	(resolve_method): Call resolve_method_loading_constraints.
	
	* src/vm/resolve.h (resolve_method_loading_constraints): New function.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Call
	resolve_method_loading_constraints.

2006-10-09 17:08  edwin

	* src/vm/resolve.c (resolve_method_lazy): Removed dependence on
	instruction format. Do not perform verifier checks. (Caller will
	do these.)
	
	(create_unresolved_method): Renamed to
	resolve_create_unresolved_method. Changed arguments.
	
	* src/vm/resolve.h (create_unresolved_method): Renamed to
	resolve_create_unresolved_method. Changed arguments.
	
	(resolve_method_lazy): Changed arguments.
	
	(resolve_method_verifier_checks): Export.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Adapted
	to changed resolve functions. Call resolve_method_verifier_checks.
	Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
	
	* src/vm/jit/parse.c (parse): Adapted to changed resolve functions.
	Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.

2006-10-09 15:42  edwin

	* src/vm/resolve.c (resolve_field_verifier_checks): Removed dependence
	on instruction format.
	
	(resolve_field_lazy): Pass field reference, instead of instruction.
	Do not perform verification checks here. (Caller will do them.)
	
	(resolve_field): Adapted to changed resolve_field_verifier_checks.
	
	(create_unresolved_field): Renamed to resolve_create_unresolved_field.
	
	(constrain_unresolved_field): Renamed to
	resolve_constrain_unresolved_field. Removed dependence on instruction
	format.
	
	* src/vm/resolve.h (create_unresolved_field): Renamed to
	resolve_create_unresolved_field.
	
	(resolve_field_lazy): Changed arguments.
	
	(resolve_field_verifier_checks): Export.
	
	(constrain_unresolved_field): Renamed to
	resolve_constrain_unresolved_field. Changed arguments.
	
	* src/vm/jit/verify/typecheck.c (typecheck): Moved instruction set
	dependent parts of resolve functions into typecheck.
	
	* src/vm/jit/parse.c (resolve_field_lazy): Changed arguments.
	(create_unresolved_field): Renamed.

2006-10-08 22:49  edwin

	*
	test/regression/jasmin/test_verify_ok_jsr_subroutine_loops_to_start.j:
	New test.
	
	* test/regression/jasmin/test.j: Small cleanup.
	
	* test/regression/jasmin/Makefile.am: Added new test.

2006-10-08 11:39  edwin

	* src/vm/jit/stack.c: Verify that subroutines are not merged.
	(SBRSTART): New macro.
	(COPY_VAL_AND_TYPE_VAR): New macro, propagate SBRSTART.
	(COPY_VAL_AND_TYPE): Use COPY_VAL_AND_TYPE_VAR.
	(stack_create_invars): Cleaned up, use COPY_VAL_AND_TYPE_VAR.
	(stack_create_invars_from_outvars): Use COPY_VAL_AND_TYPE_VAR.
	(stack_check_invars): Check against merging of subroutines. Wrapped
	verifier checks in #if defined(ENABLE_VERIFIER).
	(stack_check_invars_from_outvars): Likewise.
	(stack_reanalyse_block): Wrapped verifier checks in
	#if defined(ENABLE_VERIFIER).
	(stack_analyse): Prepare a real variable for the handler stack.
	Implemented re-analysing of blocks. Set SBRSTART for JSR.
	
	* src/vm/jit/parse.c (parse): Reserve extra variables needed by
	stack_analyse.
	
	* src/vm/global.h (STACK_EXTRA_VARS): New macro.

2006-10-08 10:51  edwin

	* src/vm/jit/show.c (show_basicblock): Removed extra newline.

2006-10-08 00:07  edwin

	*
	tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines_via_stack.j:
	New test.
	
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-10-07 23:56  edwin

	* src/vm/jit/cfg.c (cfg_build): Fixed a bug causing infinite loops.
	
	* src/vm/jit/parse.c (parse): Always add a NOP at block ends. This is
	needed by the JSR elimination in stack.c.
	
	* tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines.j:
	New test.
	
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-10-07 23:02  edwin

	* tests/regression/jasmin/test_verify_fail_jsr_polymorphic_pop.j:
	New test.
	
	* tests/regression/jasmin/Makefile.am: Added new test.
	
	* src/vm/jit/stack.c (stack_check_invars): Fixed bug exposed by the
	new test.
	(stack_check_invars_from_outvars): Likewise.

2006-10-07 22:34  edwin

	*
	tests/regression/jasmin/test_verify_fail_jsr_called_with_different_stackdepths.j:
	New test.
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-10-07 12:54  edwin

	* src/vm/jit/stack.c (GET_NEW_VAR): Fixed macro argument.
	
	(SET_TEMPVAR): Call new function stack_change_to_tempvar.
	
	(stack_change_to_tempvar): New function.
	
	(stack_analyse): Mark pass-through stackslots of INVOKEs instead of
	resetting them to TEMPVARs.
	
	* src/vm/jit/jit.h (PASSTHROUGH): New flag.

2006-10-07 10:22  edwin

	* src/vm/jit/allocator/simplereg.c: Implemented REG_INDEX for
	architectures with address register file.

2006-10-07 09:44  edwin

	* src/vm/jit/allocator/simplereg.c
	(simplereg_allocate_locals_leafmethod): Fixed declaration after code.

2006-10-07 00:06  edwin

	* src/vm/jit/allocator/simplereg.c (simplereg_allocate_interface):
	Copy all flags except SAVEDVAR when reusing an interface slot.

2006-10-06 23:58  edwin

	* src/vm/jit/allocator/simplereg.c: Cleaned up memory slot allocation.

2006-10-06 23:41  edwin

	* src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
	Fixed
	indentation.

2006-10-06 23:03  edwin

	* src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
	Minor cleanup, use SIMPLEREG_REG_INDEX.

2006-10-06 22:37  edwin

	* src/vm/jit/allocator/simplereg.c: Reuse interface registers in
	blocks
	that don't need them. Abstracted out the free register stacks with
	macros. Major code cleanup.
	
	* src/vm/jit/allocator/simplereg.h (reg_make_statistics): Renamed to
	simplereg_make_statistics.
	
	* src/vm/jit/reg.h (registerdata): Added fields `adrusedinout`,
	`intusedinout`, `fltusedinout`, and `regisoutvar`.
	
	* src/vm/jit/jit.c (simplereg_make_statistics): Renamed to
	simplereg_make_statistics.
	
	* src/vm/jit/jit.h (SAVEDTMP): Renamed to SAVREG.
	(TMPARG): Renamed to ARGREG.
	(STCOPY): Removed.
	(STKEEP): Removed.

2006-10-06 21:30  edwin

	* src/vm/jit/stack.c (stack_analyse): Do not set argintreguse to
	a value > INT_ARG_CNT, as this breaks some new code that will
	later be committed to simplereg.c, and does not make sense, anyway.

2006-10-06 20:11  edwin

	* src/vm/jit/intrp/Makefile.am (Changes): Added my name.

2006-10-06 20:09  edwin

	* src/vm/jit/show.h (show_variable): Made global.
	(show_variable_array): Likewise.
	
	* src/vm/jit/show.c (show_variable): Likewise.
	(show_variable_array): Likewise.

2006-10-05 20:30  edwin

	* src/threads/native/threads.c (threads_attach_current_thread): Rename
	left-over `t` to `thread` in interpreter code.

2006-10-05 20:21  edwin

	* src/vm/jit/codegen-common.c: Include vm/jit/intrp/intrp.h to prevent
	a warning.

2006-10-05 20:18  edwin

	* src/vm/jit/intrp/intrp.h: Added missing prototypes.
	
	* src/vm/jit/intrp/engine.c: Comment unused variable `ca1`.
	
	* src/vm/jit/intrp/java.vmg: Mark the variables `currentsp` as
	MAYBE_UNUSED.

2006-10-05 20:04  edwin

	* src/vm/jit/intrp/intrp.h: Cleaned up. Defined missing prototypes.
	
	* src/vm/jit/intrp/java.vmg: Defined "afi" type prefix.

2006-10-05 19:36  edwin

	* src/vm/jit/intrp/peephole.c: Include interpreter files using < >
	instead of " ", so they are only searched for in the include path.
	This avoids using the wrong include files when compiling in a
	buildir.
	
	* src/vm/jit/intrp/codegen.c: Likewise.
	* src/vm/jit/intrp/engine.c: Likewise.
	* src/vm/jit/intrp/disasm.c: Likewise.
	* src/vm/jit/intrp/dynamic-super.c: Likewise.
	
	* src/vm/jit/intrp/vmgenx: Fixed to work with builddir, and cleaned
	up.
	
	* src/vm/jit/intrp/Makefile.am: Fixed dependencies for builddir.

2006-10-05 17:52  edwin

	* src/vm/jit/intrp/engine.c (Changes): Added my name.
	(vim boilerplate): Added.

2006-10-05 17:28  twisti

	* src/native/jni.c (jni_attach_current_thread): New help function.
	(_Jv_JNI_AttachCurrentThread): Use helper function.
	(_Jv_JNI_AttachCurrentThreadAsDaemon): Likewise.
	(_Jv_JNI_DetachCurrentThread): Implemented.
	
	* src/threads/native/threads.c (method_thread_init)
	(method_threadgroup_add_: Made static.
	(threads_init): Code rearranged.
	(threads_startup_thread): Removed thread detach code and call
	threads_detach_thread.
	(threads_detach_thread): New function.
	
	* src/threads/native/threads.h (threads_detach_thread): Added.

2006-10-05 17:23  twisti

	* src/vm/utf8.c (utf_removeThread, utf_java_lang_Thread__V): Added.
	(utf8_init): Initialize new strings.
	* src/vm/utf8.h (utf_removeThread, utf_java_lang_Thread__V): Added.

2006-10-05 16:28  edwin

	* src/vm/vm.c (vm_create): Turn off the verifier for -Xint.

2006-10-05 16:18  edwin

	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Style fix.

2006-10-05 16:12  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Save synchronized object in
	a special stackslot and use it for monitorexit.
	
	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): When
	unwinding a synchronized method, exit the monitor.

2006-10-05 15:43  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Reserve an extra stackslot in
	synchronized methods.
	(intrp_createcompilerstub): Likewise.
	(intrp_createnativestub): Use stackframesize for clarity.

2006-10-05 15:33  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Separate stackframesize from
	the number of local variables.
	(intrp_createcompilerstub): Likewise.
	
	* src/vm/jit/intrp/engine.c (MAXLOCALS): Changed to FRAMESIZE.
	
	* src/vm/jit/intrp/java.vmg (INVOKEVIRTUAL): Use FRAMESIZE.
	(INVOKESTATIC): Likewise.
	(INVOKESPECIAL): Likewise.
	(INVOKEINTERFACE): Likewise.

2006-10-05 14:13  twisti

	* src/native/jni.c (jni_init_localref_table): New function.
	(AttachCurrentThread): Implemented.
	(JNI_CreateJavaVM): Use jni_init_localref_table.
	
	* src/threads/native/threads.c (method_thread_init)
	(method_threadgroup_add): New global variables.
	(threads_init): Store methods resolved in global variables.
	(threads_attach_current_thread): New function.
	
	* src/threads/native/threads.h (MIN_PRIORITY, NORM_PRIORITY)
	(MAX_PRIORITY): Defined.
	(threads_attach_current_thread): New function.

2006-10-05 12:23  edwin

	* src/vm/jit/intrp/java.vmg (TRACECALL): Implemented for 32-bit
	architectures.

2006-10-05 10:50  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Fix off-by-one error in len
	tests of optimizations.

2006-10-05 10:41  edwin

	* src/vm/jit/show.c (show_icmd): Show constant operand of IFxx, and
	IF_Lxx.

2006-10-05 10:39  edwin

	* src/vm/jit/show.c (show_basicblock): Fixed deadcode check.
	
	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Clear
	global_sp.

2006-10-05 09:04  twisti

	* src/vm/jit/powerpc/emit.c (emit_verbosecall_enter): Darwin build
	fixes.

2006-10-05 00:21  edwin

	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Fixed for
	catch-all handlers.

2006-10-05 00:06  edwin

	* src/vm/jit/show.c (show_method): Adapted to interpreter.
	(show_basicblock): Likewise.
	
	* src/vm/jit/intrp/disass.c (intrp_disassinstr): Write disassembly to
	stdout.
	(intrp_disassemble): Likewise.

2006-10-04 23:08  edwin

	* tests/regression/jctest.java: Also test division/remainder with
	constant divisor 1.
	
	* tests/regression/jctest.output: Updated test output.

2006-10-04 23:05  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Don't ?DIVPOW2 with value 1.
	The optimization produces the wrong result in this case.

2006-10-04 22:53  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Implemented IDIVPOW2 and
	LDIVPOW2 optimizations.

2006-10-04 22:39  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Implemented IREMPOW2 and
	LREMPOW2 optimizations.

2006-10-04 22:12  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Implement optimization of
	comparisons.

2006-10-04 20:44  edwin

	* src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Fixed indices
	into regcopycount array.
	(allocate_scratch_registers): Likewise.

2006-10-04 20:02  edwin

	* src/vm/jit/intrp/codegen.c (codegen): #if 0-ed optimized ICMDs that
	are currently not used. In order to use these instructions, we could
	either add the optimization checks directly to codegen.c, or introduce
	a special pass between parse and intrp_codegen which replaces the
	instructions.

2006-10-04 19:47  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Removed unoptimized *CONST
	instructions. Since stack_analyse is no longer performed before the
	interpreter codegen, these instructions cannot occur.

2006-10-04 19:38  edwin

	* src/vm/jit/stack.c: Removed interpreter-specific code.

2006-10-04 18:44  edwin

	* src/threads/native/lock.c (lock_monitor_exit): Check for NULL
	object.
	There is no guarantee that MONITORENTER/EXITs are properly nested, so
	we cannot rely on the check in lock_monitor_enter here.

2006-10-04 18:39  edwin

	* tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
	Fixed test case, so it passes if the exception is thrown.

2006-10-04 18:35  edwin

	* tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
	New test.
	
	* tests/regression/jasmin/Makefile.am: Added
	test_nullpointerexception_monitorexit.j.

2006-10-04 18:25  edwin

	* tests/regression/jasmin/Makefile.am: Properly quote variables.

2006-10-04 18:23  edwin

	* src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Really throw a
	ClassCastException, not a NullPointerException.
	
	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Set
	global_sp, in case the resolving of the catchtype involves the
	execution of Java code.
	
	* src/vm/jit/intrp/java.vmg (MONITORENTER): Check for exception.
	(MONITOREXIT): Likewise.

2006-10-04 16:42  edwin

	* src/vm/jit/intrp/java.vmg (LOOKUPSWITCH): No point in using >= 0 on
	an unsigned variable.

2006-10-04 16:01  edwin

	* src/vm/jit/intrp/codegen.c (nativecall): Store return valud of
	codegen_finish_native_call in *exceptionptr.
	
	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Resolve
	unresolved catchtype references.

2006-10-04 15:14  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Convert JavaPCs to block
	indices.
	Do not check for BBREACHED (not set by parse).
	(gen_branch): Convert JavaPCs to block indices.
	
	* src/vm/jit/intrp/java.vmg (RET): restored.
	
	* src/vm/jit/jit.c (jit_compile_intern): Do not perform stack_analyse
	and
	dependent passes for intrp.

2006-10-04 15:04  twisti

	* src/vm/jit/intrp/md.c (intrp_md_init): Set vm_out to stderr.
	
	* src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Added.
	(engine): Handle ClassCastExceptions with argument.
	
	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Indent.
	
	* src/vm/jit/intrp/dynamic-super.c: Use LOCK_MONITOR_{ENTER,EXIT}
	macros.
	
	* src/vm/jit/intrp/patcher.c (intrp_patcher_invokestatic_special):
	Write back method pointer. I wonder how this ever worked before.
	(intrp_patcher_invokevirtual): Likewise.
	(intrp_patcher_invokeinterface): Likewise.
	
	* src/vm/jit/intrp/java.vmg (RET): Removed.
	(TABLESWITCH): Changed reading direction of cases. Don't know if that
	works: NOT TESTED!
	(CHECKCAST): Use THROW_CLASSCASTEXCEPTION.
	(ARRAYCHECKCAST): Likewise.
	(MONITORENTER): Likewise.
	(MONITOREXIT): Likewise.

2006-10-04 14:50  edwin

	* src/vm/jit/intrp/dynamic-super.c (superreuse_insert): Use
	lock_monitor_ functions.
	(patchersuper_rewrite): Likewise.
	(hashtable_patchersupers_insert): Likewise.

2006-10-04 14:31  edwin

	* src/vm/jit/intrp/codegen.c (codegen): Restored ICMD_RET to really
	perform a RET (JSR elimination will not be performed for intrp.)
	Removed a comment that does not apply any more.

2006-10-04 14:20  edwin

	* src/vm/jit/intrp/java.vmg (builtin_monitorenter): Changed to
	lock_monitor_enter.
	(builtin_monitorexit): Changed to lock_monitor_exit.

2006-10-04 13:40  edwin

	* src/vm/jit/intrp/codegen.c: Made it compile again.

2006-10-04 13:35  twisti

	* src/vm/jit/intrp/codegen.c: New instruction format fixes.

2006-10-04 12:09  twisti

	* configure.ac (AC_CONFIG_FILES): Removed src/scripts/rmic and
	src/scripts/rmiregistry.
	* src/scripts/Makefile.am (bin_SCRIPTS): Removed trailing \.

2006-10-04 10:37  twisti

	* src/scripts/rmic.in: Removed.
	* src/scripts/rmiregistry.in: Likewise.
	
	* src/scripts/Makefile.am (bin_SCRIPTS) Removed rmi.in and
	rmiregistry.in.
	* src/scripts/.cvsignore: Likewise.
	
	* src/scripts/java.in: Don't call cacao with an absolute path, this
	would break WITH_JRE_LAYOUT. I think we can expect cacao to be in the
	PATH.

2006-10-04 10:10  twisti

	* configure.ac (--with-jre-layout): Added.
	
	* src/vm/global.h (CLASSPATH_LIBRARY_PATH): Removed.
	
	* src/vm/vm.c [WITH_JRE_LAYOUT] (libgen.h, unistd.h): Added.
	(cacao_prefix, cacao_libjvm, classpath_libdir): New global variables.
	(version): Print gnu.classpath.boot.library.path instead of
	java.library.path as this is the interesting one.
	(vm_create): Added WITH_JRE_LAYOUT stuff.
	
	* src/vm/vm.h (stackbottom): Removed.
	(cacao_prefix, cacao_libjvm, classpath_libdir): Added.
	
	* src/cacao/cacao.c [WITH_JRE_LAYOUT] (errno.h, libgen.h, unistd.h):
	Added.
	(main): Added WITH_JRE_LAYOUT stuff.
	
	* src/native/vm/gnu_classpath_VMSystemProperties.c (vm/vm.h): Added.
	(preInit): Set env_java_home to cacao_prefix and
	gnu.classpath.boot.library.path to classpath_libdir.
	
	* src/native/native.c (native_init): Use cacao_libjvm in lt_dlopenext
	call.

2006-10-03 21:19  edwin

	* src/vm/jit/jit.h (jitdata): Renamed c_debug_nr to c_block_nr. (Still
	not a good name. Should probably be removed entirely.)
	Added comments.
	
	* src/vm/method.h (c_debug_nr): Renamed to c_block_nr.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/loop/analyze.c: Likewise.
	* src/vm/jit/inline/inline.c: Likewise.
	* src/vm/jit/parse.c: Likewise.

2006-10-03 20:57  edwin

	* src/vm/jit/powerpc/codegen.c: Removed new_ prefix from variable and
	field names.
	
	* src/vm/jit/cfg.c: Likewise.
	* src/vm/jit/sparc64/codegen.c: Likewise.
	* src/vm/jit/reorder.c: Likewise.
	* src/vm/jit/ifconv/ifconv.c: Likewise.
	* src/vm/jit/alpha/codegen.c: Likewise.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/stack.h: Likewise.
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/verify/typecheck.c: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/powerpc64/codegen.c: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/replace.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/parse.h: Likewise.
	* src/vm/jit/jit.c: Likewise.
	* src/vm/jit/jit.h: Likewise.

2006-10-03 20:44  edwin

	* src/vm/resolve.c: Removed new_ prefix from function names.
	* src/vm/resolve.h: Likewise.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/stack.h: Likewise.
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/verify/typecheck.c: Likewise.
	* src/vm/jit/show.h: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/allocator/simplereg.h: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/parse.h: Likewise.
	* src/vm/jit/jit.c: Likewise.

2006-10-03 20:27  edwin

	* src/vm/jit/allocator/simplereg.c: Warning fixed.

2006-10-03 20:26  edwin

	* src/vm/jit/i386/codegen.c (codegen): Use varindex as in other
	codegens.

2006-10-03 20:22  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Removed obsolete stack depth
	checking code.
	
	* src/vm/jit/stack.h (CHECK_STACK_DEPTH): Removed macro.

2006-10-03 19:11  edwin

	* src/vm/jit/powerpc64/codegen.c (codegen): Unified IINC and
	IADDCONST.

2006-10-03 18:50  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): Unify IINC and IADDCONST.

2006-10-03 18:34  edwin

	* src/vm/jit/allocator/simplereg.c (reg_make_statistics): Bugfix.

2006-10-03 18:21  twisti

	* src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): We don't
	need to strcpy the library variables. Don't know where this code came
	from.

2006-10-03 18:09  edwin

	* src/vm/jit/allocator/simplereg.c (reg_make_statistics): Make it
	compile again.

2006-10-03 17:44  edwin

	Moved unified_variables branch to trunk.

2006-10-03 17:24  edwin

	* tests/regression/jasmin/test_iinc.j: New test.
	
	* tests/regression/jasmin/Makefile.am: Added test_iinc.j

2006-10-03 16:42  edwin

	Merged r5640 from trunk:
	
	* src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Renamed
	md-emit.h to emit.h.

2006-10-03 16:32  edwin

	* src/vm/jit/powerpc/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
	* src/vm/jit/powerpc64/codegen.c: Likewise.
	
	* src/vm/jit/alpha/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
	Unified ICMD_IINC and ICMD_IADDCONST.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.

2006-10-02 19:24  edwin

	Merged r5636, r5637, and r5638 from trunk:
	
	* src/native/tools/gennativetable.c: Made it work again.
	
	* tests/regression/jasmin/.cvsignore: New file.
	
	* src/vm/jit/powerpc/codegen.c (codegen): #if 0 replacement point
	code.
	
	* src/vm/jit/powerpc/emit.c [!NDEBUG] (emit_verbosecall_enter)
	(emit_verbosecall_exit): #ifdef'ed.

2006-10-02 16:36  christian

	* src/vm/jit/alpha/md-abi.c (md_return_alloc): Activated return value
	stackslot registers precolouring again.

2006-10-02 14:18  edwin

	* src/vm/jit/powerpc/netbsd/md-abi.c: Blindly ported to
	unified_variables.
	
	* src/vm/jit/powerpc/linux/md-abi.c: Cleaned up.
	* src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
	* src/vm/jit/alpha/md-abi.c: Likewise.
	* src/vm/jit/mips/md-abi.c: Likewise.
	* src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
	* src/vm/jit/x86_64/md-abi.c: Likewise.

2006-10-02 13:59  edwin

	* src/vm/jit/powerpc/codegen.c: Changed OUTVAR to INOUT.
	* src/vm/jit/alpha/codegen.c: Likewise.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/powerpc64/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/jit.h: Likewise.

2006-10-02 13:43  edwin

	* src/vm/jit/alpha/codegen.h: Removed M_COPY.
	* src/vm/jit/mips/codegen.h: Likewise.
	* src/vm/jit/i386/codegen.h: Likewise.
	* src/vm/jit/powerpc64/codegen.h: Likewise.
	* src/vm/jit/x86_64/codegen.h: Likewise.
	
	* src/vm/jit/powerpc/codegen.c: Unified ICMD_RET with ICMD_GOTO.
	* src/vm/jit/alpha/codegen.c: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/powerpc64/codegen.c: Likewise.
	* src/vm/jit/intrp/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.

2006-10-02 13:26  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): Unified LOAD/STORE and
	COPY/MOVE instructions.
	
	* src/vm/jit/powerpc/codegen.h (M_COPY): Removed.

2006-10-02 13:16  edwin

	* src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Cleaned up
	comments.
	* src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Removed obsolete call to
	codegen_reg_of_var.
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	* src/vm/jit/mips/codegen.c (codegen): Likewise.
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.
	
	* src/vm/jit/codegen-common.c (codegen_reg_of_var): Cleaned up.
	(codegen_reg_of_dst): Implemented using inline codegen_reg_of_var.

2006-10-02 12:10  edwin

	Merged r5626 from trunk:
	
	* src/vm/jit/replace.c (replace_create_replacement_points): Return
	true.

2006-10-02 11:55  edwin

	Merged r5624 from trunk:
	
	* src/vm/jit/mips/asmpart.S (asm_vm_call_method): Remove argument
	stack frame in normal path.

2006-10-02 00:32  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Unified MOVE/COPY with
	LOAD/STORE instructions.

2006-10-02 00:08  edwin

	* tests/regression/jasmin/runtest: Made it a bash script, so it works
	on crappy fp98.

2006-10-02 00:06  edwin

	* tests/regression/jasmin/runtest: Do not use grep -o.

2006-10-01 23:51  edwin

	* src/vm/jit/mips/emit.c (emit_copy): Fixed arguments to
	codegen_reg_of_var.
	* src/vm/jit/powerpc64/emit.c (emit_copy): Likewise.
	
	* src/vm/jit/mips/codegen.c (codegen): Define varindex.
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise. Fixed arguments
	to codegen_reg_of_var. Replaced codegen_reg_of_var with
	codegen_reg_of_dst.

2006-10-01 23:37  edwin

	* src/vm/jit/powerpc64/codegen.c: Ported to unified_variables.
	* src/vm/jit/powerpc64/codegen.h: Likewise.
	* src/vm/jit/powerpc64/emit.c: Likewise.
	* src/vm/jit/powerpc64/linux/md-abi.c: Likewise.

2006-10-01 23:00  edwin

	Merged r5616 from trunk:
	
	* src/native/jni.c: Prefix all JNI functions with _Jv_JNI_, as gcj
	does. This should prevent any linking problems.

2006-10-01 22:55  edwin

	* src/vm/jit/mips/codegen.c: Ported to unified_variables.
	* src/vm/jit/mips/codegen.h: Likewise.
	* src/vm/jit/mips/emit.c: Likewise.
	* src/vm/jit/mips/md-abi.c: Likewise.

2006-10-01 20:52  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): Cleaned up unified_variables
	changes.

2006-10-01 20:49  edwin

	* src/vm/jit/i386/codegen.c (codegen): Cleaned up unified_variables
	changes.

2006-10-01 20:42  edwin

	* src/vm/jit/x86_64/codegen.c (codegen): Cleaned up unified_variables
	changes.

2006-10-01 20:37  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Cleaned up unified_variables
	changes.

2006-10-01 20:08  edwin

	* tests/regression/jasmin/runtest: Use default JASMIN_JAR, if given.

2006-10-01 18:01  edwin

	* src/vm/jit/codegen-common.c (codegen_reg_of_var): Fixed typo in
	ARM code.

2006-10-01 15:44  edwin

	* src/vm/jit/verify/typeinfo.c (typevector_store_retaddr): Do not
	invalidate the variable at index i-1.
	(typevector_store_twoword): Removed.

2006-10-01 15:25  edwin

	* src/vm/jit/verify/typecheck.c (typecheck): Added debug print of
	the reverse local map.

2006-10-01 14:43  edwin

	* src/vm/vm.c (vm_compile_all): Only use if !defined(NDEBUG).
	(vm_compile_method): Likewise.

2006-10-01 14:37  edwin

	* src/vm/jit/verify/typeinfo.h: Disabled TYPECHECK_VERBOSE.

2006-09-30 23:28  edwin

	* src/vm/jit/jit.c (jit_compile_intern): Removed commented out
	debugging code.

2006-09-30 23:12  edwin

	* src/vm/jit/allocator/simplereg.c (reg_new_temp): Simplified.
	(reg_free_temp): Formatted.

2006-09-30 23:06  edwin

	* src/vm/jit/powerpc/linux/md-abi.c: Use VAR and VAROP macros.
	* src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
	* src/vm/jit/alpha/codegen.c: Likewise.
	* src/vm/jit/alpha/codegen.h: Likewise.
	* src/vm/jit/alpha/md-abi.c: Likewise.
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/verify/typecheck.c: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/i386/codegen.h: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/x86_64/emit.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.h: Likewise.
	* src/vm/jit/x86_64/md-abi.c: Likewise.
	* src/vm/jit/codegen-common.c: Likewise.

2006-09-30 22:45  edwin

	* src/vm/jit/i386/codegen.c (codegen): Use VAR and VAROP macros.
	(codegen_insert_phi_moves): Likewise.

2006-09-30 22:24  edwin

	Merged r5591 from trunk:
	
	* src/native/jni.c (GetVersion): Prefixed with _Jv_, we should do that
	with all JNI functions.

2006-09-30 22:22  edwin

	Merged r5589 and r5590 from trunk:
	
	* configure.ac: Fixed CFLAGS for cygwin.
	* src/threads/native/threads.c: Inserted asserts for cygwin.
	* src/vm/jit/i386/cygwin/Makefile.am: See below.
	* src/vm/jit/i386/cygwin/md-asm.h: Added.
	* src/vm/jit/i386/cygwin/md-os.c: Inserted asserts.
	* src/vm/jit/i386/cygwin/ucontext.c: Added 3rd party file.
	* src/vm/jit/i386/cygwin/ucontext.h: Added 3rd party file.
	
	
	* src/cacao/.cvsignore, src/cacaoh/.cvsignore,
	src/vm/jit/tools/.cvsignore: Added ignores for cygwin and
	modified properties accordingly.

2006-09-30 11:04  christian

	* src/vm/jit/alpha/codegen.c (codegen): Changed to use the macros VAR
	and VAROP.

2006-09-30 10:16  christian

	* src/vm/jit/x86_64/codegen.c (codegen): Changed to use the macros
	VAR and VAROP.

2006-09-29 14:02  edwin

	* src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Handle
	packed registers.
	(new_allocate_scratch_registers): Likewise.

2006-09-29 13:33  edwin

	Merged r5540 from trunk:
	
	* configure.ac: Cygwin OS dir added.
	* src\lib\Makefile.am: Now checks for "zip.exe" as well
	* src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
	* src\vm\jit\i386\cygwin\Makefile.am: Added.
	* src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
	dummy signal handlers.
	* src\vm\builtin.c: Undefine Bias for Cygwin because
	Windows uses this define.
	* src\vm\signal.c: No signal handlers for Cygwin.

2006-09-29 12:46  edwin

	Merged r5573, r5574, r5577, r5578, and r5579 from trunk.
	
	* src/cacao/cacao.c (vm/vm.h): Added.
	* src/cacao/Makefile.am [!ENABLE_LIBJVM] (CACAO_LIB): Link libjvm.la.
	
	
	* src/vm/jit/powerpc/darwin/md-asm.h (md_codegen_get_pv_from_pc):
	Added stub define.
	* src/vm/jit/powerpc/asmpart.S (L_md_codegen_get_pv_from_pc$stub):
	Added.
	
	
	* src/cacaoh/cacaoh.c (cacaoh_options_prepare): Set nOptions, this was
	deleted accidentally.
	
	
	* src/vm/vm.c (vm_create): Added installation of exit handler.
	(vm_run): New function.
	(vm_get_mainclass_from_jar): Likewise.
	(vm_compile_all): Likewise.
	(vm_compile_method): Likewise.
	* src/vm/vm.h (vm_run): New function.
	
	* src/vm/options.c (options_prepare): Removed.
	* src/vm/options.h (options_prepare): Likewise.
	
	* src/cacao/cacao.c (getmainclassnamefromjar): Removed.
	(main): Moved most stuff to vm-functions and load libjvm with dlopen
	and resolve symbols for ENABLE_LIBJVM.
	(cacao_options_prepare): New function.
	
	* src/cacao/Makefile.am (CACAO_LIBS): New variable.
	(cacao_LDADD): Use CACAO_LIBS.
	
	* src/native/native.c (native_init): Set mainhandle to libjvm for
	ENABLE_LIBJVM.
	
	* src/cacaoh/cacaoh.c (cacaoh_prepare_options): New function.
	
	
	* src/native/jni.c (JNI_CreateJavaVM): Renamed jvm to vm.

2006-09-28 22:33  edwin

	* src/vm/jit/powerpc64: Merged changes from r5403 to r5548 from trunk.

2006-09-28 20:56  edwin

	* src/vm/jit/i386/cygwin: Copied directory from trunk.

2006-09-28 20:38  edwin

	Merged r5547 from trunk:
	
	* src/native/jni.c (FindClass): Removed architecture #ifdef's.

2006-09-28 20:33  edwin

	Merged r5543 from trunk:
	
	* src/vm/jit/sparc64/codegen.c: Completed port to new instruction
	format.
	* src/vm/jit/sparc64/md-abi.h: Likewise.
	* src/vm/jit/sparc64/emit.c: Likewise.

2006-09-28 20:31  edwin

	Merged r5541 from trunk:
	
	* src/vm/jit/powerpc/emit.c (vm/jit/emit.h): Renamed to
	vm/jit/emit-common.h.
	(emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
	(emit_load_s2_low, emit_load_s3_low, emit_load_s1_high)
	(emit_load_s2_high, emit_load_s3_high) (emit_store_dst): Removed.
	
	* src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Renamed to
	vm/jit/emit-common.h.

2006-09-28 20:29  edwin

	Merged r5540 and r5542 from trunk:
	
	* configure.ac: Cygwin OS dir added.
	* src\lib\Makefile.am: Now checks for "zip.exe" as well
	* src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
	* src\vm\jit\i386\cygwin\Makefile.am: Added.
	* src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
	dummy signal handlers.
	* src\vm\builtin.c: Undefine Bias for Cygwin because
	Windows uses this define.
	* src\vm\signal.c: No signal handlers for Cygwin.
	
	* src/vm/jit/i386/cygwin/.cvsignore: New file.

2006-09-28 20:23  edwin

	Merged r5539 from trunk:
	
	* src/vm/jit/mips/emit.c (emit_exception_stubs): Don't use
	SIZEOF_VOID_P for getting return address, this is wrong on MIPS32.
	* src/vm/jit/mips/codegen.c (createnativestub): Likewise.

2006-09-28 20:20  edwin

	Merged r5538 from trunk:
	
	* src/native/native.c (native_insert_char): New function.
	(native_resolve_function): Use native_insert_char function to fill
	name buffer.

2006-09-28 20:19  edwin

	Merged r5537 from trunk:
	
	* src/vm/jit/mips/codegen.c (codegen): Make fieldinfo,
	unresolved_field local variables, better code for ICMD_PUTFIELD.

2006-09-28 20:18  edwin

	Merged r5536 from trunk:
	
	* src/vm/jit/mips/emit.c (vm/jit/emit.h): Renamed to
	vm/jit/emit-common.h.
	(emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
	
	* src/vm/jit/mips/codegen.c (vm/jit/emit.h): Renamed to
	vm/jit/emit-common.h.
	(codegen): Some updates to field instructions.

2006-09-28 20:17  edwin

	Merged r5535 from trunk:
	
	* src/vm/jit/mips/codegen.c (codegen): Moved ICMD_IREMPOW2 and
	ICMD_LREMPOW2.

2006-09-28 20:16  edwin

	Merged r5534 from trunk:
	
	* src/vm/jit/alpha/emit.c (vm/jit/emit.h): Renamed to
	vm/jit/emit-common.h.
	(emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
	
	* src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Renamed to
	vm/jit/emit-common.h.

2006-09-28 20:13  edwin

	Merged r5531 and r5532, ported to unified_variables:
	
	* src/vm/jit/i386/md-emit.h: Renamed to src/vm/jit/i386/emit.h.
	
	* src/vm/jit/i386/emit.c (vm/jit/i386/md-emit.h): Renamed to
	vm/jit/i386/emit.h.
	(vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
	(emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
	(emit_load_s2_low, emit_load_s1_high, emit_load_s2_high)
	(emit_store_dst): Removed.
	
	* src/vm/jit/i386/codegen.c (vm/jit/i386/md-emit.h): Renamed to
	vm/jit/i386/emit.h.
	(vm/jit/emit.h): Renamed to vm/jit/emit-common.h.

2006-09-28 19:53  edwin

	Merged r5530 from trunk:
	
	* src/vm/jit/emit.h: Renamed to src/vm/jit/emit-common.h.
	* src/vm/jit/emit-common.c: New file.
	
	* src/vm/jit/Makefile.am (noinst_HEADERS): Removed emit.h.
	(libjit_la_SOURCES): Added emit-common.[ch].
	
	* src/vm/jit/x86_64/emit.c (emit_load_s1, emit_load_s2, emit_load_s3)
	(emit_store_dst): Removed.
	
	* src/vm/jit/x86_64/codegen.c: Changed include names.

2006-09-28 19:46  edwin

	Merged r5529 from trunk:
	
	* src/vm/jit/x86_64/md-emit.h: Renamed to src/vm/jit/x86_64/emit.h.

2006-09-28 19:36  edwin

	Merged r5527 from trunk:
	
	* src/native/include/.cvsignore: Added sun_misc_Unsafe.h.

2006-09-28 19:33  edwin

	Merged r5526 from trunk:
	
	* src/native/vm/sun_misc_Unsafe.c: New file:
	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	sun_misc_Unsafe.c.
	* src/native/include/Makefile.am (GEN_HEADER_FILES): Added
	sun_misc_Unsafe.h.

2006-09-28 19:31  edwin

	Merged r5525 from trunk:
	
	* tests/regression/clinitexception.2output: Updated to GNU Classpath
	0.92.
	* tests/regression/extest.2output: Likewise.

2006-09-28 19:30  edwin

	Merged r5509 from trunk:
	
	* src/vm/jit/show.c (new_show_basicblock): Print predecessors only for
	stage >= SHOW_CFG.
	* src/vm/jit/show.h (SHOW_CFG): Defined.

2006-09-28 19:24  edwin

	Merged r5506 from trunk:
	
	* src/native/jni.c (GetDirectBufferAddress): Check if address is NULL.

2006-09-28 19:22  edwin

	Merged r5502 from trunk, with additional fixes:
	
	* src/vm/jit/jit.c (jit_compile_intern): Moved cfg_build call after
	stack_analyse, because of JSR elimination.
	
	* src/vm/jit/cfg.c (cfg_build): Updated to be run after stack_analyse.
	
	Fixes:
	
	* src/vm/jit/cfg.c (cfg_build): Skip NOPs at the end of the block.
	Handle JSR and RET correctly. Use bptr->next in the default case
	of falling into the following block.

2006-09-28 18:45  edwin

	Merged r5489 from trunk:
	
	* configure.ac (INTRP_CFLAGS): Moved a bit.
	* src/vm/jit/intrp/Makefile.am (CFLAGS): Don't define.
	(AM_CFLAGS): Define as INTRP_CFLAGS, that seems to be the correct way.

2006-09-28 18:42  edwin

	* src/vm/jit/sparc64/codegen.c (codegen): Replaced catchtype.cls
	with catchtype.any to reflect that it can be a classref or a
	classinfo. (Also see r5488.)

2006-09-28 18:35  edwin

	Merged r5476 from trunk:
	
	Merged sparc64 changes from trunk.

2006-09-28 18:31  edwin

	Merged r5462 from trunk:
	
	* src/vm/jit/parse.c (new_parse): Added a ICMD_NOP at the end of each
	basic block, if we have reorder enabled.

2006-09-28 17:02  edwin

	* src/vm/jit/reg.h (registerdata): New fields regcopycount,
	memcopycount, and memcopycountsize.
	
	* src/vm/jit/allocator/simplereg.c (reg_init_temp): Take jitdata
	argument, initialize copy counts.
	(reg_free_temp): Simplified a bit.
	(reg_free_temp_func): Check if freeing a copy.
	(reg_alloc_dup): New function.
	(new_allocate_scratch_registers): Implemented DUP coalescing using a
	copy count for each register/memory regoff.

2006-09-19 09:41  edwin

	* tests/regression/jasmin/runtest: Display only the basename of tests.
	* tests/regression/jasmin/Makefile.am: Use $(srcdir) to locate the
	runtest script.

2006-09-15 20:18  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Set stackslot SAVEDVAR for
	MULTIANEWARRAY.

2006-09-15 17:19  christian

	src/vm/jit/allocator/simplereg.c (reg_free_temp_func): New var
	structures also for SUPPORT_COMBINE_INTEGER_REGISTERS.

2006-09-15 17:05  christian

	* src/vm/jit/ppc/emit.c (emit_load): Changed to new variable
	structure (varinfo * instead of stackptr) and the use of Macros
	IS_INMEMORY and VAROP.
	(emit_store): Likewise.
	(emit_copy): Likewise.
	(emit_load_high): Likewise.
	(emit_load_low): Likewise.
	(emit_load_s1): Likewise.
	(emit_load_s1_low): Likewise.
	(emit_load_s1_high): Likewise.
	(emit_load_s2): Likewise.
	(emit_load_s2_low): Likewise.
	(emit_load_s2_high): Likewise.
	(emit_load_s3): Likewise.
	(emit_load_s3_low): Likewise.
	(emit_load_s3_high): Likewise.
	(emit_store_dst): Likewise.
	
	* src/vm/jit/ppc/codegen.c (codegen): Changed to new variable
	structure (varinfo * instead of stackptr, adapting of Argument
	handling, no interface copying anymore at BB Boundaries ) and the use
	of Macros IS_INMEMORY, VAR and VAROP. ICMD_xSTORE and ICMD_xLOAD use
	now
	emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
	ICMD_COPY. Invars are now regarded for EXH and JSR
	Blocks. Changed ICMD_RET handling like with i386.
	
	* src/vm/jit/ppc/codegen.h (M_COPY): Changed to new variable
	structure.
	
	* src/vm/jit/ppc/linux/md-abi.c (md_return_alloc): Changed to new
	variable structure.
	
	* src/vm/jit/ppc/darwin/md-abi.c (md_return_alloc): Changed to new
	variable structure.

2006-09-15 16:55  edwin

	* tests/regression/jasmin/Makefile.am: Added new test.
	* tests/regression/jasmin/test_dup_x2_interface_slots.j: New test.
	* tests/regression/jasmin/test_dup_x1_interface_slots.j: Changed
	second loop to also use DUP_X1.

2006-09-15 16:44  edwin

	* src/vm/jit/stack.c (MOVE_TO_TEMP): New macro.
	(new_stack_analyse): Use MOVE_TO_TEMP to save sources for all
	DUP*, SWAP instructions where it is necessary.
	
	* src/vm/jit/parse.c (new_parse): Reserve additional NOPs for
	DUP* instructions.

2006-09-15 16:39  edwin

	* tests/regression/jasmin/test_dup_x1_interface_slots.j: New test.
	* tests/regression/jasmin/test_dup2_x1.j: Added dup2_x1 with
	interface slots.
	* tests/regression/jasmin/Makefile.am: Added new test.

2006-09-15 16:31  christian

	* src/vm/jit/alpha/emit.c (emit_load): Changed to new variable
	structure (varinfo * instead of stackptr) and the use of Macro
	IS_INMEMORY.
	(emit_store): Likewise.
	(emit_copy): Likewise.
	(emit_load_s1): Likewise and reuse emit_load.
	(emit_load_s2): Likewise and reuse emit_load.
	(emit_load_s3): Likewise and reuse emit_load.
	(emit_store_dst): Likewise and reuse emit_store.
	
	* src/vm/jit/alpha/codegen.c (codegen): Changed to new variable
	structure (varinfo * instead of stackptr, adapting of Argument
	handling, no interface copying anymore at BB Boundaries ) and the use
	of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
	emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
	ICMD_COPY. Invars are now regarded
	for EXH and JSR Blocks. Changed ICMD_RET handling like with i386.
	
	* src/vm/jit/alpha/codegen.h (M_COPY): Changed to new variable
	structure.
	
	* src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed to new
	variable structure.

2006-09-15 15:52  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Add a third move at the
	beginning of a swap operation to save the src1 operand, unless it
	is in a temporary variable.
	
	* src/vm/jit/parse.c (new_parse): Reserve three ICMDs for SWAP.

2006-09-15 15:44  edwin

	* tests/regression/jasmin/Makefile.am: Added/renamed tests.

2006-09-15 14:43  edwin

	* src/vm/jit/verify/typecheck.c: Cleanup and documentation.

2006-09-15 14:18  edwin

	* src/vm/jit/verify/typecheck.c (typestate_reach): Removed check
	against uninitialized object on stack/in locals during backward
	branch. It is unnecessary, and not done by the RI. Reference:
	Alessandro Coglio
	Improving the official specification of Java bytecode verification
	Proceedings of the 3rd ECOOP Workshop on Formal Techniques for
	Java Programs
	June 2001
	citeseer.ist.psu.edu/article/coglio03improving.html
	
	(verify_basic_block): Removed check against uninitialized object in
	locals within try block. See above.
	
	* tests/regression/jasmin/
	test_verify_fail_backward_with_new_in_local.j: Renamed.
	* tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
	Renamed.
	
	* tests/regression/jasmin/
	test_verify_unspecced_ok_backward_with_new_on_stack.j: New test.
	
	* tests/regression/jasmin/
	test_verify_fail_backward_with_new_on_stack.j: Fixed.

2006-09-15 13:08  edwin

	* tests/regression/jasmin/runtest: Use [ \t] instead of \s in the
	regex for sed, as this seems to be more portable.

2006-09-15 13:03  edwin

	* src/vm/jit/verify/typecheck.c (typecheck_reset_flags): Mark
	unreached
	blocks as BBDELETED. The only case in which this can happen to a block
	that was considered reachable by the stack analysis, is in the case of
	an exception handler which only covers blocks that have no PEIs.

2006-09-15 12:51  edwin

	* src/vm/resolve.c (new_resolve_field_lazy): Check jd->flags instead
	of opt_verify.
	(new_resolve_method_lazy): Likewise.

2006-09-15 12:48  christian

	* src/vm/jit/stack.c (new_stack_analyse): Stackslot flags have to be
	set for SAVEDVARs, too.

2006-09-15 11:02  edwin

	* src/vm/jit/verify/typecheck.c (verify_basic_block): Fix check for
	active exception handlers. We may not compare pointers here, as the
	blocks are not allocated with rising memory addresses. Use the
	block numbers to compare ranges.

2006-09-15 09:19  christian

	* src/vm/jit/x86_64/emit.c (emit_load): Changed to new variable
	structure (varinfo * instead of stackptr) and the use of Macro
	IS_INMEMORY.
	(emit_store): Likewise.
	(emit_copy): Likewise.
	(emit_ishift): Likewise.
	(emit_lshift): Likewise.
	(emit_load_s1): Likewise and reuse emit_load.
	(emit_load_s2): Likewise and reuse emit_load.
	(emit_load_s3): Likewise and reuse emit_load.
	(emit_store_dst): Likewise and reuse emit_store.
	
	* src/vm/jit/x86_64/md-emit.h: Adapded prototypes.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Changed to new variable
	structure (varinfo * instead of stackptr, adapting of Argument
	handling, no interface copying anymore at BB Boundaries ) and the use
	of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
	emit_copy. Invars are now regarded for EXH and JSR Blocks.
	
	* src/vm/jit/x86_64/codegen.h (M_COPY): Changed to new variable
	structure.
	
	* src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed to new
	variable structure.
	
	* src/vm/jit/stack.c (new_stack_analyse): Only try to preallocate
	return stackslots, if they hold a TEMPVAR. Some preparation for SSA.
	
	* src/vm/jit/jit.c (jit_compile_intern): Had to disable
	replace_create_replacement_points(jd).
	
	* src/vm/jit/show.c (new_show_icmd): Show s1 of [FIDL]RETURN like for
	ARETURN.

2006-09-14 22:51  edwin

	* configure.ac: Generate tests/regression/jasmin/Makefile.
	
	* tests/regression/Makefile.am: Added subdir jasmin.
	
	* tests/regression/jasmin/Makefile.am: New file.
	
	* tests/regression/jasmin/runtest: Check if jasmin .jar is available.

2006-09-14 22:49  edwin

	* src/vm/jit/verify/typecheck.c (verify_basic_block): Change
	destination variable of GETFIELD/GETSTATIC after all checks have been
	performed, so there is no problem if destination == source.

2006-09-14 21:29  edwin

	* tests/regression/jasmin/test_verify_fail_retaddr_as_object.j:
	New test.

2006-09-14 21:23  edwin

	*
	tests/regression/jasmin/test_verify_fail_backward_with_new_in_local.j:
	New test.
	* tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
	Likewise.
	* tests/regression/jasmin/test_verify_fail_double_local_index.j:
	Likewise.
	*
	tests/regression/jasmin/test_verify_fail_backward_with_new_on_stack.j:
	Likewise.

2006-09-14 20:55  edwin

	* tests/regression/jasmin/test_verify_fail_long_local.j:
	Added comment.
	* tests/regression/jasmin/test_verify_fail_double_overwritten.j:
	New test.
	* tests/regression/jasmin/test_verify_fail_invoke_basic_type.j:
	New test.
	* tests/regression/jasmin/test_verify_fail_long_overwritten.j:
	New test.

2006-09-14 20:36  edwin

	* src/vm/jit/verify/typecheck.c (typecheck_invalidate_locals):
	New function.
	(verify_basic_block): Invalidate locals that share space with the
	stored local.
	(typecheck): Build reverse map of locals.

2006-09-14 18:56  edwin

	* src/vm/jit/reg.h (varinfo): Added typeinfo member.
	
	* src/vm/jit/verify/typecheck.c: Ported to unified_variables.
	* src/vm/jit/verify/typeinfo.h: Likewise.
	* src/vm/jit/verify/typeinfo.c: Likewise.

2006-09-14 18:55  edwin

	* src/vm/resolve.c (resolve_class_from_name): RESOLVE_VERBOSE changes.
	(resolve_classref_or_classinfo): Likewise.
	(resolve_class_from_typedesc): Likewise.
	(resolve_and_check_subtype_set): Likewise.
	(new_create_unresolved_field): Likewise.
	(new_create_unresolved_method): Likewise.
	
	(new_resolve_field_verifier_checks): Ported to unified_variables.
	(new_resolve_field_lazy): Likewise.
	(new_resolve_method_verifier_checks): Likewise.
	(new_resolve_method_lazy): Likewise.
	(new_constrain_unresolved_field): Likewise.
	
	
	(unresolved_subtype_set_from_typeinfo): Take classname directly,
	instead of the constant_classref *.
	
	(create_unresolved_class): Pass classname to
	unresolved_subtype_set_from_typeinfo.
	
	(new_constrain_unresolved_method): Ported to unified_variables.
	Pass classname to unresolved_subtype_set_from_typeinfo. (This should
	fix a bug when fieldref->p.classref was invalid.)
	
	(new_constrain_unresolved_method): Ported to unified_variables.
	Pass classname to unresolved_subtype_set_from_typeinfo.
	
	* src/vm/resolve.h (jit/reg.h): Include this before typeinfo.h
	(new_resolve_method_lazy): Added jd parameter.
	(new_resolve_field_lazy): Likewise.
	(new_constrain_unresolved_field): Likewise.
	(new_constrain_unresolved_method): Likewise.
	
	* src/vm/jit/parse.c (new_parse): Pass jd to resolve functions.

2006-09-14 18:45  edwin

	* src/vm/jit/show.c (new_show_method): Only show allocation of locals
	if stage is at least SHOW_REGS.
	(new_show_icmd): Show class for CHECKCAST.

2006-09-14 18:44  edwin

	* src/vm/jit/stack.c (stack_create_invars): Add extra locals needed
	by the verifier.
	(stack_create_invars_from_outvars): Likewise.
	(new_stack_analyse): Create inlocals for first block. Allow ASTORE of
	returnAddress values.

2006-09-14 18:40  edwin

	* src/vm/jit/parse.c (new_parse): Commented calculation of varcount
	and added added extra variables that will be needed by the verifier.

2006-09-14 18:36  edwin

	* src/vm/global.h (VERIFIER_EXTRA_LOCALS): New constant.
	(VERIFIER_EXTRA_VARS): Likewise.

2006-09-14 18:20  edwin

	* src/vm/class.c (class_classref_or_classinfo_print): New function.
	(class_classref_or_classinfo_println): Likewise.
	
	* src/vm/class.h (class_classref_or_classinfo_print): New function.
	(class_classref_or_classinfo_println): Likewise.

2006-09-14 18:16  edwin

	* src/vm/jit/jit.h (VAROP): New macro for accessing variable operands.
	(VAR): New macro for getting a variable from a varindex.

2006-09-14 16:46  edwin

	* tests/regression/jasmin/test_verify_fail_load_wrong_type.j:
	New test.
	* tests/regression/jasmin/
	test_verify_fail_load_wrong_type_within_block.j: New test.
	* tests/regression/jasmin/test_verify_fail_local_index.j: New test.
	* tests/regression/jasmin/test_verify_fail_long_local_index.j:
	New test.
	* tests/regression/jasmin/test_verify_fail_long_local.j: New test.
	* tests/regression/jasmin/test_verify_fail_split_local.j: New test.
	* tests/regression/jasmin/test_verify_ok_overwrite_local_type.j:
	New test.
	* tests/regression/jasmin/test_verify_ok_untyped_local.j: New test.

2006-09-13 00:21  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): Replaced catchtype.cls with
	catchtype.any to reflect that it can be a classref or a classinfo.
	
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	* src/vm/jit/mips/codegen.c (codegen): Likewise.
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
	* src/vm/jit/intrp/codegen.c (codegen): Likewise.
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.
	
	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Added XXX
	comment warning that classrefs must be resolved here.

2006-09-13 00:03  edwin

	* src/vm/jit/i386/codegen.c (codegen): Use emit_copy for LOAD/STORE
	instructions. We should also combine this with ICMD_COPY/MOVE, but
	I was not sure how to deal with the M_COPY macro.

2006-09-12 23:35  edwin

	* tests/regression/jasmin/test_swap_locals.j: New test.

2006-09-12 23:31  edwin

	* tests/regression/jasmin/test_swap_interface_slots.j: New test.

2006-09-12 23:18  edwin

	* tests/regression/jasmin/test_many_monitors.j: New test. (This test
	case used to fail with old-instruction-format cacao.)

2006-09-12 22:32  christian

	* src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
	arguments out of stack frame. Some changes to adapt SSA to unified
	variables.

2006-09-12 21:34  edwin

	* src/vm/jit/parse.c (parse_check_instructions): Renamed to
	parse_realloc_instructions to reflect what it really does. Fixed so
	it adds at least as many instructions as required by the check.
	
	* src/vm/jit/parse.h (INSTRUCTIONS_CHECK): Use
	parse_realloc_instructions.
	(MARK_BASICBLOCK): Cleaned up backslashes.

2006-09-12 21:23  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Fixed test for existing
	coalescing for *STORE.
	Properly use the return value of stack_mark_reached when analysing
	a block for the first time.
	
	* tests/regression/jasmin/test_simple_load_store.j: Added a test
	that just does ILOAD 1, ISTORE 1.

2006-09-12 00:21  edwin

	* tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
	Renamed to test_verify_fail_jsr_handler_in_sub.j, as it fails on the
	reference implementation.
	
	* tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Renamed to
	test_verify_fail_jsr_exceptions.j, likewise.
	
	* tests/regression/jasmin/test_verify_fail_ret_uninit_var.j,
	tests/regression/jasmin/test_verify_fail_aload_retaddress.j,
	tests/regression/jasmin/test_verify_fail_ret_bad_type.j: Made
	expected error match both CACAO's message and the reference
	implementation's message.

2006-09-11 23:32  edwin

	* src/vm/jit/stack.c (stack_reanalyse_block): Removed unused
	variable.

2006-09-11 23:24  edwin

	* src/vm/jit/stack.c: Added JSR elimination by block specialization.
	
	* src/vm/jit/i386/codegen.c (codegen): Treat ICMD_RET as a GOTO.

2006-09-11 23:17  edwin

	* tests/regression/jasmin/runtest: Add --color option.

2006-09-11 22:17  edwin

	* tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j: Added
	a second call of the subroutine, so cacao has to clone the exception
	handler.

2006-09-11 14:59  edwin

	* tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
	New test.
	* tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Likewise.
	* tests/regression/jasmin/test_verify_ok_jsr_through_variable.j:
	Likewise.
	* tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j:
	Likewise.
	* tests/regression/jasmin/test_verify_ok_jsr_swap.j: Likewise.

2006-09-11 14:57  edwin

	* tests/regression/jasmin/test_dup2.j: Fix stackdepth.
	* tests/regression/jasmin/test_load_store_conflict.j: Likewise.

2006-09-11 14:55  edwin

	* tests/regression/jasmin/runtest: Only show PASS if status is ok.

2006-09-11 14:54  edwin

	* src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
	Zero destination of ICMD_JSR to avoid problems when showing the IR.

2006-09-11 14:52  edwin

	* src/vm/jit/show.h (show_jit_type_letters): New variable.
	(show_jit_type_names): Likewise.
	
	* src/vm/jit/show.c (jit_type): Renamed to show_jit_type_names and
	exported.
	(show_jit_type_letters): New variable.
	(new_show_method): Improved.
	(new_show_icmd): Likewise.

2006-09-11 14:45  edwin

	* src/toolbox/logging.h (log_text): Fixed for strings containing %.

2006-09-11 14:37  edwin

	* src/vm/jit/reg.h (varinfo): Put regoff inside a union (vv) so it
	can share space with the constant values put in varinfo. Also made
	type and flags s4.
	
	* src/vm/jit/stack.c (new_stack_analyse): Replace regoff with
	vv.regoff.
	
	* src/vm/jit/show.c (new_show_method): Likewise.
	(new_show_variable): Likewise.
	
	* src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
	(reg_new_temp_func): Likewise.
	(reg_free_temp_func): Likewise.
	(new_allocate_scratch_registers): Likewise.
	(reg_make_statistics): Likewise.
	
	* src/vm/jit/i386/emit.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/codegen-common.c: Likewise.

2006-09-11 00:33  edwin

	* src/vm/global.h (TYPE_RET): New constant.
	
	* src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack):
	Display TYPE_RET correctly.

2006-09-11 00:30  edwin

	* src/vm/jit/jit.h (basicblock): Added fields `inlocals` and
	`original` (for JSR elimination).

2006-09-11 00:03  edwin

	* tests/regression/jasmin/test_verify_fail_aload_retaddress.j: New
	test.
	* tests/regression/jasmin/test_verify_fail_ret_uninit_var.j: New
	test.
	* tests/regression/jasmin/test_verify_ok_jsr_pop.j: New test.
	* tests/regression/jasmin/test_verify_ok_jsr_push.j: New test.

2006-09-10 13:51  edwin

	* tests/regression/jasmin/runtest: Return correct exit code.

2006-09-10 13:45  edwin

	* tests/regression/jasmin/runtest: Delete temporary files.
	* tests/regression/jasmin/test_verify_ok_jsr.j: New test.
	* tests/regression/jasmin/test_verify_ok_jsr_multiple_blocks.j: New
	test.
	* tests/regression/jasmin/test_verify_fail_ret_bad_type.j: New test.

2006-09-10 13:43  edwin

	* tests/regression/jasmin/runtest: Added harness code for expecting
	errors.

2006-09-10 11:35  christian

	* src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
	arguments out of stack frame.

2006-09-10 11:20  edwin

	* src/vm/jit/stack.c (DUP_SLOT): Removed code for direct coalescing.
	(DUP coalescing will be done in simplereg, probably.)

2006-09-10 09:11  edwin

	* src/vm/jit/show.c (new_show_method): Use class_print and
	class_classref_print for showing the catch type.

2006-09-09 22:33  edwin

	* src/vm/jit/stack.c: Fixed macro backslashes.

2006-09-09 22:05  edwin

	* src/vm/jit/show.c (new_show_method): Show hexadecimal offsets in
	stack slot table.

2006-09-09 21:58  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Reset the sd.new pointer at
	the beginning of each basic block.

2006-09-09 21:50  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Made control-flow easier
	to read. The majority of the code is now indented one level too much.
	I did not change this, yet, to avoid a giant diff. We can do this
	when all the branches are merged together.

2006-09-09 21:41  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Combined calls to
	stack_create_instack.

2006-09-09 21:33  edwin

	* src/vm/jit/jit.h (basicblock): Removed members instack and
	outstack.
	
	* src/vm/jit/stack.c (stack_check_invars): New function.
	(stack_create_instack): New function.
	(stack_mark_reached): Use new functions.
	(new_stack_analyse): Likewise.
	
	* src/vm/jit/stack.h (COPYCURSTACK): Removed macro.

2006-09-09 20:05  edwin

	* src/vm/jit/stack.h (COPYCURSTACK): Do not create invars here.
	
	* src/vm/jit/stack.c (stack_create_invars): New function.
	(stack_mark_reached): Use stack_create_invars.
	(new_stack_analyse): Likewise.

2006-09-09 19:37  edwin

	* src/vm/jit/jit.h (basicblock): Added fields varstart and varcount.
	Reordered fields for clarity and alignment.
	
	* src/vm/jit/stack.c (new_stack_analyse): Set varstart and varcount
	of each basic block.

2006-09-09 19:25  edwin

	* src/vm/exceptions.c (exceptions_handle_exception): Added comment on
	why we have to do eager resolving here. Check for exceptions while
	resolving the catch class reference.
	
	* src/vm/linker.c (link_class_intern): Resolve exception classes
	in handler entries lazily, instead of eagerly.

2006-09-09 14:49  edwin

	* src/vm/jit/stack.h (CURKIND): Removed macro.
	(CURTYPE): Removed macro.
	
	* src/vm/jit/stack.c (new_stack_analyse): Removed the single use of
	CURKIND.

2006-09-09 14:45  edwin

	* src/vm/jit/stack.h (Changes): Added my name.

2006-09-09 14:41  edwin

	* src/vm/jit/stack.h (REQUIRE_1, REQUIRE_2, REQUIRE_3, REQUIRE_4):
	Removed.
	* src/vm/jit/stack.c (new_stack_analyse): Use the general REQUIRE
	macro.

2006-09-08 23:59  edwin

	* src/vm/jit/stack.c (IS_TEMPVAR): Fix bug spotted
	(and produced ;) by c_u.

2006-09-08 20:54  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Added some assertion.
	When we do a STORE coalescing, the stackslot must have a creator.

2006-09-08 20:50  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Unified last_dup_boundary
	and last_pei_boundary to coalescing_boundary.
	Activated STORE coalescing. Change destination operand of creator, if
	any.

2006-09-08 20:41  edwin

	* src/vm/jit/stack.h (COPYCURSTACK): Use GET_NEW_VAR.
	Removed SET_OUTVAR.
	* src/vm/jit/stack.c (GET_NEW_VAR): New macro.
	(various macros): Use GET_NEW_VAR, so the variable type is set.
	Reset coalescing for non-consuming uses.
	(SET_TEMPVAR): Fix: do not use "copy". Change the destination operand
	of the creator, if any.
	(DST_LOCAL): Activate LOAD coalescing.
	(new_stack_analyse): Reset coalescing for pass-through operands.

2006-09-08 19:48  edwin

	* src/vm/jit/jit.h (stackelement): Added creator field.
	* src/vm/jit/stack.h (COPYCURSTACK): Set creator = NULL.
	* src/vm/jit/stack.c (DST, DST_LOCALVAR, MOVE_COPY_UP, COPY_DOWN):
	Set creator to current iptr.
	* src/vm/jit/stack.h: Cleaned up macros.
	* src/vm/jit/stack.c: Likewise.

2006-09-08 18:14  edwin

	* src/vm/jit/codegen-common.h: Removed the NEW_VAR define.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/verify/typecheck.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/reg.c: Likewise.
	* src/vm/jit/reg.h: Likewise.
	* src/vm/jit/jit.c: Likewise.
	* src/vm/jit/codegen-common.c: Likewise.
	* src/vm/jit/jit.h: Likewise, and removed the dupslots member from
	the dst_operand_t union.

2006-09-08 18:12  edwin

	* src/vm/jit/show.c (new_show_icmd): Removed code for DUPs.

2006-09-08 17:59  edwin

	* src/vm/jit/verify/typecheck.c: Removed code for DUPs.

2006-09-08 17:57  edwin

	* src/vm/jit/i386/codegen.c (codegen): Removed code for DUPs.

2006-09-08 17:50  edwin

	* src/vm/jit/i386/codegen.c (*LOAD, *STORE): Normalized the source ==
	dest check so it always looks the same.
	(LLOAD, LSTORE): Use M_LNGMOVE, not M_INTMOVE.
	(DSTORE): Combined with FSTORE, because it now has the same code.

2006-09-08 17:37  edwin

	* src/vm/jit/i386/codegen.c (codegen): Fix LSTORE: The source == dest
	test was broken.

2006-09-08 16:41  edwin

	* src/vm/jit/show.c (new_show_method): Fix display of local table.

2006-09-08 16:26  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Fix ICMD_RET: The variable
	index has to be mapped.

2006-09-08 16:07  edwin

	* src/vm/jit/stack.c (DUP_SLOT): Turn off coalescing.
	(MOVE_COPY_UP): New macro.
	(COPY_DOWN): New macro.
	(interface_map): Changed to array of interface_info.
	(*STORE): Fix index into last_store_boundary (must be javaindex).
	(DUP*, SWAP): Eliminate DUPs.
	(new_stack_analyse): Mark invar interfaces used.
	
	* src/vm/jit/show.c (new_show_method): Adapted to new
	interface_map layout.
	
	* src/vm/jit/allocator/simplereg.c (interface_regalloc): Adapted
	to new interface_map layout.
	(new_allocate_scratch_registers): Likewise.
	(new_allocate_scratch_registers): Removed code for DUP* instructions.
	(ICMD_MOVE, ICMD_COPY): Added.

2006-09-08 16:02  edwin

	* src/vm/jit/i386/codegen.h (M_FLTMOVE): Only assert(0) if move would
	have to be performed.

2006-09-08 14:17  edwin

	* src/vm/jit/show.c (show_variable): Check for invalid flags.

2006-09-08 14:16  edwin

	* src/vm/jit/i386/codegen.c (codegen): Removed a debug print.

2006-09-08 14:15  edwin

	* src/vm/jit/stack.c (DST_LOCALVAR): _Really_ turn off coalescing
	temporarily.

2006-09-08 12:19  edwin

	* src/vm/jit/allocator/simplereg.c (interface_regalloc): Changed
	allocation of interface registers. interface_map now contains the
	necessary flags, and receives a combination of allocated flags
	and regoff.
	
	(new_allocate_scratch_registers): Copy the allocation of the
	invars and outvars for each basic block.

2006-09-08 12:17  edwin

	* src/vm/jit/jit.h (LOCAL_UNUSED): Changed (in comment) to UNUSED.

2006-09-08 12:16  edwin

	* src/vm/jit/stack.c (stackdata_t): New struct for keeping internal
	data of the stack analysis. This is necessary for converting macros
	to functions.
	(various macros): Adapted to use stackdata_t. Removed old code.
	(DST_LOCALVAR): Temporarily turned off local variable coalescing.
	(MARKREACHED): Converted to a function.
	(stack_mark_reached): New function.
	(last_store_boundary): Use java indices instead of internal local
	indices into this table.
	(new_stack_analyse): Removed old code.
	
	* src/vm/jit/stack.h (various macros): Adapted to use stackdata_t.
	(MARKREACHED): Converted to a function.

2006-09-08 12:10  edwin

	* src/vm/jit/parse.h: Removed old code.
	* src/vm/jit/parse.c (new_parse): Do not modify m->maxlocals and
	cd->maxlocals.
	They refer to the number of javalocals, and that's ok. We have
	jd->localcount
	to keep the number of internal locals.

2006-09-08 12:07  edwin

	* src/vm/jit/show.c (new_show_method): Show isleafmethod.
	(new_show_method): Pretty interface map printing (prepared for
	interface register allocation changes).
	(new_show_method): Print allocation of stack slots.
	(show_allocation): New function.
	(show_variable): Mark SAVEDVARs with an exclamation mark.

2006-09-08 01:05  edwin

	* src/vm/jit/show.c (new_show_method): Only show local table if there
	are locals.

2006-09-07 23:17  edwin

	* src/vm/jit/show.c (jit_type): Made types uppercase.
	(new_show_method): Prettier printing of locals_map and interface_map.
	(SHOW_STACKVAR): Renamed to SHOW_VARIABLE.
	(new_show_stackvar): Renamed to show_variable. Cleaned up.

2006-09-07 22:44  edwin

	* src/vm/jit/allocator/simplereg.c (reg_new_temp_func): Removed old
	version.
	(reg_free_temp_func): Likewise.
	(allocate_scratch_registers): Likewise.

2006-09-07 22:39  edwin

	* src/vm/jit/allocator/simplereg.c (reg_alloc_dup): Removed.
	(new_reg_mark_copy): Likewise.

2006-09-07 14:41  edwin

	* src/vm/jit/i386/codegen.c (ICMD_COPY): Added.
	(ICMD_MOVE): Likewise.

2006-09-07 14:38  edwin

	* src/vm/jit/reg.h (varinfo): New field copycount.
	* src/vm/jit/parse.c (new_parse): Zero jd->var array.

2006-09-07 14:31  edwin

	* src/vm/jit/parse.c (new_parse): Allocate extra NOPs for stack
	operations.

2006-09-07 14:25  edwin

	* src/vm/jit/show.c (ICMD_COPY): Uncommented.
	(ICMD_MOVE): Likewise.

2006-09-07 14:24  edwin

	* src/vm/jit/jit.h, src/vm/jit/jit.c (ICMD_COPY): New ICMD.
	(ICMD_MOVE): Likewise.

2006-09-07 14:00  christian

	* src/vm/jit/allocator/simplreg: Removed #if defined(NEW_VAR) over
	some functions.

2006-09-07 13:41  edwin

	* src/vm/jit/jit.c (ENABLE_VERIFY): Corrected to ENABLE_VERIFIER.

2006-09-07 13:29  christian

	Unified variables changes for common/i386.

2006-09-07 13:01  edwin

	Branch for developing unified variables.

2006-09-07 12:52  twisti

	* src/vm/jit/i386/emit.c: Use IS_INMEMORY macro.
	* src/vm/jit/i386/codegen.c: Likewise.

2006-09-07 12:26  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Use IS_INMEMORY macro.

2006-09-07 12:24  twisti

	* src/vm/jit/powerpc/emit.c (emit_copy): Eliminate register move if
	one of the variables resides in memory.

2006-09-07 11:14  twisti

	* src/vm/jit/alpha/emit.c (emit_copy): Only one not-equal comparison.

2006-09-07 11:09  twisti

	* src/vm/jit/powerpc64/emit.c (emit_copy): Eliminate register move if
	one of the variables resides in memory.

2006-09-07 10:59  twisti

	* src/vm/jit/mips/emit.c (emit_copy): Eliminate register move if one
	of the variables resides in memory.

2006-09-07 10:46  twisti

	* src/vm/jit/i386/emit.c (emit_copy): Eliminate register move if one
	of the variables resides in memory.

2006-09-07 10:16  twisti

	* src/vm/jit/x86_64/emit.c (emit_copy): Eliminate register move if one
	of the variables resides in memory.

2006-09-07 10:03  twisti

	* src/vm/jit/alpha/emit.c (emit_copy): Eliminate register move if one
	of the variables resides in memory.

2006-09-07 09:40  twisti

	* src/vm/jit/jit.h (IS_SAVEDVAR): Added.
	(IS_INMEMORY): Likewise.

2006-09-07 00:32  edwin

	* src/vm/jit/show.c (new_show_icmd): Separate real arguments and
	pass-through variables for INVOKE*.

2006-09-07 00:29  edwin

	* src/vm/jit/show.c (new_show_icmd): Separate real arguments and
	pass-through variables for BUILTIN.

2006-09-06 23:18  twisti

	* src/vm/jit/powerpc64/linux/md-abi.h: Bugfixes and changes for new
	instruction format.
	* src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
	* src/vm/jit/powerpc64/emit.c: Likewise.
	* src/vm/jit/powerpc64/codegen.c: Likewise.
	* src/vm/jit/powerpc64/codegen.h: Likewise.

2006-09-06 22:34  twisti

	* src/vm/jit/mips/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
	Defined.
	* src/vm/jit/mips/codegen.c: Use REG_A? defines instead of
	rd->argintreg[] loads.

2006-09-06 22:16  twisti

	* src/vm/jit/alpha/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
	Defined.
	* src/vm/jit/alpha/codegen.c: Use REG_A? defines instead of
	rd->argintreg[] loads.

2006-09-06 21:56  twisti

	* src/vm/jit/x86_64/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
	Defined.
	* src/vm/jit/x86_64/codegen.c: Use REG_A? defines instead of
	rd->argintreg[] loads.

2006-09-06 21:40  twisti

	* src/vm/jit/stack.c (new_stack_analyse): Removed obsolete precedessor
	calucation.

2006-09-06 21:32  edwin

	* tests/regression/jasmin/test_dup_x2.j: Split second test into
	separate file.
	* tests/regression/jasmin/test_dup_x2_to_dup_x1: New test.

2006-09-06 21:30  edwin

	* tests/regression/jasmin/runtest: Improved harness script.

2006-09-06 21:17  twisti

	* src/vm/jit/powerpc/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
	Defined.
	* src/vm/jit/powerpc/darwin/md-abi.h: Likewise.
	
	* src/vm/jit/powerpc/codegen.c: Use REG_A? defines instead of
	rd->argintreg[] loads.

2006-09-06 17:05  twisti

	* src/vm/jit/mips/codegen.c (codegen): Generate the INVOKE/BUILTIN
	call code in a common place.

2006-09-06 16:43  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Generate the INVOKE/BUILTIN
	call code in a common place.

2006-09-06 16:41  twisti

	* src/vm/jit/i386/codegen.c (codegen): Don't move the function address
	into disp for ICMD_BUILTIN.

2006-09-06 16:30  twisti

	* src/vm/jit/i386/codegen.c (codegen): Generate the INVOKE/BUILTIN
	call code in a common place.
	(createnativestub): Removed unused disp variable.

2006-09-06 16:24  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Generate the INVOKE/BUILTIN
	call code in a common place.

2006-09-06 16:06  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Generate the INVOKE/BUILTIN
	call code in a common place.

2006-09-06 16:01  edwin

	* src/vm/jit/jit.h (INS_FLAG_NOCHECK): Reversed to INS_FLAG_CHECK.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/stack.h: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/parse.h: Likewise.

2006-09-06 15:22  edwin

	* src/vm/jit/parse.h (INSTRUCTIONS_CHECK): New macro.
	* src/vm/jit/parse.c (new_parse): Merged twisti's reallocation of the
	instruction array.

2006-09-06 14:38  twisti

	* src/vm/jit/alpha/codegen.c (ICMD_I2L): Use REG_ITMP1 for dst, this
	can save a move.
	(ICMD_LDIV, ICMD_LREM): Use argument registers for s1 and s2 when
	loaded.

2006-09-06 14:32  edwin

	Checked in jasmin tests.

2006-09-06 14:01  edwin

	* src/vm/jit/parse.c (parserdata_t): New type.
	(parse_setup): New function.
	(parse_check_instructions): New function.

2006-09-06 13:46  christian

	* src/vm/jit/stack.c (new_stack_analyse): Ifdeffed handling of new var
	system.
	
	* src/vm/jit/stack.h: Likewise.
	
	* src/vm/jit/parse.c (new_parse) : Likewise.
	
	* src/vm/jit/parse.h: Likewise.
	
	* src/vm/jit/jit.h: Ifdeffed structure entries for new var system.

2006-09-06 12:37  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Use M_ISUB in ICMD_ISUBCONST
	instead of M_IADD.

2006-09-06 11:58  twisti

	* src/vm/jit/mips/emit.c (emit_copy): Removed accidentally pasted
	code.

2006-09-06 11:12  edwin

	* src/vm/jit/stack.h: Removed macros for old instruction format.

2006-09-06 11:01  edwin

	* src/vm/jit/parse.h: Removed NEW_ prefix from macros.
	* src/vm/jit/parse.c: Likewise.

2006-09-06 10:56  edwin

	* src/vm/jit/stack.h (CHECKOVERFLOW): Removed.
	(NEW_CHECKOVERFLOW): Renamed to CHECKOVERFLOW.
	
	* src/vm/jit/stack.c (new_stack_analyse): Removed NEW_ prefix from
	macro names.

2006-09-06 10:48  edwin

	* src/vm/jit/x86_64/emit.c: Renamed new_instruction to instruction.
	* src/vm/jit/x86_64/md-emit.h: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.

2006-09-06 10:20  christian

	* src/vm/stack.c (new_stack_analyse): Removed assert to check, that
	all outvars are STACKVARS. Would be a possible conflict with swap
	
	* src/vm/parse.c (new_parse): Data colletion for local var
	renaming(de-coalescing)
	
	* src/vm/parse.h (new_pase): Likewise.
	
	* src/vm/jit.h: Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Ifdefed interface copy in
	regard to new
	var system.

2006-09-06 10:16  edwin

	* src/vm/jit/mips/emit.c (emit_load_s1): Removed obsolete src param.
	(emit_load_s2): Likewise.
	(emit_load_s3): Likewise.

2006-09-06 10:14  edwin

	* src/vm/jit/powerpc64/emit.c (emit_load): New function.
	(emit_load_s1): Implemented in terms of emit_load.
	(emit_load_s2): Likewise.
	(emit_load_s3): Likewise.
	(emit_store_dst): New function.

2006-09-06 10:09  edwin

	* src/vm/jit/mips/emit.c (emit_load): New function.
	(emit_load_s1): Implemented in terms of emit_load.
	(emit_load_s2): Likewise.
	(emit_load_s3): Likewise.
	(emit_store_dst): New function.

2006-09-06 09:57  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Implement conflict checking
	and coalescing for *STORE.
	* src/vm/jit/show.c (new_show_stackvar): Show coalescing info.

2006-09-06 00:18  christian

	* src/vm/jit/stack.c (new_stack_analyse): Mark all in and out
	Stackslots of Basic Blocks as STACKVAR.
	
	* src/vm/jit/i386/codegen.c (codegen): Removed copy of interfaces
	to in and from out stackslots.

2006-09-06 00:07  edwin

	* src/vm/jit/powerpc64/codegen.c (codegen): ++lookup in LOOKUPSWITCH
	loop.
	* src/vm/jit/powerpc64/codegen.c (codegen): Ported to new instruction
	format.

2006-09-05 23:37  edwin

	* src/vm/jit/i386/codegen.c (codegen): Port LASTORECONST, PUT*CONST.

2006-09-05 23:10  edwin

	* src/vm/jit/mips/codegen.c (codegen): Ported to new instruction
	format.

2006-09-05 23:08  twisti

	* src/vm/jit/powerpc/emit.c: Updated to new instruction format.
	* src/vm/jit/powerpc/codegen.c: Likewise.

2006-09-05 23:07  twisti

	* src/vm/builtin.c (builtin_print_argument): Print decimal values for
	int and long arguments.

2006-09-05 22:51  christian

	* i386/emit.c: Changed to new instruction format.
	* i386/codegen.c: Likewise.
	* i386/codegen.h: Likewise.
	* parse.c: Likewise.
	* parse.h: Likewise.
	* jit.h: Likewise.

2006-09-05 22:42  edwin

	* src/vm/jit/show.c (new_show_icmd): Show LOOKUPSWITCH targets.

2006-09-05 22:27  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Port MULTIANEWARRAY.

2006-09-05 22:23  edwin

	* sarc/vm/jit/parse.c (parse): Check return value of
	lock_monitor_enter.

2006-09-05 22:22  edwin

	* src/threads/native/lock.h (lock_monitor_enter): Return bool.
	* src/threads/native/lock.c (lock_monitor_enter): Check for
	NullPointerException.

2006-09-05 22:05  twisti

	* src/vm/jit/cfg.c (cfg_build): It's better to not reuse the loop
	variable.

2006-09-05 21:53  edwin

	* src/vm/jit/show.c (new_show_icmd): Show BLOCK_OF tableswitch
	targets.

2006-09-05 21:50  edwin

	* src/vm/jit/show.c (new_show_icmd): Show TABLESWITCH targets.

2006-09-05 21:20  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Port ICMD_CHECKCAST.

2006-09-05 21:20  twisti

	* src/vm/method.h (methodinfo): Removed members basicblockcount,
	basicblocks, basicblockindex, instructioncount, instructions,
	stackcount, and stack.
	
	* src/vm/jit/cfg.c: Use jitdata variables instead of methodinfo ones.
	* src/vm/jit/reorder.c: Likewise.
	* src/vm/jit/ifconv/ifconv.c: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/replace.c: Likewise.
	* src/vm/jit/jit.c: Likewise.

2006-09-05 21:17  twisti

	* src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added
	accidentally removed codegen.c.

2006-09-05 21:16  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use d for return type checks.

2006-09-05 21:15  twisti

	* src/cacaoh/headers.c: Use a dummy flag for natively overloaded
	methods.

2006-09-05 21:14  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Deactivate replacement points.
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.

2006-09-05 21:06  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Set fieldtype in all cases.

2006-09-05 20:58  edwin

	* src/vm/jit/show.c (new_show_basicblock): Prettier if.

2006-09-05 20:57  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Use jd->new_basicblocks.

2006-09-05 20:50  edwin

	* src/vm/jit/alpha/codegen.c: Use invars/outvars instead of
	instack/outstack.

2006-09-05 20:17  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Port handling of INVOKE*
	arguments.

2006-09-05 20:11  edwin

	* src/vm/jit/alpha/emit.c: Ported to new instruction format.
	* src/vm/jit/alpha/codegen.c: Likewise.

2006-09-05 19:38  twisti

	* src/vm/jit/jit.h (instruction): Removed.
	(new_instruction): Renamed to instruction.
	
	* src/vm/builtin.c: Renamed new_instruction to instruction.
	* src/vm/builtin.h: Likewise.
	* src/vm/resolve.c: Likewise.
	* src/vm/resolve.h: Likewise.
	* src/vm/jit/powerpc/emit.c: Likewise.
	* src/vm/jit/powerpc/Makefile.am: Likewise.
	* src/vm/jit/codegen-common.h: Likewise.
	* src/vm/jit/cfg.c: Likewise.
	* src/vm/jit/reorder.c: Likewise.
	* src/vm/jit/emit.h: Likewise.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/stack.h: Likewise.
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/dseg.c: Likewise.
	* src/vm/jit/verify/typecheck.c: Likewise.
	* src/vm/jit/verify/typeinfo.c: Likewise.
	* src/vm/jit/show.h: Likewise.
	* src/vm/jit/allocator/simplereg.c: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/codegen-common.c: Likewise.

2006-09-05 19:06  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): Converted with
	portcodegen.pl.
	* src/vm/jit/sparc64/codegen.c (codegen): Likewise.
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	* src/vm/jit/mips/codegen.c (codegen): Likewise.
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise.

2006-09-05 18:43  edwin

	Merge changes from trunk (powerpc64).

2006-09-05 17:42  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): Use emit_load instead of
	emit_load_s1/s2 for variable arguments and interface copying.
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	* src/vm/jit/mips/codegen.c (codegen): Likewise.
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise.

2006-09-05 17:21  edwin

	Merged changes from trunk.

2006-09-05 16:45  edwin

	* src/vm/jit/powerpc/codegen.c (codegen): ICMD_PUTSTATIC: Use
	emit_load_s1 to load the first operand.
	* src/vm/jit/sparc64/codegen.c (codegen): Likewise.
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	* src/vm/jit/mips/codegen.c (codegen): Likewise.
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise.

2006-09-05 16:12  edwin

	* src/vm/jit/jit.h (basicblock): Changed type of iinstr to
	new_instruction *.
	* src/vm/jit/stack.c (new_stack_analyse): Removed obsolete casts.
	* src/vm/jit/show.c (new_show_basicblock): Likewise.
	* src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
	* src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
	Likewise.
	* src/vm/jit/parse.c (new_parse): Likewise.
	* src/vm/jit/x86_64/codegen.c (new_parse): Likewise.

2006-09-05 12:42  edwin

	* src/vm/jit/jit.h (s3_operand_t): Removed arrayvftbl.
	* src/vm/jit/x86_64/codegen.c (codegen): ICMD_MULTIANEWARRAY:
	Use s3.c.cls instead of s3.arrayvftbl.

2006-09-05 12:29  edwin

	* src/vm/jit/jit.h (jitdata): Removed field new_rd.
	* src/vm/jit/jit.c (jit_compile): Use rd instead of new_rd.
	(jit_compile_intern): Likewise.
	* src/vm/jit/verify/typecheck.c (typecheck): Likewise.
	(verify_basic_block): Removed unused variables.
	* src/vm/jit/allocator/simplereg.c (new_regalloc):
	Use rd instead of new_rd.
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.

2006-09-05 11:53  edwin

	* src/vm/jit/x86_64/codegen.c: Ported to new instruction format.
	* src/vm/jit/x86_64/emit.c: Likewise.
	* src/vm/jit/x86_64/md-emit.h: Likewise.

2006-09-05 11:50  edwin

	* src/vm/jit/jit.h (s3_operand_t): Added union field arrayvftbl.

2006-09-05 11:47  edwin

	* src/vm/jit/jit.c (jit_compile): Test setup for the new x86_64
	codegen.
	(jit_compile_intern): Likewise.

2006-09-05 11:42  edwin

	* src/vm/jit/emit.h (emit_load*): Changed for new instruction format.
	(emit_store*): Likewise.
	(emit_copy*): Likewise.
	(emit_store_dst): New function.

2006-09-05 11:40  edwin

	* src/vm/jit/jit.h (basicblock): Added fields invars and outvars.
	* src/vm/jit/stack.h (MARKREACHED): Set invars.
	* src/vm/jit/stack.c (new_stack_analyse): Set invars and outvars.
	* src/vm/jit/show.c (new_show_basicblock): Show invars and outvars.

2006-09-05 11:34  edwin

	* src/vm/jit/jit.h (NEW_INSTRUCTION_*): Renamed to INSTRUCTION_.
	The old INSTRUCTION_ and ICMD_ macros are removed.
	* src/vm/resolve.c (NEW_INSTRUCTION_*): Replaced with INSTRUCTION_.
	* src/vm/jit/show.c (new_show_icmd): Likewise.
	* src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
	Likewise.
	* src/vm/jit/stack.c (new_stack_analyse): Likewise, and add a call
	of builtintable_replace_function.

2006-09-05 11:20  edwin

	* src/vm/jit/verify/typecheck.c: Ported to new instruction format.
	* src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
	(typeinfo_print_short): Likewise.

2006-09-05 11:16  edwin

	* src/vm/builtin.h (builtintable_replace_function): Ported to new
	instruction format.
	* src/vm/builtin.c (builtintable_replace_function): Likewise.

2006-09-05 11:13  edwin

	* src/vm/jit/show.c (new_show_variable_array): New function.
	(new_show_method): Fixed calculation of lastbptr.
	Only show code lengths if stage >= SHOW_CODE.

2006-09-05 10:52  edwin

	* src/vm/resolve.h: Removed code for old instruction format.
	* src/vm/resolve.c: Likewise.

2006-09-05 10:47  edwin

	* src/vm/jit/allocator/simplereg.h: Removed code for old instruction
	format.
	* src/vm/jit/allocator/simplereg.c: Likewise.

2006-09-05 10:44  edwin

	* src/vm/jit/show.h: Removed code for old instruction format.
	* src/vm/jit/show.c: Likewise.

2006-09-05 10:39  edwin

	* src/vm/jit/stack.h: Removed code for old instruction format.
	* src/vm/jit/stack.c: Likewise.

2006-09-05 10:37  edwin

	* src/vm/jit/parse.h: Removed code for old instruction format.
	* src/vm/jit/parse.c: Likewise.

2006-09-05 10:20  edwin

	Branch for porting the new instruction format.

2006-09-05 10:15  twisti

	* src/vm/jit/i386/Makefile.am (noinst_HEADERS): Removed
	icmd_uses_reg_res.inc.

2006-09-05 10:10  twisti

	* src/vm/jit/i386/icmd_uses_reg_res.inc: Removed.

2006-09-05 10:09  edwin

	* src/vm/jit/x86_64/codegen.h (ICONST): Fix this macro so it properly
	uses its arguments.
	(LCONST): Likewise.

2006-09-05 10:04  twisti

	* src/tests/Howdy.java: Removed.

2006-09-05 10:03  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use cd->stackframesize
	instead of stackframesize (bugfix).
	(createnativestub): Likewise.

2006-09-05 09:59  edwin

	* src/vm/jit/codegen-common.h (codegen_reg_of_dst): New function.
	* src/vm/jit/codegen-common.c (codegen_reg_of_dst): Likewise.
	Right now this duplicates codegen_reg_of_var's body. We should
	probably make one of these functions inline the other.

2006-09-05 00:12  edwin

	* src/vm/jit/ifconv/ifconv.c (ifconv_static): Deactivated
	show_basicblock calls that will become a problem when code for the
	old instruction format is removed.
	(check): Likewise.

2006-09-05 00:02  edwin

	* src/vm/resolve.c (resolve_field): new_resolve_field_verifier_checks
	used instead of the old function that will be removed soon.
	(resolve_method): Use new_resolve_method_verifier_checks instead of
	the
	old function that will be removed soon.
	(new_resolve_method_verifier_checks): Port handling of
	TYPEINFO_IS_NEWOBJECT.
	(new_resolve_method_verifier_checks): Likewise.
	(new_constrain_unresolved_field): Likewise.
	(new_constrain_unresolved_method): Likewise.

2006-09-04 23:24  edwin

	* src/vm/jit/parse.c (new_parse): Changed leftover "OP" macro uses
	to "NEW_OP".

2006-09-04 17:45  twisti

	* src/vm/jit/mips/emit.c (config.h): Added.
	[ENABLE_THREADS] (threads/native/lock.h): Likewise.
	(vm/exceptions.h): Likewise.
	(vm/stringlocal.h): Likewise.
	(vm/jit/asmpart.h): Likewise.
	(vm/jit/dseg.h): Likewise.
	(vm/jit/replace.h): Likewise.
	(emit_exception_stubs): New method.
	(emit_patcher_stubs): Likewise.
	(emit_replacement_stubs): Likewise.
	
	* src/vm/jit/mips/codegen.c (codegen): Use cd->stackframesize instead
	of stackframesize, use emit functions to generate stubs and call trace
	code.
	(createnativestub): Likewise.

2006-09-04 17:12  christian

	* src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back machine
	code.
	(patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
	(patcher_clinit): Renamed to patcher_initialize_class.
	(patcher_resolve_native): Renamed to patcher_resolve_native_function.
	(patcher_athrow_areturn): Renamed to patcher_resolve_class.
	(patcher_checkcast_instanceof_class): Renamed to
	patcher_resolve_classref_to_vftbl.
	(patcher_checkcast_instanceof_flags): Renamed to
	patcher_resolve_classref_to_flags.
	(patcher_builtin_multianewarray): Removed.
	(patcher_builtin_arraycheckcast): Likewise.
	
	* src/vm/jit/alpha/codegen.c (codegen): Use new patcher functions.

2006-09-04 16:33  twisti

	* src/vm/jit/alpha/emit.c (vm/builtin.h): Added.
	(vm/jit/abi-asm.h): Likewise.
	(vm/jit/replace.h): Likewise.
	(emit_verbosecall_enter): New method.
	(emit_verbosecall_exit): Likewise.
	
	* src/vm/jit/alpha/codegen.c (codegen): Use emit functions to generate
	call trace code.
	(createnativestub): Likewise.

2006-09-04 15:48  twisti

	* src/vm/jit/powerpc/emit.c (config.h): Added.
	[ENABLE_THREADS] (threads/native/lock.h): Likewise.
	(vm/builtin.h): Likewise.
	(vm/jit/abi-asm.h): Likewise.
	(vm/jit/asmpart.h): Likewise.
	(vm/jit/replace.h): Likewise.
	(emit_exception_stubs): New method.
	(emit_patcher_stubs): Likewise.
	(emit_replacement_stubs): Likewise.
	(emit_verbosecall_enter): Likewise.
	(emit_verbosecall_exit): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Use emit functions to
	generate stubs and call trace code.
	(createnativestub): Likewise.

2006-09-04 14:21  twisti

	* src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): We don't save
	an argument on the stack anymore, offsets adjusted.
	(asm_handle_exception): Use md_codegen_get_pv_from_pc instead of
	assembler code and temporary variables as on other RISC architectures.

2006-09-04 12:38  tbfg

	* src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Fixed off
	by one stackslot overwrite some stuff bug.
	
	* src/vm/jit/powerpc64/codegen.c (codegen): Fix parameter passing
	in.

2006-09-02 14:26  tbfg

	* src/vm/jit/powerpc64/arch.h: Reenabled platfrom features.
	
	* src/vm/jit/powerpc64/codegen.c (codegen): Fixed native calls.
	(createnativestub): Likewise.

2006-08-31 19:58  tbfg

	* srv/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed argument
	handling.

2006-08-31 13:32  tbfg

	* src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Moved from
	codegen.c refactored into function, and made it work.
	(emit_verbosecall_exit): Likewise.
	
	* src/vm/jit/powerpc64/codegen.c (codegen_trace_args): Moved into
	emit.c and renamed it to emit_verbosecall_enter.
	(codegen): Using emit_verbosecall_* instead of inline code, and
	various fixes to make verbose:call work.
	(createnativestub): Likewise.

2006-08-28 19:31  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.h: New REG_TOC name needed to
	call builtins due to ppc64 function descriptors (ELF ABI).
	
	* src/vm/jit/powerpc64/codegen.c (createnativestub): Big endian
	requires M_LLD and M_IST to copy s4 values from dseg to stack.
	(codegen): gen_method needs to create function descriptor call.
	
	* src/vm/jit/powerpc64/asmpart.S: When linking statically
	non function descriptor calls are generated by compiler.
	Some ifdefs added to fix static linking.

2006-08-28 15:18  twisti

	* src/vm/jit/patcher.h (patcher_resolve_class): Added.
	(patcher_initialize_class): Likewise.
	(patcher_resolve_classref_to_classinfo): Likewise.
	(patcher_resolve_classref_to_vftbl): Likewise.
	(patcher_resolve_classref_to_flags): Likewise.
	(patcher_resolve_native_function): Likewise.
	
	* src/vm/jit/powerpc/patcher.c (patcher_wrapper): Patch back machine
	code.
	(patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
	(patcher_clinit): Renamed to patcher_initialize_class.
	(patcher_resolve_native): Renamed to patcher_resolve_native_function.
	(patcher_athrow_areturn): Renamed to patcher_resolve_class.
	(patcher_checkcast_class): Renamed to
	patcher_resolve_classref_to_vftbl.
	(patcher_checkcast_instanceof_flags): Renamed to
	patcher_resolve_classref_to_flags.
	(patcher_builtin_multianewarray): Removed.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_instanceof_class): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Use new patcher functions
	(some of them were already commited accidentally in the last commit).

2006-08-28 13:05  twisti

	* src/vm/jit/emit.h (emit_verbosecall_enter): Added.
	(emit_verbosecall_exit): Likewise.
	
	* src/vm/jit/powerpc/emit.c (vm/builtin.h): Added.
	(vm/jit/asmpart.h): Likewise.
	(vm/jit/replace.h): Likewise.
	(emit_exception_stubs): New method.
	(emit_patcher_stubs): Likewise.
	(emit_replacement_stubs): Likewise.
	(emit_verbosecall_enter): Likewise.
	(emit_verbosecall_exit): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (vm/jit/abi-asm.h): Added.
	(codegen_trace_args): Removed.
	(codegen): Use cd->stackframesize instead of stackframesize, use emit
	functions to generate stubs and call trace code.
	(createnativestub): Likewise.

2006-08-25 11:55  tbfg

	* src/vm/jit/show.c (show_method): Stubs are printed green when
	using -debug-color.
	
	* src/vm/jit/powerpc64/linux/md-os.c (md_signal_handler_sigusr2):
	Moved into #ifdef ENABLE_THREADS conditional compile, as it depends
	on threadobject.
	
	* src/vm/jit/powerpc64/codegen.h: Added M_LADD_IMM and M_AADD_IMM
	for better reading of code. Fixed M_CLR.
	
	* src/vm/jit/powerpc64/codegen.c (codegen): Some fixes with ?RETURN,
	some fixes for -verbose:call (still defunc),
	(createnativestub): Lots of fixes in stackframe calculations.
	
	* src/vm/jit/powerpc64/patcher.c (patch_aconst): Correct asm comment.
	
	* src/vm/jit/powerpc64/disass.c (disassinstr): Display 64 bit
	addresses in disassembled code (-sa).
	
	* src/vm/jit/powerpc64/asmpart.S (L_asm_vm_call_method_return):
	Fixed path for methods returning a value.
	(L_asm_handle_exception): Fixed path for exception handling.
	(asm_patcher_wrapper): Fixed path for codepatching.

2006-08-25 07:54  twisti

	* src/vm/exceptions.c (new_illegalmonitorstateexception): Renamed to
	exceptions_new_illegalmonitorstateexception.
	(exceptions_throw_illegalmonitorstateexception): New method.
	* src/vm/exceptions.h: Likewise.
	
	* src/threads/native/lock.c (lock_monitor_exit): Use
	exceptions_throw_illegalmonitorstateexception instead of
	new_illegalmonitorstateexception.
	(lock_monitor_wait): Likewise.
	(lock_monitor_notify): Likewise.
	
	* src/cacaoh/headers.c (new_illegalmonitorstateexception): Renamed to
	exceptions_throw_illegalmonitorstateexception.

2006-08-25 07:29  twisti

	* src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
	reallocating the code area.
	(emit_patcher_stubs): Reuse the asm_patcher_wrapper call code.
	(emit_replacement_stubs): Removed savedmcodeptr.

2006-08-25 07:14  twisti

	* src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
	reallocating the code area.
	(emit_patcher_stubs): Likewise.

2006-08-24 18:42  twisti

	* src/vm/jit/codegen-common.h (codegendata): Added stackframesize. I
	think this is more obvious than in jitdata.
	
	* src/vm/jit/jit.h (jitdata): Removed stackframesize.
	
	* src/vm/jit/alpha/emit.c (emit_exception_stubs): Replaced
	jd->stackframesize with cd->stackframesize.
	
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.
	
	* src/vm/jit/i386/emit.c (emit_exception_stubs): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.

2006-08-24 09:29  tbfg

	srv/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): Moved
	inside
	ENABLE_THREADS ifdef as is depends on threads.

2006-08-23 16:04  twisti

	* src/vm/jit/alpha/emit.c [ENABLE_THREADS] (threads/native/lock.h):
	Added.
	(vm/jit/asmpart.h): Likewise.
	(vm/jit/dseg.h): Likewise.
	(emit_exception_stubs): New function.
	(emit_patcher_stubs): Likewise.
	(emit_replacement_stubs): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Use jd->stackframesize, removed
	stub generation code.
	(createnativestub): Likewise.

2006-08-23 15:55  twisti

	* src/vm/jit/alpha/asmpart.S (asm_handle_exception): Fixed bug with
	maybe-leaf stack and use same registers as on MIPS.

2006-08-23 15:45  twisti

	* src/vm/jit/alpha/asmpart.S (asm_handle_exception): Use
	md_codegen_get_pv_from_pc.

2006-08-23 15:10  twisti

	* src/vm/jit/mips/asmpart.S (asm_handle_exception): Changed some
	comments.

2006-08-23 14:55  twisti

	* src/vm/jit/alpha/asmpart.S (L_asm_handle_exception_stack_loop):
	Don't save xpc.

2006-08-23 14:23  twisti

	* src/boehm-gc/configure.in (AC_C_INLINE): Set CFLAGS properly before.

2006-08-23 14:07  twisti

	* configure.ac (AC_CONFIG_SUBDIRS): Moved to the end of the file and
	export OPT_CFLAGS/ARCH_CFLAGS instead of CFLAGS.
	
	* src/boehm-gc/configure.in: Pass CFLAGS to Makefile's as for CACAO.
	* src/boehm-gc/Makefile.am (AM_CXXFLAGS, AM_CFLAGS): Commented.
	(AM_CPPFLAGS): Added.

2006-08-23 12:57  twisti

	* src/vm/jit/alpha/emit.c (config.h): Added.
	[ENABLE_THREADS] (threads/native/lock.h): Likewise.
	(vm/jit/asmpart.h): Likewise.
	(vm/jit/dseg.h): Likewise.
	(emit_exception_stubs): New function.
	(emit_patcher_stubs): Likewise.
	(emit_replacement_stubs): Likewise.
	
	* src/vm/jit/alpha/codegen.c (codegen): Use jd->stackframesize, use
	new desg_add_* functions, removed stub generation code.
	(createnativestub): Likewise.

2006-08-23 12:29  twisti

	* src/vm/vm.c (OPT_ALL, OPT_METHOD, OPT_SIGNATURE): #ifndef NDEBUG.
	(usage): Don't print -all, -m, -sig options.

2006-08-23 12:12  twisti

	* src/vm/jit/emit.h (emit_replacement_stubs): Added.

2006-08-22 20:48  twisti

	* src/vm/jit/i386/md-emit.h (vm/jit/codegen-common.h): Added.

2006-08-22 19:53  twisti

	* src/vm/jit/emit.h (emit_exception_stubs): Added.
	(emit_patcher_stubs): Likewise.
	
	* src/vm/jit/jit.h (jitdata): Added member stackframesize.

2006-08-22 15:49  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.h: Added PA_SIZE and
	PA_SIZE_IN_POINTERS defines.
	
	* src/vm/jit/powerpc64/arch.h: Enabled machine dependend
	compare_and_swap implementation for ppc64.
	
	* src/vm/jit/powerpc64/codegen.c (codegen): Remove lot of PACK_REGS
	usages, changed stack address calculations from *4 -> *8, added
	a M_NOP for debugging.
	
	* src/vm/jit/powerpc64/machine-instr.h (compare_and_swap): Ported
	for 64 bit.
	(atomic_add): Removed.
	
	* src/vm/jit/powerpc64/patcher.c (patcher_wrapper): Fixed stack
	calculations from *4 -> *8
	(patcher_aconst): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_checkcast_class): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interf): Likewise.
	(patcher_clinit): Likewise.
	(patcher_get_putfield): Likewise.
	(patcher_get_putstatic): Likewise.
	(patcher_instanceof_class): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_resolve_native): Likewise.
	
	* src/vm/jit/powerpc64/asmpart.S (asm_patcher_wrapper): Fixed
	calling convetions, as we callback C. Fixed 32 bit issues.
	(asm_call_jit_compiler): PPC64 has additional PA_SIZE
	on stack - fixed that.

2006-08-22 14:39  twisti

	* src/native/vm/java_lang_VMThrowable.c (fillInStackTrace): Removed
	architecture #ifdef's.
	(getStackTrace): Likewise.

2006-08-22 12:43  twisti

	* src/native/native.c (dummynativetable): Made non-static, GCC 4.1
	optimized the table away.
	(native_init): Removed dummynativetable-hack.

2006-08-22 09:02  tbfg

	* src/vm/options.h: Renamed -verbosecolor to -debug-color,
	opt_colorverbose to opt_debugcolor and OPT_COLORVERBOSE to
	OPT_DEBUGCOLOR
	* src/vm/method.c: Same as above.
	* src/vm/jit/dseg.c: Same as above.
	* src/vm/vm.c: Same as above.
	* src/vm/options.c: Same as above.
	* src/vm/jit/Makefile.am: Removed options.h dependecy, as deps are
	tracked automatically.

2006-08-21 17:37  twisti

	* src/lib/vm/reference/gnu/classpath/VMStackWalker.java
	(firstNonNullClassLoader): Added and made native.
	
	* src/native/vm/gnu_classpath_VMStackWalker.c (getClassContext):
	Removed architecture #ifdef's, as most stacktrace stuff is
	architecture independent and the dependent stuff is very simple to
	implement.
	(getCallingClass): Likewise.
	(getCallingClassLoader): Likewise.
	(firstNonNullClassLoader): Added.

2006-08-21 15:25  twisti

	* src/vm/jit/i386/asmpart.S (L_asm_patcher_wrapper_exception): Removed
	duplicate add line.

2006-08-21 15:17  twisti

	* configure.ac (AC_CONFIG_FILES): Added
	src/vm/jit/i386/darwin/Makefile.
	
	* src/vm/jit/i386/codegen.c (createnativestub): Align stack to
	16-bytes.
	
	* src/vm/jit/i386/darwin/md-os.c: Darwin specific functions.
	* src/vm/jit/i386/darwin/md-asm.h: Darwin specific assembler defines.
	* src/vm/jit/i386/darwin/Makefile.am: New file.
	* src/vm/jit/i386/darwin/.cvsignore: Likewise.
	
	* src/vm/jit/i386/linux/md-asm.h: Linux specific assembler defines.
	* src/vm/jit/i386/freebsd/md-asm.h: FreeBSD specific assembler
	defines.
	
	* src/vm/jit/i386/md-asm.h: Removed.
	
	* src/vm/jit/i386/asmpart.S (asm_handle_exception): Align stack to
	16-bytes.
	(asm_abstractmethoderror): Likewise.
	(asm_patcher_wrapper): Likewise.
	(asm_builtin_f2i, asm_builtin_d2i, asm_builtin_f2l, asm_builtin_d2l):
	Likewise.
	
	* src/vm/jit/i386/Makefile.am (DIST_SUBDIRS): Added darwin.
	(AM_CPPFLAGS): Added OS_DIR as include.
	(noinst_HEADERS): Removed md-asm.h.
	
	* src/threads/native/threads.c (threads_cast_darwinstop): Use generic
	defines and machine dependent structures.

2006-08-21 14:52  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h (asm_initialize_thread_stack):
	Define removed.
	(asm_perform_threadswitch): Likewise.
	(asm_switchstackandcall): Likewise.

2006-08-18 18:37  tbfg

	src/vm/options.h: Added the commandlineswitch --verbosecolor which
	enables
	colored output of show: -si prints method names in red -sd shows
	datasegment
	dump in blue. (use | less -R)
	
	src/vm/options.c (options_get): There is a nasty bug in there, read
	comment.

2006-08-18 13:07  twisti

	* src/toolbox/util.c (util_current_time_millis): Removed.
	* src/toolbox/util.h: Likewise.
	
	* src/vm/vm.c (vm_create): Use builtin_currenttimemillis instead of
	util_current_time_millis.

2006-08-18 13:01  twisti

	* src/vm/exceptions.c (new_arraystoreexception): Renamed to
	exceptions_new_arraystoreexception.
	(exceptions_throw_arraystoreexception): New function.
	* src/vm/exceptions.h: Likewise.
	
	* src/vm/builtin.c (builtintable_init): Reimplemented and added
	builtintable_function.
	(builtintable_replace_function): New function.
	(builtin_arraycopy): Likewise.
	(builtin_currenttimemillis): Likewise.
	
	* src/vm/builtin.h (builtintable_entry): Added some extra members.
	(builtin_asm_get_exceptionptrptr): Removed.
	(builtintable_replace_function): Added.
	(builtin_arraycopy): Likewise.
	(builtin_currenttimemillis): Likewise.
	
	* src/vm/builtintable.inc (builtintable_internal): Use new
	builtintable_entry structure.
	(builtintable_automatic): Likewise.
	(builtintable_function): Added.
	
	* src/vm/jit/stack.c (stack_analyse): Call
	builtintable_replace_function.
	
	* src/vm/jit/show.c (new_show_icmd): Print correct variable of builtin
	calls.
	(show_icmd): Likewise.
	
	* src/vm/jit/stacktrace.c (stacktrace_inline_arraystoreexception): Use
	exceptions_new_arraystoreexception.
	
	* src/native/vm/java_lang_VMSystem.c (arraycopy): Removed
	implementation and use builtin_arraycopy.
	
	* src/cacaoh/headers.c
	(exceptions_throw_arrayindexoutofboundsexception): Added.
	(exceptions_new_arraystoreexception): Likewise.
	(exceptions_throw_arraystoreexception): Likewise.

2006-08-18 12:24  twisti

	* src/vm/class.c (class_java_lang_VMSystem): Added.
	* src/vm/class.h: Likewise.
	* src/vm/loader.c (loader_init): Likewise.
	* src/vm/linker.c (linker_init): Likewise.

2006-08-18 10:22  tbfg

	src/vm/jit/powerpc64/linux/md-os.c: Ported signal handlers to ppc64
	ucontext.

2006-08-17 17:51  tbfg

	src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
	opcodes in
	casetests.
	
	src/vm/jit/powerpc64/arch.h: Temporarily disabled all hardwarefeaturs
	to
	make porting easier.
	
	src/vm/jit/powerpc64/codegen.c: Started to fix 32/64 bit issues.
	
	src/vm/jit/powerpc64/codegen.h: Removing special long handling.
	
	src/vm/jit/powerpc64/patcher.c: Changed comment only.

2006-08-17 09:59  twisti

	* src/vm/jit/i386/asmpart.S (asm_patcher_wrapper): Restore REG_ITMP3
	from stub stack. I missed this when I did the last changes.

2006-08-17 09:26  twisti

	* src/vm/jit/optimizing: Added ignore property.

2006-08-16 15:35  christian

	* src/vm/jit/optimizing/.cvsignore: New file.

2006-08-16 12:21  christian

	* src/vm/jit/stack.c (stack_analyse): Use of real PEI data
	(op_data[opcode][PEI]) to prevent copy propagation to LOCALVAR with
	ICMD_XSTORE instead of just regarding INVOKES as PEI's.

2006-08-16 12:11  christian

	* src/toolbox/worklist.h: Comments added.

2006-08-16 12:10  christian

	* src/toolbox/bitvector.c: Comments added.
	
	* src/toolbox/bitvector.h: Comments added.
	
	* src/toolbox/worklist.c: Comments added.

2006-08-16 11:35  christian

	* src/toolbox/worklist.c: Corrected Header information.
	
	* src/toolbox/worklist.h: Likewise.
	
	* src/toolbox/bitvector.c: Likewise.
	
	* src/toolbox/bitvector.h: Likewise.

2006-08-16 11:31  christian

	* src/vm/jit/allocator/liveness.c: Corrected Header information.
	
	* src/vm/jit/allocator/liveness.h: Likewise.
	
	* src/vm/jit/allocator/lsra.c: Likewise.
	
	* src/vm/jit/allocator/lsra.h: Likewise.

2006-08-16 11:26  christian

	* src/vm/jit/optimizing/dominators.c: Corrected Header information.
	
	* src/vm/jit/optimizing/dominators.h: Likewise.
	
	* src/vm/jit/optimizing/graph.c: Likewise.
	
	* src/vm/jit/optimizing/graph.h: Likewise.
	
	* src/vm/jit/optimizing/lifetimes.c: Likewise.
	
	* src/vm/jit/optimizing/lifetimes.h: Likewise.
	
	* src/vm/jit/optimizing/lsra.c: Likewise.
	
	* src/vm/jit/optimizing/lsra.h: Likewise.
	
	* src/vm/jit/optimizing/ssa.c: Likewise.
	
	* src/vm/jit/optimizing/ssa.h: Likewise.

2006-08-16 11:18  christian

	* src/vm/jit/optimizing/ssa.c (ssa_print_phi): Printing now phi
	functions correctly for debug output.
	
	* src/vm/jit/optimizing/ssa.c (dead_code_elimination): No removal of
	potential exception throwing instructions (PEI) anymore.
	
	* src/vm/jit/jit.h: Renamed op_needs_saved[] to op_data[][NEEDS_SAVED]
	and introduced the new op_data[][PEI].
	
	* src/vm/jit/jit.c (jit_init): Added init of op_data[NEEDS_SAVED|PEI]
	
	* src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Renamed
	op_needs_saved[] to the new op_data[][NEEDS_SAVED]

2006-08-15 14:54  christian

	* src/vm/jit/optimizing/lifetimes.c (LifenessAnalysis): Ignore
	variables used in phi functions, if they define itself (x =
	phi(...,x,...)).
	
	* src/vm/jit/i386/codegen.c (codegen): Bugfix in code created for
	ICMD_IINC for SSA.
	
	* src/vm/jit/show.c (new_show_method): Regard ENABLE_SSA like
	ENABLE_LSRA to suppress output of interfaces.
	
	* src/vm/jit/show.c (show_method): likewise.
	
	* src/vm/jit/show.c (show_icmd): Regard special operand format for
	ICMD_IINC with SSA.

2006-08-14 18:14  christian

	* src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
	by now - does not work by now, code merging with svn head introduced
	some hazardous faults).
	
	* src/vm/jit/optimizing/dominators.c: Computation of dominators and
	domination frontier for SSA.
	
	* src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
	
	* src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
	
	* src/vm/jit/optimizing/graph.h: Include file for graph.c
	
	* src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
	
	* src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
	
	* src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
	
	* src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
	
	* src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
	directory.
	
	* src/vm/jit/optimizing/ssa.c: Computation of SSA form.
	
	* src/vm/jit/optimizing/ssa.h: Include File for ssa.c.

2006-08-14 18:10  christian

	* src/vm/jit/optimizing: New directory

2006-08-14 17:50  christian

	* src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
	by now - does not work by now, code merging with svn head introduced
	some hazardous faults).
	
	* src/vm/jit/optimizing/dominators.c: Computation of dominators and
	domination frontier for SSA.
	
	* src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
	
	* src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
	
	* src/vm/jit/optimizing/graph.h: Include file for graph.c
	
	* src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
	
	* src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
	
	* src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
	
	* src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
	
	* src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
	directory.
	
	* src/vm/jit/optimizing/ssa.c: Computation of SSA form.
	
	* src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
	
	* src/vm/jit/allocator/lsra.c: Moved from src/vm/jit. Quite complete
	code change (including: no more allocation of unused reserved
	registers, possibility of exact lifetime analysis, removal of old
	lifetime test functions).
	
	* src/vm/jit/allocator/lsra.h: Moved from src/vm/jit.
	
	* src/vm/jit/allocator/liveness.c: New File. Exact lifetime analysis
	for LSRA.
	
	* src/vm/jit/allocator/liveness.h: New File. Include File for
	liveness.c. The #define LV enables by now the exact liveness analysis.
	
	* src/vm/jit/allocator/Makefile.am: Adopted for new/moved files in
	src/vm/jit/allocator.
	
	* sc/vm/jit/Makefile.am: Adopted for above new/moved files.
	
	* configure.ac: Introduced ENABLE_SSA: new option --enable-ssa.
	Changes for ENABLE_LSRA (--enable-lsra). New Makefile in
	src/vm/jit/optimizing added.
	
	* src/vm/jit/allocator/simplereg.c (reg_make_statistics): Support for
	ENABLE_SSA for statistics.
	
	* src/vm/options.h: opt_lsra is used with ENABLE_SSA like with
	ENABLE_LSRA.
	
	* src/vm/options.c: opt_lsra is used with ENABLE_SSA like with
	ENABLE_LSRA.
	
	* src/vm/global.h: New struct imm for union imm_union to get another
	operand for IINC in combination with SSA added.
	
	* src/vm/vm.c: opt_lsra and the option -lsra is used with ENABLE_SSA
	like with ENABLE_LSRA.
	
	* src/vm/jit/stack.c (stack_analyse): No stack element lifetimes
	counting anymore for lsra/ssa (m->maxlifetimes).
	
	* src/vm/jit/stack.h: No stack lifetime counting anymore for lsra/ssa
	(m->maxlifetimes).
	
	* src/vm/jit/i386/codegen.c: Support for ENABLE_SSA added.
	
	* src/vm/jit/i386/codegen.c (codegen_insert_phi_moves): New function
	to insert phi moves for SSA at the end of Basic Blocks.
	
	* src/vm/jit/i386/codegen.c (cg_move): New function to create the
	instructions for the actual move for codegen_insert_phi_moves).
	
	* src/vm/jit/i386/codegen.c (codegen): Logic and calls to use
	codegen_insert_phi_moves for SSA added. With SSA for parameters in
	memory this memory positions cannot be reused to avoid copying. Checks
	added to prevent moves to or from stackslots removed by the dead code
	elimination. Special handling for the new ICMD_IINC operand format
	used by SSA added.
	
	* src/vm/jit/i386/codegen.h (M_COPY): Checks added to prevent moves to
	or from stackslots removed by the dead code elimination. Original
	M_COPY renamed to _M_COPY.
	
	* src/vm/jit/jit.c (jit_init): Populate op_needs_saved. Regard
	ENABLE_SSA.
	
	* src/vm/jit/jit.h: Support for ENABLE_SSA added. Added an array which
	shows which ICMD's need a SAVEDVAR for SSA and the new LSRA with exact
	liveness analysis. src/toolbox/Makefile.am: Changed to include the
	following new files:
	
	* src/toolbox/bitvector.c: Bitvector implementation for SSA.
	
	* src/toolbox/bitvector.h: Include file for bitvector.c.
	
	* src/toolbox/worklist.c: Worklist implementation for SSA.
	
	* src/toolbox/worklist.h: Include file for worklist.c.

2006-08-14 10:59  twisti

	* src/vm/jit/codegen-common.c (codegen_findmethod): Renamed to
	codegen_get_pv_from_pc.
	
	* src/vm/jit/codegen-common.h (codegen_findmethod): Likewise.
	(md_codegen_findmethod): Renamed to md_codegen_get_pv_from_pc.
	
	* src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
	Likewise.
	(stacktrace_create_inline_stackframeinfo): Likewise.
	(stacktrace_create_extern_stackframe): Likewise.
	(stacktrace_create): Likewise.
	
	* src/vm/jit/alpha/md.c (md_codegen_findmethod): Renamed to
	md_codegen_get_pv_from_pc.
	* src/vm/jit/i386/md.c: Likewise.
	* src/vm/jit/mips/md.c: Likewise.
	* src/vm/jit/powerpc/md.c: Likewise.
	* src/vm/jit/powerpc64/md.c: Likewise.
	* src/vm/jit/sparc64/md.c: Likewise.
	* src/vm/jit/x86_64/md.c: Likewise.
	
	* src/vm/jit/i386/asmpart.S: Likewise.
	* src/vm/jit/mips/asmpart.S: Likewise.
	* src/vm/jit/powerpc/asmpart.S: Likewise.
	* src/vm/jit/x86_64/asmpart.S: Likewise.
	* src/vm/jit/intrp/asmpart.c: Likewise.
	
	* src/vm/jit/i386/patcher.c (patcher_wrapper): Fixed comment.
	* src/vm/jit/x86_64/patcher.c: Likewise.

2006-08-11 13:11  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.h: LA_WORD_SIZE renamed to
	LA_SIZE_IN_POINTERS, value fixed
	* src/vm/jit/powerpc64/linux/md-abi.c: LA_SIZE_IN_POINTERS rename
	* src/vm/jit/powerpc64/linux/md.c (md_codegen_findmethod): PPC64 uses
	r14
	instead of r13 (as PPC) for PV so opcodes changed.
	* src/vm/jit/powerpc64/asmpart.S: Using LA_SIZE instead of
	LA_WORD_SIZE,
	LA_SIZE_IN_POINTERS for SAVE_*_REGISTERS macros only.

2006-08-11 10:13  twisti

	* src/vm/jit/powerpc/linux/md-abi.h (LA_WORD_SIZE): Renamed to
	LA_SIZE_IN_POINTERS.
	
	* src/vm/jit/powerpc/darwin/md-abi.h (LA_WORD_SIZE): Likewise.
	
	* src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Use
	LA_SIZE_IN_POINTERS instead of LA_WORD_SIZE.
	
	* src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
	
	* src/vm/jit/powerpc/asmpart.S: Likewise.
	
	* src/vm/jit/stack.c (new_stack_analyse): Likewise.
	(stack_analyse): Likewise.
	
	* src/vm/jit/reg.c (reg_setup): Likewise.

2006-08-10 19:45  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.h: fixed linkage area defines for
	64bit abi.
	* src/vm/jit/powerpc64/linux/md-asm.h: fixed register name defines
	and
	SAVE/RESTORE macros.
	* src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): fixed no
	argument method
	call path, coming back to C now.

2006-08-10 09:10  twisti

	* src/boehm-gc/darwin_stop_world.c: Updated to version 6.8.
	* src/boehm-gc/doc/README.changes: Likewise.
	* src/boehm-gc/doc/README: Likewise.
	* src/boehm-gc/include/gc.h: Likewise.
	* src/boehm-gc/include/gc_config_macros.h: Likewise.
	* src/boehm-gc/include/private/gcconfig.h: Likewise.
	* src/boehm-gc/configure.in: Likewise.
	* src/boehm-gc/version.h: Likewise.
	* src/boehm-gc/malloc.c: Likewise.
	* src/boehm-gc/pthread_support.c: Likewise.
	* src/boehm-gc/os_dep.c: Likewise.
	* src/boehm-gc/dyn_load.c: Likewise.

2006-08-09 15:11  twisti

	* src/vm/jit/i386/codegen.c (codegen): Fixed ICMD_LMUL bug.

2006-08-09 15:10  twisti

	* src/vm/jit/i386/emit.c (emit_load_s1): Coding style changes.
	(emit_load_s2): Likewise.
	(emit_load_s3): Likewise.
	(emit_load_s1_low): Likewise.
	(emit_load_s2_low): Likewise.
	(emit_load_s1_high): Likewise.
	(emit_store): Likewise.

2006-08-08 19:57  edwin

	* src/vm/jit/jit.c (stackreq): Initialize this table statically.
	(jit_init): Removed dynamic initialization of stackreq table.

2006-08-08 19:23  edwin

	* src/native/vm/java_lang_reflect_Method.c
	(Java_java_lang_reflect_Method_invokeNative): Removed unused
	variables.
	
	* src/native/vm/java_lang_reflect_Constructor.c (vm/access.h):
	Include to fix warning.

2006-08-08 19:18  edwin

	* src/native/vm/java_lang_reflect_Field.c (cacao_get_field_address):
	Use access_check_caller.

2006-08-08 16:21  edwin

	* src/vm/access.h, src/vm/access.c (access_check_caller): Added.
	
	* src/native/vm/java_lang_reflect_Method.c
	(Java_java_lang_reflect_Method_invokeNative): Use access_check_caller
	for the access check.
	
	* src/native/vm/java_lang_reflect_Constructor.c
	(Java_java_lang_reflect_Constructor_constructNative): Likewise. This
	should fix the mauve test case
	java.lang.reflect.AccessibleObject.security.
	
	* src/cacaoh/headers.c (stacktrace_getClassContext): Added dummy
	implementation.

2006-08-08 14:24  twisti

	* src/vm/jit/parse.h (new_block_insert): Renamed to
	NEW_MARK_BASICBLOCK.
	(block_insert): Renamed to MARK_BASICBLOCK.
	
	* src/vm/jit/parse.c (new_fillextable): Likewise.
	(fillextable): Likewise.
	(new_parse): Likewise.
	(parse): Likewise.

2006-08-08 13:25  twisti

	* src/vm/jit/stack.c (new_stack_analyse): Replaced debug_nr with nr.
	
	* src/vm/jit/verify/typecheck.c (typestate_reach): Likewise.
	(verify_basic_block): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	* src/vm/jit/powerpc/codegen.c (codegen): Likewise.
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.

2006-08-08 13:03  twisti

	* src/vm/jit/cfg.c (cfg_insert_predecessors): New method.
	(cfg_build): Use cfg_insert_predecessors for TABLESWITCH and
	LOOKUPSWITCH.

2006-08-08 13:01  edwin

	* src/vm/resolve.h, src/vm/resolve.c (new_resolve_method_lazy):
	Removed curstack parameter.
	(new_resolve_field_lazy): Likewise.
	(new_constrain_unresolved_field): New function.
	(new_constrain_unresolved_method): Likewise.
	
	* src/vm/jit/parse.c (new_parse): Use new_resolve_field_lazy and
	new_resolve_method_lazy.

2006-08-08 12:56  edwin

	* src/vm/jit/stack.c (new_stack_analyse): For INVOKE* instructions,
	store the live-through stack slots as additional arguments after
	the live-in slots. These live-through slots are needed by the
	verifier and by on-stack replacement in order to create a replacement
	point at the call site.
	NOTE: Currently the live-through slots are also stored for builtins.
	This should change in the final version.

2006-08-08 12:46  edwin

	* src/vm/jit/jit.h (NEW_INSTRUCTION_IS_RESOLVED): New macro.
	(NEW_INSTRUCTION_IS_UNRESOLVED): Likewise.
	(NEW_INSTRUCTION_MUST_CHECK): Likewise.

2006-08-08 12:45  twisti

	* src/vm/jit/cfg.h (CFG_UNKNOWN_PREDECESSORS): Defined.
	
	* src/vm/jit/stack.c (vm/jit/cfg.h): Added.
	(new_stack_analyse): Set predecessorcount for EXH blocks to
	CFG_UNKNOWN_PREDECESSORS.
	(stack_analyse): Likewise.
	
	* src/vm/jit/show.c (new_show_basicblock): Print predecessor block
	numbers.
	(show_basicblock): Likewise.

2006-08-07 16:10  twisti

	* src/vm/jit/reorder.c (reorder): Iterate to m->basicblockcount + 1,
	so we kind of set the last basic block too.

2006-08-07 15:30  twisti

	* src/vm/jit/jit.h (basicblock): Renamed debug_nr to nr.
	(BASICBLOCK_INIT): Likewise.
	
	* src/vm/jit/reorder.c (reorder_place_next_unplaced_block): Likewise.
	(reorder): Likewise.
	
	* src/vm/jit/show.c (new_show_method): Likewise.
	(show_method): Likewise.
	(new_show_basicblock): Likewise.
	(show_basicblock): Likewise.
	(SHOW_TARGET): Likewise.
	(show_icmd): Likewise.
	
	* src/vm/jit/ifconv/ifconv.c (check): Likewise.
	
	* src/vm/jit/loop/analyze.c (insert_exception): Likewise.
	(copy_handler): Likewise.
	(create_static_checks): Likewise.
	
	* src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
	(typecheck_reset_flags): Likewise.
	(typecheck): Likewise.
	
	* src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
	(typeinfo_print_short): Likewise.
	(typeinfo_print_stacktype): Likewise.

2006-08-07 15:12  tbfg

	* src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method, asm_cacheflush):
	ppc64 abi needs function descriptor for function called from other
	relocateable modules and uses direct calling for module intern calls.

2006-08-07 11:15  twisti

	* src/vm/jit/reorder.c (reorder): #ifdef debug output.

2006-08-07 11:12  twisti

	* src/vm/jit/Makefile.am (libjit_la_SOURCES): Add cfg.[ch] and
	reorder.[ch] for debugging.

2006-08-07 11:10  twisti

	* src/vm/jit/jit.c (vm/jit/cfg.h): Added.
	(vm/jit/reorder.h): Likewise.
	(jit_recompile): Set JITDATA_FLAG_REORDER flag.
	(jit_compile_intern): Call cfg_build and reorder.
	(jit_complement_condition): New function.
	
	* src/vm/jit/jit.h (basicblock): Changed type of predecessors and
	successors.
	(jit_complement_condition): Added.
	
	* src/vm/jit/cfg.c (cfg_allocate_predecessors): New method.
	(cfg_allocate_successors): Likewise.
	(cfg_build): Finished implementation.
	
	* src/vm/jit/reorder.c (reorder_place_next_unplaced_block): New
	function.
	(reorder): Improved, still not working.
	
	* src/vm/jit/show.c (new_show_method): Walk the basic block chain to
	find the last block, as this may change.
	(show_method): Likewise.

2006-08-04 14:50  twisti

	* src/vm/jit/reorder.c: New file.
	* src/vm/jit/reorder.h: Likewise.

2006-08-04 14:42  twisti

	* src/vm/jit/parse.c (new_parse): MZERO basicblock array.
	(parse): Likewise.
	
	* src/vm/jit/jit.h (JITDATA_FLAG_REORDER): Added.
	(JITDATA_HAS_FLAG_REORDER): Likewise.
	(basicblock): Removed pre_count and added predecessorcount,
	successorcount, predecessors, successors.
	(BASICBLOCK_INIT): Don't zero fields.
	
	* src/vm/jit/stack.c (new_stack_analyse): Renamed pre_count to
	predecessorcount.
	(stack_analyse): Likewise and removed predecessor count calculation.
	
	* src/vm/jit/show.c (new_show_basicblock): Likewise.
	(show_basicblock): Likewise.
	
	* src/vm/jit/ifconv/ifconv.c (ifconv_static): Likewise.

2006-08-04 14:27  twisti

	* src/vm/jit/cfg.c: New file.
	* src/vm/jit/cfg.h: Likewise.

2006-08-04 14:10  twisti

	* src/vm/options.c (opt_foo): Added. This is a development option.
	* src/vm/options.h (opt_foo): Likewise.
	
	* src/vm/vm.c (vm_create): Added OPT_FOO.

2006-08-01 20:38  twisti

	* autogen.sh: Recognize autoconf 2.60.

2006-08-01 15:51  twisti

	* src/vm/jit/codegen-common.c (codegen_createnativestub): Set
	JITDATA_FLAG_INSTRUMENT for opt_prof.

2006-08-01 15:08  twisti

	* src/vm/jit/recompile.c (recompile_thread): Check return value of
	jit_recompile and print the exception in error case.

2006-08-01 13:10  twisti

	* src/vm/jit/parse.c (new_parse): Replaced opt_verify with
	JITDATA_HAS_FLAG_VERIFY, because on recompilation we don't turn
	verifying on.

2006-07-31 20:42  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Load address for INVOKESTATIC
	from data segment and pass the displacement to the patcher.
	
	* src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
	displacement from patcher, not from the instruction.
	(patcher_builtin_multianewarray): Don't patch BUILTIN_multianewarray
	address, it's not required.
	(patcher_invokestatic_special): Use displacement passed and patch the
	data segment.
	
	* src/vm/jit/x86_64/md.c (md_stacktrace_get_returnaddress): Changed to
	new INVOKESTATIC calling sequence.

2006-07-31 16:30  twisti

	* src/native/native.c
	(native/include/java_lang_management_VMManagementFactory.h): Added.
	(dummynativetable): Added VMManagementFactory methods.

2006-07-31 16:26  twisti

	* src/native/include/.cvsignore: Added
	java_lang_management_VMManagementFactory.h.

2006-07-31 16:25  twisti

	* src/native/vm/java_lang_management_VMManagementFactory.c: New file.
	
	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	java_lang_management_VMManagementFactory.c.
	
	* src/native/include/Makefile.am
	(ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
	java_lang_management_VMManagementFactory.h.

2006-07-31 15:35  twisti

	* src/native/include/Makefile.am (DO_HEADER_FILES): Do not depend on
	CACAO_VM_ZIP.

2006-07-31 15:27  twisti

	* src/native/include/.cvsignore: Added
	gnu_java_lang_management_VMThreadMXBeanImpl.h and
	java_lang_management_ThreadInfo.h.

2006-07-31 15:26  twisti

	* src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c: New
	file.
	
	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	gnu_java_lang_management_VMThreadMXBeanImpl.c.
	
	* src/native/include/Makefile.am
	(ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
	gnu_java_lang_management_VMThreadMXBeanImpl.h and
	java_lang_management_ThreadInfo.h.
	(VM_ZIP): Removed.
	
	* src/native/jni.h (_Jv_JavaVM): Added total_started_thread_count.
	
	* src/threads/native/threads.c (threads_startup_thread): Count
	total_started_thread_count.
	
	* src/cacao/cacao.c (main): Likewise.
	
	* src/cacaoh/headers.c (_Jv_jvm): Added.

2006-07-31 14:43  twisti

	* src/native/include: Updated ignore property.

2006-07-31 14:35  twisti

	* src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c:
	New file.
	
	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	gnu_java_lang_management_VMClassLoadingMXBeanImpl.c.
	
	* src/native/include/Makefile.am
	(ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
	gnu_java_lang_management_VMClassLoadingMXBeanImpl.h.
	
	* src/native/include/.cvsignore: Likewise.
	
	* src/native/jni.h (_Jv_JavaVM): Added
	Java_gnu_java_lang_management_VMClassLoadingMXBeanImpl_verbose.
	
	* src/native/native.c
	(native/include/gnu_java_lang_management_VMClassLoadingMXBeanImpl.h):
	Added.
	(native/include/gnu_java_lang_management_VMMemoryMXBeanImpl.h):
	Likewise.
	(dummynativetable): Added VMClassLoadingMXBeanImpl and
	VMMemoryMXBeanImpl functions.

2006-07-31 14:21  twisti

	* src/vm/classcache.c (classcache_number_of_loaded_classes): New
	internal function.
	(classcache_get_loaded_class_count): New function.
	(classcache_jvmti_GetLoadedClasses): Renamed to
	classcache_get_loaded_classes and reimplemented.
	
	* src/vm/classcache.h (classcache_get_loaded_class_count): Added.
	(classcache_jvmti_GetLoadedClasses): Renamed to
	classcache_get_loaded_classes.

2006-07-31 12:29  twisti

	* src/native/include/.cvsignore: Added
	gnu_java_lang_management_VMMemoryMXBeanImpl.h and
	java_lang_management_MemoryUsage.h.

2006-07-31 12:28  twisti

	*
	src/lib/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java:
	New file.
	
	* src/lib/Makefile.am (VM_JAVA_FILES): Added
	gnu/java/lang/management/VMMemoryMXBeanImpl.java.
	(VM_CLASS_FILES): Likewise.
	
	* src/native/include/Makefile.am
	(ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
	gnu_java_lang_management_VMMemoryMXBeanImpl.h and
	java_lang_management_MemoryUsage.h.
	
	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	gnu_java_lang_management_VMMemoryMXBeanImpl.c.
	
	* src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c
	(vm/loader.h): Added.

2006-07-31 12:25  twisti

	* src/mm/boehm.c (gc_get_total_bytes): New function.
	* src/mm/boehm.h (gc_get_total_bytes): Added.

2006-07-31 12:17  twisti

	* src/lib/vm/reference/java/lang/VMClassLoader.java: Merged GNU
	Classpath changes.

2006-07-31 12:15  twisti

	* src/native/Makefile.am (nativetable.inc): Renamed VM_ZIP to
	CACAO_VM_ZIP.

2006-07-28 13:24  twisti

	* src/vm/jit/dseg.c (desg_increase): Removed.
	(dseg_finish): New function.
	(dseg_find_s4): Likewise.
	(dseg_find_s8): Likewise.
	(dseg_find_float): Likewise.
	(dseg_find_double): Likewise.
	(dseg_find_address): Likewise.
	(dseg_add_s4_intern): Likewise.
	(dseg_add_unique_s4): Likewise.
	(dseg_add_s4): Likewise.
	(dseg_add_s8_intern): Likewise.
	(dseg_add_unique_s8): Likewise.
	(dseg_add_s8): Likewise.
	(dseg_add_float_intern): Likewise.
	(dseg_add_unique_float): Likewise.
	(dseg_add_float): Likewise.
	(dseg_add_double_intern): Likewise.
	(dseg_add_unique_double): Likewise.
	(dseg_add_double): Likewise.
	(dseg_add_address_intern): Likewise.
	(dseg_add_unique_address): Likewise.
	(dseg_add_address): Likewise.
	
	* src/vm/jit/dseg.h (dsegentry): New structure.
	
	* src/vm/jit/codegen-common.c (codegen_setup): Don't allocate memory
	for data segment.
	(codegen_finish): Call dseg_finish.
	
	* src/vm/jit/codegen-common.h (codegendata): Removed dsegtop and
	dsegsize, added dseg.
	
	* src/vm/jit/powerpc/codegen.c: Use new dseg function names.
	
	* src/vm/jit/powerpc/emit.c (vm/jit/dseg.h): Added.
	(emit_iconst): Use new dseg function names.

2006-07-28 10:54  twisti

	* src/vm/jit/powerpc/linux/md-abi.h (REG_ITMP23_PACKED): New define.
	* src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP23_PACKED): Likewise.

2006-07-28 10:12  twisti

	* src/vm/loader.c (load_class_from_classbuffer): Enable "Extra bytes
	at the end of class file"-check, since we are something like Java 1.5.

2006-07-26 15:20  twisti

	* src/vm/jit/jit.h (INSTRUCTION_UNRESOLVED_CLASS): Defined.
	
	* src/vm/jit/alpha/codegen.c (codegen): First changes for duplicate
	patcher removal.

2006-07-26 14:50  twisti

	* src/vm/jit/show.c (new_show_method): Print stub length in method
	header.
	(show_method): Likewise.
	
	* src/vm/jit/codegen-common.c (codegen_addpatchref): Don't cast to
	u1*.

2006-07-26 13:27  twisti

	* src/vm/jit/parse.h (code_get_u1, code_get_s1, code_get_u2)
	(code_get_s2, code_get_u4, code_get_s4): Removed.
	
	* src/vm/suck.h (SUCK_BE_S1, SUCK_BE_S2, SUCK_BE_S4, SUCK_BE_S8):
	Defined.
	
	* src/vm/jit/parse.c (vm/suck.h): Added.
	(new_parse): Use SUCK_BE_* macros instead of code_get_*.
	(parse): Likewise.

2006-07-26 11:04  twisti

	* src/vm/builtin.c (builtin_print_argument): #ifndef NDEBUG.

2006-07-26 10:16  twisti

	* src/vm/jit/powerpc/linux/md-asm.h: Added register defines.

2006-07-26 10:06  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h: Added fr register defines again,
	we need them.
	
	* src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Use internal
	register defines instead of numbers, as darwin does not understand it.
	(asm_replacement_in): Likewise.

2006-07-26 09:59  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h (mach/ppc/asm.h): Removed. Don't
	define the fr register names.

2006-07-26 09:43  twisti

	* src/vm/jit/powerpc/linux/md-asm.h (asm/ppc_asm.h): Removed, it's not
	an official kernel header.
	
	* src/vm/jit/powerpc/asmpart.S: Use CACAO internal register defines or
	simple register numbers.

2006-07-25 18:30  twisti

	* src/vm/global.h (IS_FLT_TYPE): Added.
	(IS_DBL_TYPE): Likewise.

2006-07-25 16:00  twisti

	* src/vm/jit/i386/md-emit.h (emit_ialu): Removed.
	(emit_ialuconst): Likewise.
	(emit_lalu): Likewise.
	(emit_laluconst): Likewise.
	(emit_ishift): Likewise.
	(emit_ishiftconst): Likewise.
	(emit_ifcc_iconst): Likewise.

2006-07-25 15:57  twisti

	* src/vm/jit/jit.h (ICMD_ELSE_ICONST): Removed.
	(ICMD_IFEQ_ICONST): Likewise.
	(ICMD_IFNE_ICONST): Likewise.
	(ICMD_IFLT_ICONST): Likewise.
	(ICMD_IFGE_ICONST): Likewise.
	(ICMD_IFGT_ICONST): Likewise.
	(ICMD_IFLE_ICONST): Likewise.
	
	* src/vm/jit/jit.c (icmd_names): Set removed ICMDs to UNDEF.
	
	* src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
	Removed ICMDs.
	(allocate_scratch_registers): Likewise.
	
	* src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
	
	* src/vm/jit/stack.c (new_stack_analyse): Likewise.
	(stack_analyse): Likewise.
	
	* src/vm/jit/show.c (new_show_icmd): Likewise.
	(show_icmd): Likewise.
	
	* src/vm/jit/alpha/arch.h (CONDITIONAL_LOADCONST): Removed.
	* src/vm/jit/i386/arch.h: Likewise.
	* src/vm/jit/mips/arch.h: Likewise.
	* src/vm/jit/powerpc/arch.h: Likewise.
	* src/vm/jit/powerpc64/arch.h: Likewise.
	* src/vm/jit/sparc64/arch.h: Likewise.
	* src/vm/jit/x86_64/arch.h: Likewise.
	
	* src/vm/jit/alpha/codegen.c (codegen): Removed ICMDs.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/sparc64/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	
	* src/vm/jit/i386/emit.c (emit_ifcc_iconst): Removed.

2006-07-25 15:33  twisti

	* src/vm/jit/x86_64/md.c (md_signal_handler_sigusr2): Fixed comment.
	
	* src/vm/jit/i386/linux/md-os.c (md_signal_handler_sigusr2): New
	function.

2006-07-25 13:52  twisti

	* src/vm/jit/jit.h (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
	(IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
	(IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Removed.
	
	* src/vm/global.h (TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_ADDRESS):
	Removed.
	(TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
	(IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
	(IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Added.
	
	* src/vm/loader.c (load_field): Use short TYPE_* defines.
	(load_newly_created_array): Likewise.
	
	* src/vm/descriptor.c (descriptor_to_basic_type): Likewise.
	(descriptor_typesize): Likewise.
	(descriptor_to_typedesc): Likewise.
	(descriptor_pool_parse_method_descriptor): Likewise.
	(descriptor_debug_print_typedesc): Likewise.
	
	* src/vm/jit/verify/typecheck.c (typestack_copy): Likewise.
	(typestack_put_retaddr): Likewise.
	(typestack_merge): Likewise.
	(verify_basic_block): Likewise.
	(verify_init_locals): Likewise.
	
	* src/vm/jit/verify/typeinfo.c (typevectorset_copymergedtype):
	Likewise.
	(typevectorset_store_retaddr): Likewise.
	(typevectorset_store_twoword): Likewise.
	(typevector_merge): Likewise.
	(typeinfos_init_from_methoddesc): Likewise.
	(typeinfo_test_parse): Likewise.
	(typeinfo_print_type): Likewise.
	(typeinfo_print_stacktype): Likewise.
	
	* src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Likwise.
	(TYPE_IS_REFERENCE): Likwise.
	
	* src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.

2006-07-25 12:33  twisti

	* src/mm/memory.c (memory_cnew): When MAP_ANONYMOUS and MAP_ANON are
	not defined, we use simply malloc. This is required for IRIX.

2006-07-25 11:38  twisti

	* configure.ac (AC_FUNC_MMAP): Added.
	(AC_CHECK_FUNCS): Removed mprotect.
	
	* src/mm/memory.c (DEFAULT_CODEMEM_SIZE): Renamed to
	DEFAULT_CODE_MEMORY_SIZE.
	(codememlock): Renamed to lock_code_memory.
	(codememptr): Renamed to code_memory.
	(codememsize): Renamed to code_memory_size.
	(pagesize): Added global static variable.
	(memory_init): Use new variable names and set pagesize.
	(memory_cnew): Don't use malloc/mprotect as this makes some problems
	with selinux enabled distributions. Instead use mmap.

2006-07-21 14:40  twisti

	* src/boehm-gc/configure.in (MY_CFLAGS): Commented. We want to use the
	top-level CFLAGS.
	* src/boehm-gc/Makefile.am (LTCOMPILE): Likewise.
	(LINK): Likewise.

2006-07-21 14:15  twisti

	* src/vm/jit/powerpc/linux/md-asm.h (__ASSEMBLY__): Defined. It's
	required for <asm/ppc_asm.h> on my Debian system.

2006-07-21 10:09  twisti

	* src/vm/exceptions.c (new_verifyerror): Renamed to
	exceptions_new_verifyerror.
	(exceptions_throw_verifyerror): New function.
	* src/vm/exceptions.h (new_verifyerror): Renamed to
	exceptions_new_verifyerror.
	(exceptions_throw_verifyerror): Added.
	
	* src/vm/resolve.c: Use exceptions_throw_verifyerror instead of
	new_verifyerror.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/stack.c: Likewise.
	* src/vm/jit/verify/typecheck.c: Likewise.
	* src/vm/jit/verify/typeinfo.c: Likewise.
	
	* src/cacaoh/headers.c (new_verifyerror): Renamed to
	exceptions_throw_verifyerror.

2006-07-21 09:24  twisti

	* src/vm/builtin.c (builtin_asm_get_exceptionptrptr): Removed.
	* src/vm/builtin.h (builtin_get_exceptionptrptr): Likewise.

2006-07-19 15:54  twisti

	* src/vm/jit/mips/patcher.c (assert.h): Added.
	(vm/exceptions.h): Added.
	(vm/jit/methodheader.h): Likewise.
	(patcher_wrapper): New function.
	(patcher_get_putstatic): Removed monitor enter/exit, this is now done
	by the wrapper.
	(patcher_get_putfield): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.
	
	* src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use
	exceptions_get_and_clear_exception.
	(asm_abstractmethoderror): Added missing .ent/.end.
	(asm_wrapper_patcher): Use patcher_wrapper.

2006-07-19 13:38  twisti

	* src/vm/jit/show.c (new_show_method): Print data length.
	(show_method): Likewise.

2006-07-19 13:07  tbfg

	* src/vm/jit/powerpc64/* (global): changed all powerpc references to
	powerpc64.

2006-07-19 12:09  twisti

	* src/vm/jit/show.c (new_show_method): Print method's code length.
	(show_method): Likewise.

2006-07-19 09:13  twisti

	* src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back the
	original instruction on successful returns.
	(patcher_get_putstatic): Removed instruction patching.
	(patcher_get_putfield): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.

2006-07-18 18:38  tbfg

	* src/vm/jit/powerpc64/linux/md-abi.c (md_return_alloc): isleafmethod
	has been moved to jitdata.
	
	* src/vm/jjit/powerpc64/codegen.c (global): fixes for isleafmethod
	changes, BUILTIN_monitor* renamed to LOCK_monitor_*
	codegen_add_classcastexception_ref api changed.
	
	* src/vm/jit/powerpc64/asmpart.S (global): fixed R_PPC64_ADDR32
	issues (32 bit adresses) all jump tables data types from
	long to quad and synched with powerpc asmpart.S.

2006-07-18 14:05  twisti

	* src/mm/memory.c (memory_cfree): New function.
	* src/mm/memory.h (CFREE): Define to memory_cfree.
	(memory_cfree): Added.

2006-07-18 11:09  twisti

	* src/native/jvmti/Makefile.am (lib_LTLIBRARIES): Removed libjdwp.la.
	(libjdwp_la_SOURCES): Removed.
	
	* src/native/jvmti/VMjdwp.c: Removed.
	* src/native/jvmti/VMjdwp.h: Likewise.
	
	* src/native/vm/Makefile.am [ENABLE_JVMTI] (lib_LTLIBRARIES): Added
	libjdwp.la.
	(libjdwp_la_SOURCES): Added.
	
	* src/native/vm/VMFrame.c: Removed.
	* src/native/vm/VMMethod.c: Likewise.
	* src/native/vm/VMVirtualMachine.c: Likewise.
	
	* src/native/vm/VMjdwp.c: Added.
	* src/native/vm/VMjdwp.h: Likewise.
	* src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c: Likewise.
	* src/native/vm/gnu_classpath_jdwp_VMFrame.c: Likewise.
	* src/native/vm/gnu_classpath_jdwp_VMMethod.c: Likewise.

2006-07-18 11:02  motse

	* src/native/jvmti/VMjdwp.c (Breakpoint): adapt BreakpointEvent
	signature to changed gnu classpath jdwp implementation.
	(fillidcache): idem

2006-07-18 08:56  twisti

	* src/vm/builtin.c (builtin_trace_args): Added missing
	TRACE_ARGS_NUM >= 4 case.

2006-07-18 08:36  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h (asm_wrapper_patcher): Renamed to
	asm_patcher_wrapper.

2006-07-18 08:19  twisti

	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added package
	prefix to filenames.
	
	* src/native/vm/VMClassLoader.c: Removed.
	* src/native/vm/VMThrowable.c: Likewise.
	* src/native/vm/VMAccessController.c: Likewise.
	* src/native/vm/VMString.c: Likewise.
	* src/native/vm/VMObject.c: Likewise.
	* src/native/vm/VMStackWalker.c: Likewise.
	* src/native/vm/Field.c: Likewise.
	* src/native/vm/VMSystem.c: Likewise.
	* src/native/vm/VMSystemProperties.c: Likewise.
	* src/native/vm/VMClass.c: Likewise.
	* src/native/vm/VMThread.c: Likewise.
	* src/native/vm/Method.c: Likewise.
	* src/native/vm/VMProxy.c: Likewise.
	* src/native/vm/Constructor.c: Likewise.
	* src/native/vm/VMRuntime.c: Likewise.
	
	* src/native/vm/gnu_classpath_VMStackWalker.c: Added.
	* src/native/vm/java_lang_VMSystem.c: Likewise.
	* src/native/vm/java_lang_reflect_Method.c: Likewise.
	* src/native/vm/java_lang_VMObject.c: Likewise.
	* src/native/vm/java_lang_VMString.c: Likewise.
	* src/native/vm/gnu_classpath_VMSystemProperties.c: Likewise.
	* src/native/vm/java_lang_VMRuntime.c: Likewise.
	* src/native/vm/java_lang_reflect_Field.c: Likewise.
	* src/native/vm/java_lang_VMThrowable.c: Likewise.
	* src/native/vm/java_lang_VMClassLoader.c: Likewise.
	* src/native/vm/java_lang_VMClass.c: Likewise.
	* src/native/vm/java_lang_VMThread.c: Likewise.
	* src/native/vm/java_security_VMAccessController.c: Likewise.
	* src/native/vm/java_lang_reflect_VMProxy.c: Likewise.
	* src/native/vm/java_lang_reflect_Constructor.c: Likewise.

2006-07-18 08:16  twisti

	* src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c: New
	file.

2006-07-18 08:14  twisti

	* src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c
	(vm/vm.h): Added.
	(getStartTime): Implemented.

2006-07-18 08:05  twisti

	* src/native/vm/VMSystemProperties.c (preInit): Added
	gnu.java.compiler.name property.

2006-07-17 16:11  twisti

	* src/vm/jit/jit.h (IS_VOID_TYPE): Added.
	
	* src/vm/builtin.c (builtin_print_argument): New function.
	(builtin_trace_args): Rewritten. Uses builtin_trace_args and prints
	arguments much better.
	(builtin_displaymethodstop): Likewise.

2006-07-17 15:14  twisti

	* src/native/jvmti/.cvsignore (TAGS): Added.
	(cacaodbgserver): Likewise.

2006-07-17 15:11  twisti

	* configure.ac (CACAO_LIBDIR): Added.
	
	* src/vm/classcache.c [ENABLE_JVMTI] (lock_hashtable_classcache):
	Don't export it.
	(classcache_jvmti_GetLoadedClasses): New method.
	
	* src/vm/classcache.h (CLASSCACHE_LOCK): Don't define it.
	(CLASSCACHE_UNLOCK): Likewise.
	(lock_hashtable_classcache): Don't export it.
	(classcache_jvmti_GetLoadedClasses): Added.
	
	* src/vm/vm.c (vm_create): Use CACAO_LIBDIR in OPT_XRUNJDWP.
	
	* src/native/jvmti/jvmti.c (GetLoadedClasses): Use
	classcache_jvmti_GetLoadedClasses.
	(jvmti_agentload): Some code cleanup.

2006-07-17 13:50  twisti

	* src/native/include/include/Makefile.am (GEN_JVMTI_HEADER_FILES):
	Reordered.
	
	* src/native/include/include/.cvsignore
	(gnu_classpath_jdwp_VMMethod.h): Added.
	(gnu_classpath_jdwp_util_VariableTable.h): Likewise.

2006-07-17 11:48  twisti

	* src/vm/jit/asmpart.h (asm_wrapper_patcher): Renamed to
	asm_patcher_wrapper.
	
	* src/vm/jit/alpha/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.
	* src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.
	* src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Likewise.
	
	* src/vm/jit/mips/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.
	* src/vm/jit/mips/asmpart.S (asm_wrapper_patcher): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.
	* src/vm/jit/powerpc/asmpart.S (asm_wrapper_patcher): Likewise.
	
	* src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.
	* src/vm/jit/powerpc64/asmpart.S (asm_wrapper_patcher): Likewise.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.
	(createnativestub): Likewise.
	* src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Likewise.

2006-07-17 11:09  twisti

	* src/mm/boehm.c (heap_allocate): Changed signature. Some cleanup.
	* src/mm/boehm.h (heap_allocate): Likewise.

2006-07-17 10:00  twisti

	* src/native/vm/VMRuntime.c (maxMemory): Comment fix.
	(availableProcessors): Likewise.

2006-07-17 09:47  twisti

	* src/vm/jit/x86_64/patcher.c (vm/jit/x86_64/codegen.h): Added.
	(vm/exceptions.h): Likewise.
	(patcher_get_putstatic): Removed monitor enter/exit and return address
	calculation, this is now done by the wrapper.
	(patcher_get_putfield): Likewise.
	(patcher_putfieldconst): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_class): Likewise.
	(patcher_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.
	
	* src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Use
	patcher_wrapper.

2006-07-16 15:58  twisti

	* src/native/jvmti/jvmti.c (DestroyRawMonitor): Don't pass
	threadobject to lock_monitor_exit.
	(RawMonitorEnter): Changed builtin_monitorenter to lock_monitor_enter.
	(RawMonitorExit): Changed builtin_monitorexit to lock_monitor_exit.

2006-07-16 15:38  twisti

	* src/vm/jit/recompile.c (recompile_threadobject): Renamed to
	recompile_vmthread and changed type to java_lang_VMThread.
	(recompile_start_thread): Changed initialization of the thread
	object. This fixes the not-exit bug.
	
	* src/vm/jit/profile/profile.c (profile_threadobject): Renamed to
	profile_vmthread.
	(profile_thread): Call codegen_get_pv_from_pc_nocheck instead of
	codegen_findmethod.
	(profile_start_thread): Changed initialization of the thread
	object.
	
	* src/vm/jit/codegen-common.c (codegen_findmethod): Print a stacktrace
	if no function was found and exit the VM.
	(codegen_get_pv_from_pc_nocheck): New function. Like
	codegen_findmethod, but can return NULL.
	* src/vm/jit/codegen-common.h (codegen_get_pv_from_pc_nocheck): Added.

2006-07-14 17:08  edwin

	* src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
	Fixed dupslots indices for ICMD_SWAP.

2006-07-14 17:07  edwin

	* src/vm/jit/show.c (new_show_icmd): General handling of
	INS_FLAG_UNRESOLVED.

2006-07-14 17:06  edwin

	* src/vm/jit/show.c (new_show_icmd): Fixed showing of LASTORECONST.

2006-07-14 17:05  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Fixed propagation of
	INS_FLAG_UNRESOLVED for PUTFIELDCONST/PUTSTATICCONST.

2006-07-14 17:03  edwin

	* src/vm/jit/stack.c (DUP_SLOT): Copy only TEMPVARs directly.

2006-07-14 17:02  edwin

	* src/vm/jit/parse.c (new_parse): No exception check for
	MONITORENTER.

2006-07-14 16:58  edwin

	* src/vm/jit/show.c (new_show_stackvar): Show varkind and varnum for
	variables with an invalid varkind.

2006-07-14 16:56  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Use POPANY for DUP*
	instructions, in order to set varkind correctly. The repeated
	POPANY macros should probably be replaced by more efficient
	code.

2006-07-14 16:54  edwin

	* src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
	Fixed dupslots indices for ICMD_DUP_X1.

2006-07-14 16:52  edwin

	* src/vm/jit/parse.h (NEW_OP_STORE_ONEWORD): Store index in dst,
	not in s1.
	(NEW_OP_STORE_TWOWORD): Likewise.

2006-07-13 11:54  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Use lock_monitor_enter/exit
	instead of builtin_monitorenter/exit.

2006-07-13 11:17  motse

	* doc/handbook/jvmti.tex: documentation of the cacao jvmti
	implementation added to the cacao handbook
	* doc/handbook/arch.eps: idem
	* doc/handbook/cacao.tex: idem
	* doc/handbook/java.bib: idem
	* doc/handbook/arm.tex: added bounding box for arm-double-memory.png

2006-07-13 10:26  twisti

	* src/vm/jit/mips/codegen.c (codegen): Use lock_monitor_enter/exit
	instead of builtin_monitorenter/exit.
	(createnativestub): Don't use builtin_get_exceptionptrptr, but
	codegen_finish_native_call for exception check.

2006-07-12 22:55  twisti

	* src/mm/memory.c (vm/vm.h): Added.
	(memory_cnew): Replaced throw_cacao_exception_exit with vm_abort.
	(dump_release): Likewise.
	
	* src/toolbox/util.c (_Jv_getcwd): Likewise.

2006-07-12 22:12  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Use lock_monitor_enter/exit
	instead of builtin_monitorenter/exit.

2006-07-12 21:59  twisti

	* src/vm/jit/i386/codegen.c (codegen): Use lock_monitor_enter/exit
	instead of builtin_monitorenter/exit.

2006-07-12 21:45  twisti

	* src/vm/builtin.c (builtin_monitorenter): Removed.
	(builtin_staticmonitorenter): Likewise.
	(builtin_monitorexit): Likewise.
	* src/vm/builtin.h: Likewise.
	
	* src/threads/native/lock.c (lock_monitor_enter): Don't pass
	threadobject, get it in this function.
	(lock_monitor_exit): Likewise.
	
	* src/threads/native/lock.h (lock_monitor_enter): Changed signature.
	(lock_monitor_exit): Likewise.
	(LOCK_monitor_enter): Defined.
	(LOCK_monitor_exit): Likewise.
	(LOCK_MONITOR_ENTER): Likewise.
	(LOCK_MONITOR_EXIT): Likewise.
	
	* src/vm/suck.c: Use lock_monitor_enter/exit instead of
	builtin_monitorenter/exit.
	* src/vm/string.c: Likewise.
	* src/vm/finalizer.c: Likewise.
	* src/vm/classcache.c: Likewise.
	* src/vm/initialize.c: Likewise.
	* src/vm/jit/recompile.c: Likewise.
	* src/vm/jit/show.c: Likewise.
	* src/vm/jit/patcher.h: Likewise.
	* src/vm/jit/parse.c: Likewise.
	* src/vm/jit/x86_64/md.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/jit.c: Likewise.
	* src/vm/builtintable.inc: Likewise.
	* src/vm/exceptions.c: Likewise.
	* src/vm/linker.c: Likewise.
	* src/vm/utf8.c: Likewise.
	* src/native/jni.c: Likewise.
	* src/native/native.c: Likewise.
	* src/toolbox/avl.c: Likewise.
	* src/toolbox/list.c: Likewise.
	* src/mm/memory.c: Likewise.
	* src/cacaoh/headers.h: Likewise.

2006-07-12 21:33  twisti

	* src/threads/Makefile.am: Added path to header.

2006-07-12 21:32  twisti

	* src/vm/jit/Makefile.am (RECOMPILE_SOURCES): Added, compile recompile
	only if threads are enabled.
	
	* src/vm/vm.c (vm_create): Call recompile_init only if threads are
	enabled.

2006-07-12 21:27  twisti

	* src/threads/none/.cvsignore: New file.

2006-07-12 21:26  twisti

	* src/threads/none/Makefile.am: New file.
	* src/threads/none/lock.h: Likewise.
	* src/threads/Makefile.am (DIST_SUBDIRS): Added.
	* configure.ac (AC_CONFIG_FILES): Added src/threads/none/Makefile.

2006-07-12 20:27  twisti

	* src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
	jd->isleafmethod.

2006-07-12 20:14  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Use jd->isleafmethod.
	* src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Likewise.

2006-07-12 15:02  twisti

	* src/vm/jit/recompile.c (recompile_replace_vftbl): #ifndef NDEBUG
	debugging code.

2006-07-12 14:55  twisti

	* src/vm/jit/powerpc/linux/md-abi.c (vm/jit/abi.h): Added.
	* src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
	* src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
	* src/vm/jit/alpha/md-abi.c: Likewise.
	* src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
	* src/vm/jit/i386/md-abi.c: Likewise.
	
	* src/vm/jit/sparc64/md-abi.c: Added GNU header.
	(vm/jit/abi.h): Added.

2006-07-12 14:53  twisti

	* src/vm/jit/mips/codegen.c (codegen): Use jd->isleafmethod. Pass
	register number to codegen_add_classcastexception_ref.
	
	* src/vm/jit/mips/md-abi.c (vm/jit/abi.h): Added.
	(md_return_alloc): Changed signature.

2006-07-12 14:42  edwin

	* src/vm/jit/emit.h (emit_load): New function. This is a general
	function for emitting loads that will keep its stackvar argument
	after switching to the new instruction format. It will be used
	for instructions with variable arguments, for example.
	
	* src/vm/jit/x86_64/emit.c (emit_load): New function.

2006-07-12 13:52  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use jd->isleafmethod.
	* src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.

2006-07-12 13:47  twisti

	* src/vm/jit/code.c (code_get_stack_frame_size): Commented code, we
	need another implementation.

2006-07-11 22:23  twisti

	* src/vm/jit/x86_64/asmpart.S (asm_call_jit_compiler): Use
	exceptions_get_and_clear_exception.
	(asm_wrapper_patcher): Likewise.

2006-07-11 19:17  twisti

	* src/vm/jit/i386/emit.c: Changed prefix from i386_ to emit_.
	(vm/jit/emit.h): Added.
	(emit_load_s1_low): New function.
	(emit_load_s2_low): New function.
	
	* src/vm/jit/i386/md.c (md_get_method_patch_address): Changed
	instruction byte.
	
	* src/vm/jit/i386/md-emit.h: Changed prefix from i386_ to emit_. Added
	architecture defines.
	
	* src/vm/jit/i386/codegen.c Changed the code generator to produce
	RISC-like code. These are way too much changes to name them.
	
	* src/vm/jit/i386/codegen.h: Removed a lot of architecture stuff.
	
	* src/vm/jit/i386/patcher.c (vm/exceptions.h): Added.
	(patcher_wrapper): New function.
	(patcher_get_putstatic): Removed monitor enter/exit and return address
	calculation, this is now done by the wrapper.
	
	(patcher_getfield): Likewise.
	(patcher_putfield): Likewise.
	(patcher_putfieldconst): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_class): Likewise.
	(patcher_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.
	
	* src/vm/jit/i386/asmpart.S (asm_vm_call_method): Changed calling
	sequence of asm_call_jit_compiler.
	(asm_call_jit_compiler): Use jit_asm_compile.
	(asm_wrapper_patcher): Use patcher_wrapper.

2006-07-11 18:39  twisti

	* src/vm/jit/emit.h [SIZEOF_VOID_P == 4] (emit_store_low): Added.
	[SIZEOF_VOID_P == 4] (emit_store_high): Likewise.

2006-07-11 18:35  twisti

	* src/vm/jit/i386/md-asm.h (mptr): Added.

2006-07-11 18:34  twisti

	* src/vm/jit/i386/md-abi.h (REG_METHODPTR): Added.
	(REG_ITMP12_PACKED): Likewise.
	(REG_ITMP13_PACKED): Likewise.
	(REG_ITMP23_PACKED): Likewise.
	(REG_RESULT_PACKED): Likewise.
	(EAX_EDX_PACKED): Likewise.

2006-07-11 17:10  twisti

	* src/vm/jit/alpha/patcher.c (patcher_wrapper): Added return address
	calculation.
	(patcher_get_putstatic): Removed return address calculation.
	(patcher_get_putfield): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.

2006-07-10 17:22  twisti

	* configure.ac (disassembler): Disabled by default, made too many
	problems.
	
	* src/vm/vm.c (toolbox/util.h): Added.
	(vm_create): Save VM start time, #ifdef disassembler stuff.
	
	* src/native/jni.h (_Jv_JavaVM): Added starttime and
	Java_gnu_java_lang_management_VMMemoryMXBeanImpl_verbose.
	
	* src/toolbox/util.c (config.h): Added.
	(sys/time.h): Likewise.
	(vm/vm.h): Likewise.
	(util_current_time_millis): New function.
	
	* src/toolbox/util.h (config.h): Added.
	(vm/types.h): Likewise.
	(util_current_time_millis): New function.

2006-07-10 14:47  twisti

	* src/vm/jit/alpha/codegen.c codegen): CHECKCAST: Load s1 again before
	exception check.

2006-07-10 14:42  twisti

	* src/vm/jit/i386/emit.c (i386_call_mem): Removed.

2006-07-10 14:41  twisti

	* src/vm/jit/i386/codegen.c (codegen): CHECKCAST: Load s1 again before
	exception check.
	(callgetexceptionptrptr): Removed.

2006-07-10 14:22  twisti

	* src/vm/jit/i386/codegen.c (codegen): Use jd->isleafmethod.

2006-07-10 14:20  twisti

	* src/vm/jit/jit.c (jit_jitdata_new): New function.
	(jit_compile): Use jit_jitdata_new.
	(jit_recompile): Likewise.

2006-07-10 14:11  twisti

	* NEWS: Added ClassCastException and system assertions.
	* src/vm/jit/stack.c (new_stack_analyse): Changed missing
	jd->isleafmethod.
	(stack_analyse): Likewise.

2006-07-10 14:02  twisti

	* src/vm/jit/code.h (codeinfo): Removed basicblocks and isleafmethod.
	* src/vm/jit/jit.h (jitdata): Added isleafmethod.
	
	* src/vm/jit/alpha/codegen.c (codegen): Use jd->isleafmethod. Pass
	register number to codegen_add_classcastexception_ref.
	
	* src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
	jd->isleafmethod.
	(local_regalloc): Likewise.
	
	* src/vm/jit/parse.c (new_parse): Likewise.
	(parse): Likewise.
	
	* src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
	(NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
	(NEW_OP_BUILTIN_ARITHMETIC): Likewise.
	(BUILTIN): Likewise.

2006-07-10 13:53  twisti

	* src/vm/jit/powerpc64/linux/.cvsignore: New file.
	* src/vm/jit/powerpc64/.cvsignore: Likewise.

2006-07-10 13:51  twisti

	* src/vm/jit/alpha/patcher.c (assert.h): Added.
	(vm/exceptions.h): Added.
	(vm/jit/methodheader.h): Likewise.
	(patcher_wrapper): New function.
	(patcher_get_putstatic): Removed monitor enter/exit, this is now done
	by the wrapper.
	(patcher_get_putfield): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.
	
	* src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Use
	patcher_wrapper.
	
	* src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed signature.

2006-07-10 13:36  twisti

	* src/vm/statistics.c (count_class_infos): Renamed to size_classinfo.
	(size_fieldinfo): Added.
	(size_methodinfo): Likewise.
	(size_codeinfo): Likewise.
	(print_stats): Print new variables.
	
	* src/vm/statistics.h (count_class_infos): Renamed to size_classinfo.
	(size_fieldinfo): Added.
	(size_methodinfo): Likewise.
	(size_codeinfo): Likewise.
	
	* src/vm/class.c (class_create_classinfo): Renamed count_class_infos
	to size_classinfo.
	
	* src/vm/loader.c (load_class_from_classbuffer): Likewise and use new
	variables.
	
	* src/vm/jit/code.c [ENABLE_STATISTICS] (code_codeinfo_new): Add
	codeinfo size.
	[ENABLE_STATISTICS] (code_codeinfo_free): Subtract codeinfo size.

2006-07-10 10:18  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Pass register number to
	codegen_add_classcastexception_ref.

2006-07-10 10:01  twisti

	* src/lib/vm/reference/java/lang/VMClassLoader.java
	(defaultAssertionStatus): Made native.
	* src/native/vm/VMClassLoader.c (defaultAssertionStatus): Added.
	
	* src/native/jni.h (_Jv_JavaVM): Added
	Java_java_lang_VMClassLoader_defaultAssertionStatus.
	
	* src/vm/vm.c (OPT_ESA): Added.
	(OPT_DSA): Likewise.

2006-07-08 22:07  twisti

	* src/vm/jit/methodheader.h (ExEntrySize): Removed.
	(ExStartPC): Likewise.
	(ExEndPC): Likewise.
	(ExHandlerPC): Likewise.
	(ExCatchType): Likewise.

2006-07-08 20:32  twisti

	* src/vm/jit/i386/codegen.c (codegen): Pass register number to
	codegen_add_classcastexception_ref.

2006-07-08 20:16  twisti

	* src/vm/utf8.c (utf_java_lang_ClassCastException): Added.
	(utf8_init): Initialize utf_java_lang_ClassCastException.
	* src/vm/utf8.h (utf_java_lang_ClassCastException): Added.
	
	* src/vm/class.c (class_java_lang_ClassCastException): Added.
	* src/vm/class.h (class_java_lang_ClassCastException): Likewise.
	
	* src/vm/exceptions.c (exceptions_init): Initialize
	class_java_lang_ClassCastException.
	
	(new_classcastexception): Renamed to
	exceptions_new_classcastexception, pass the failing class name to the
	exception.
	
	* src/vm/exceptions.h (exceptionptr): Use thread object directly.
	(new_classcastexception): Renamed to
	exceptions_new_classcastexception.
	
	* src/vm/jit/stacktrace.c (stacktrace_inline_classcastexception):
	Changed signature.
	* src/vm/jit/stacktrace.h (stacktrace_inline_classcastexception):
	Likewise.
	
	* src/vm/jit/codegen-common.c (codegen_add_classcastexception_ref):
	Likewise.
	* src/vm/jit/codegen-common.h (codegen_add_classcastexception_ref):
	Likewise.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Pass register number to
	codegen_add_classcastexception_ref.

2006-07-08 19:08  twisti

	* src/vm/jit/i386/codegen.c (createnativestub): Don't use
	builtin_get_exceptionptrptr, but codegen_finish_native_call for
	exception check.

2006-07-08 18:28  twisti

	* configure.ac: Use ARCH_CFLAGS and OPT_CFLAGS instead of CFLAGS and
	pass the flags via AM_CFLAGS to Makefile's.

2006-07-08 14:20  twisti

	* src/vm/jit/stacktrace.c (stacktrace_create): Added another code ==
	NULL check.

2006-07-06 22:52  twisti

	* src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP12_PACKED): Added.
	(REG_RESULT_PACKED): Added.
	
	* src/vm/jit/powerpc/darwin/md-asm.h (patcher_wrapper): Added.
	
	* src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Changed
	signature.
	
	* src/vm/jit/powerpc/asmpart.S (L_patcher_wrapper$stub): Added.

2006-07-06 14:19  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use code variables.
	(createnativestub): Likewise and don't use
	builtin_get_exceptionptrptr, but codegen_finish_native_call for
	exception check.
	
	* src/vm/jit/x86_64/codegen.h (PROFILE_CYCLE_START): Use code
	variables.
	(PROFILE_CYCLE_STOP): Likewise.
	
	* src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed signature.

2006-07-06 14:10  tbfg

	fixed isleafmethod is now part of code issues

2006-07-06 13:59  tbfg

	powerpc64 compiles
	arch.h and md-abi.h: modified PV register assignment

2006-07-06 12:42  twisti

	* src/vm/jit/i386/codegen.c (codegen): Use code->isleafmethod.
	* src/vm/jit/i386/md-abi.c (md_return_alloc): Changed signature.

2006-07-06 11:36  twisti

	* src/vm/method.h (methodinfo): Removed isleafmethod, frequency,
	bbfrequency and cycles.
	
	* src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Changed
	signature, use code->isleafmethod.
	
	* src/vm/jit/powerpc/linux/md-abi.h (REG_IFTMP): Changed from 0 to 16.
	(REG_ITMP12_PACKED): Added.
	(REG_RESULT_PACKED): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (vm/jit/methodheader.h): Added.
	(codegen): Use code->isleafmethod, added instrumentation code.
	
	* src/vm/jit/abi.h (md_return_alloc): Added.
	
	* src/vm/jit/stack.c (new_stack_analyse): Use code->isleafmethod.
	(stack_analyse): Likewise.
	
	* src/vm/jit/stack.h (md_return_alloc): Removed.
	
	* src/vm/jit/code.c (code_codeinfo_new): Don't memset as NEW already
	does that, set isleafmethod to true.
	
	* src/vm/jit/code.h (codeinfo): Added basicblockcount and basicblocks.
	
	* src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
	code->isleafmethod.
	(local_regalloc): Likewise.
	
	* src/vm/jit/parse.c (new_parse): Likewise.
	(parse): Likewise.
	
	* src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
	(NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
	(NEW_OP_BUILTIN_ARITHMETIC): Likewise.
	(BUILTIN): Likewise.
	
	* src/vm/jit/replace.c (replace_create_replacement_points): Don't set
	code->isleafmethod, it's already set.
	
	* src/vm/jit/profile/profile.c (profile_printstats): Use code
	variables.
	
	* src/vm/jit/jit.c (jit_compile_intern): Don't set m->isleafmethod.
	
	* src/cacaoh/headers.c: Use stackcount instead of isleafmethod.

2006-07-05 11:48  twisti

	* src/vm/descriptor.h: Removed space.

2006-07-04 19:06  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h
	(builtin_asm_get_exceptionptrptr): Removed.
	(_no_threads_exceptionptr): Likewise.
	(exceptions_get_and_clear_exception): Added.
	
	* src/vm/jit/powerpc/patcher.c (vm/exceptions.h): Added.
	(vm/jit/methodheader.h): Likewise.
	(patcher_wrapper): New function.
	(patcher_get_putstatic): Removed monitor enter/exit, this is now done
	by the wrapper.
	(patcher_get_putfield): Likewise.
	(patcher_aconst): Likewise.
	(patcher_builtin_multianewarray): Likewise.
	(patcher_builtin_arraycheckcast): Likewise.
	(patcher_invokestatic_special): Likewise.
	(patcher_invokevirtual): Likewise.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_flags): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.
	(patcher_checkcast_class): Likewise.
	(patcher_instanceof_class): Likewise.
	(patcher_clinit): Likewise.
	(patcher_athrow_areturn): Likewise.
	(patcher_resolve_native): Likewise.
	
	* src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use
	exceptions_get_and_clear_exception.
	(asm_wrapper_patcher): Likewise, use patcher_wrapper.
	(L_builtin_asm_get_exceptionptrptr$stub): Removed.
	(L_exceptions_get_and_clear_exception$stub): Added.
	
	* src/vm/jit/patcher.h (assert.h): Added.
	(PATCHER_FLAG_PATCHED): Likewise.
	(PATCHER_MONITORENTER): Added assert and return NULL.
	(PATCHER_MARK_PATCHED_MONITOREXIT): Use PATCHER_FLAG_PATCHED.
	(patcher_wrapper): Added.

2006-07-04 18:24  twisti

	* src/vm/jit/powerpc/codegen.c (createnativestub): Don't use
	builtin_get_exceptionptrptr, but codegen_finish_native_call for
	exception check.

2006-07-04 16:56  twisti

	* tests/regression/codepatching/test.java: Catch only thrown
	exceptions.

2006-07-04 16:05  twisti

	* src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigusr2): New
	function.
	
	* src/vm/jit/powerpc/darwin/md-asm.h (asm_handle_nullptr_exception):
	Removed.
	(asm_abstractmethoderror): Added.
	(exceptions_asm_new_abstractmethoderror): Likewise.
	* src/vm/jit/powerpc/asmpart.S
	(L_exceptions_asm_new_abstractmethoderror$stub): Added.

2006-07-04 16:02  twisti

	* src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Code
	beautifying.

2006-07-03 14:06  twisti

	* src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use
	exceptions_get_and_clear_exception.
	(asm_wrapper_patcher): Likewise.

2006-07-03 13:49  twisti

	* src/vm/jit/codegen-common.c (codegen_finish_native_call): Check for
	exception and return it.
	* src/vm/jit/codegen-common.h (codegen_finish_native_call): Changed
	signature.
	
	* src/vm/jit/alpha/codegen.c (createnativestub): Don't use
	builtin_get_exceptionptrptr, but codegen_finish_native_call for
	exception check.
	
	* src/vm/jit/alpha/codegen.h (M_ASUB_IMM): Added.

2006-07-03 13:46  twisti

	* src/vm/jit/alpha/md-abi.c (nregdescint): Added comments.

2006-07-03 13:45  twisti

	* src/vm/jit/alpha/linux/md-os.c (md_signal_handler_sigusr2): New
	method.
	(thread_restartcriticalsection): Code cleanup.

2006-07-03 12:06  twisti

	* src/vm/jit/alpha/asmpart.S (asm_abstractmethoderror): New method.

2006-07-03 10:18  twisti

	* src/vm/exceptions.c (exceptions_get_and_clear_exception): New
	function.
	* src/vm/exceptions.h (exceptions_get_and_clear_exception): Added.

2006-07-02 18:31  twisti

	* src/lib/vm/reference/gnu/java: Added.
	* src/lib/vm/reference/gnu/java/lang: Likewise.
	* src/lib/vm/reference/gnu/java/lang/management: Likewise.
	*
	src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:
	New file.
	* src/lib/Makefile.am (VM_JAVA_FILES): Added
	src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java.
	(VM_CLASS_FILES): Added
	classes/gnu/java/lang/management/VMRuntimeMXBeanImpl.class.
	(vm.zip, nozip): Removed ecj check.
	
	* src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c: New
	file.
	* src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
	gnu_java_lang_management_VMRuntimeMXBeanImpl.c.
	
	* src/native/include/.cvsignore: Added
	gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
	* src/native/include/Makefile.am
	(ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
	gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
	
	* src/native/native.c
	(native/include/gnu_java_lang_management_VMRuntimeMXBeanImpl.h):
	Added.
	(dummynativetable): Added
	Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments
	and Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getStartTime.

2006-07-02 18:24  twisti

	* m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Add -1.5 option when using ecj.

2006-07-02 11:00  twisti

	* m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Added bootclasspath to compiler
	checks.

2006-07-02 10:42  twisti

	* src/vm/jit/mips/asmpart.S (asm_abstractmethoderror): New function.

2006-06-28 22:47  twisti

	* NEWS: Added new release.

2006-06-28 22:38  twisti

	* src/lib/vm/reference/java/lang/VMThread.java: Updated to GNU
	Classpath version.

2006-06-28 21:52  twisti

	* src/vm/jit/powerpc/asmpart.S (asm_abstractmethoderror): New
	function.

2006-06-28 21:51  twisti

	* src/vm/exceptions.c (exceptions_handle_exception): Typo.

2006-06-28 21:46  twisti

	* src/vm/linker.c (link_class_intern): Fixed compiler warning, added
	comment.
	(linker_addinterface): Fixed compiler warning.

2006-06-28 21:44  edwin

	* src/vm/linker.c (link_class_intern): Converted the check against
	creating a stubroutine twice into an assert. The check became
	obsolete because abstract methods do no longer get compiler stubs.

2006-06-28 21:01  edwin

	* src/vm/linker.c (link_class_intern): Do not generate compiler
	stubs for abstract methods.

2006-06-28 20:33  edwin

	* src/vm/jit/intrp/codegen.c (intrp_codegen): Changed MethodPointer
	in method header to CodeinfoPointer.
	(intrp_createcompilerstub): Likewise.
	(intrp_createnativestub): Likewise.
	(createcalljavafunction): Likewise.
	
	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception):
	Changed MethodPointer in method header to CodeinfoPointer.

2006-06-28 19:43  twisti

	* src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror): New
	function.
	* src/vm/exceptions.h (exceptions_asm_new_abstractmethoderror): Added.
	
	* src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Use
	exceptions_asm_new_abstractmethoderror.
	* src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): Likewise.

2006-06-28 19:11  twisti

	* src/vm/utf8.c (utf_java_lang_AbstractMethodError): Added.
	(utf8_init): Initialize utf_java_lang_AbstractMethodError.
	* src/vm/utf8.h (utf_java_lang_AbstractMethodError): Added.
	
	* src/vm/class.c (class_java_lang_AbstractMethodError): Added.
	(class_resolveclassmethod): Use exceptions_throw_abstractmethoderror.
	* src/vm/class.h (class_java_lang_AbstractMethodError): Added.
	
	* src/vm/exceptions.c (exceptions_init): Initialize
	class_java_lang_AbstractMethodError.
	(exceptions_new_abstractmethoderror): New function.
	(exceptions_throw_abstractmethoderror): Likewise.
	* src/vm/exceptions.h (exceptions_new_abstractmethoderror)
	(exceptions_throw_abstractmethoderror): Added.
	
	* src/vm/resolve.c (resolve_method_invokespecial_lookup): Use
	exceptions_throw_abstractmethoderror.
	
	* src/vm/jit/asmpart.h (asm_abstractmethoderror): Added.
	
	* src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): New function.
	* src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Likewise.
	
	* src/vm/linker.c (link_class_intern): Fill empty slots in vftbl with
	the AbstractMethodError stub.
	(linker_addinterface): Insert the AbstractMethodError stub if no
	suitable method was found.
	
	* src/cacaoh/headers.c (asm_abstractmethoderror): Added.
	(exceptions_throw_abstractmethoderror): Likewise.

2006-06-28 17:05  twisti

	* src/vm/jit/jit.h (JITDATA_FLAG_INSTRUMENT)
	(JITDATA_HAS_FLAG_INSTRUMENT): Likewise.
	(ICMD_OPCODE_MASK, ICMD_CONDITION_MASK): Removed.
	
	* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
	Removed ICMD_OPCODE_MASK.
	
	* src/vm/jit/show.c (show_icmd): Commented conditional stuff, maybe I
	need it again someday.
	
	* src/vm/jit/x86_64/emit.c (emit_store): Likewise.
	(emit_cmovxx): Likewise.
	* src/vm/jit/codegen-common.c (codegen_reg_of_var): Likewise.

2006-06-28 15:39  twisti

	* src/vm/jit/x86_64/md.c [ENABLE_THREADS] (threads/native/threads.h):
	Added.
	(md_signal_handler_sigusr2): New function.
	(thread_restartcriticalsection): Code cleanup.

2006-06-28 08:24  twisti

	* src/scripts/.cvsignore: Removed cacao, jarsigner, javac and keytool.
	* src/scripts: Updated svn:ignore.
	
	* src/scripts/Makefile.am (bin_SCRIPTS): Removed jarsigner and
	keytool, there are now wrappers in GNU Classpath.
	
	* src/scripts/javac.in: Removed.
	* src/scripts/jarsigner.in: Likewise.
	* src/scripts/cacao.in: Likewise.
	* src/scripts/keytool.in: Likewise.
	
	* configure.ac (AC_CONFIG_FILES): Removed src/scripts/jarsigner and
	src/scripts/keytool.

2006-06-23 12:07  twisti

	* src/vm/string.c (javastring_toutf): Check for NULL and return
	utf_null.
	(literalstring_u2): Replaced list_addfirst with list_add_first.
	
	* src/vm/builtin.h (BUILTIN_MONITOR_ENTER, BUILTIN_MONITOR_EXIT):
	Defined.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Don't use
	BUILTIN_staticmonitorenter, use JITDATA_HAS_FLAG_VERBOSECALL instead
	of opt_verbosecall.
	(createnativestub): Likewise.
	
	* src/vm/jit/code.c: Smaller changes.
	
	* src/vm/jit/code.h (codeinfo): Added optlevel.
	
	* src/vm/jit/Makefile.am (libjit_la_SOURCES): Added recompile.[ch].
	* src/vm/jit/recompile.c: New file.
	* src/vm/jit/recompile.h: Likewise.
	
	* src/vm/jit/show.c (new_show_method, show_method)
	(new_show_basicblock, show_basicblock): Use
	JITDATA_HAS_FLAG_SHOWDISASSEMBLE instead of opt_showdisassemble.
	
	* src/vm/jit/profile/profile.c (vm/jit/jit.h): Added.
	(list_method_entry): Moved to src/vm/jit/recompile.h.
	(profile_thread): First real implementation.
	(profile_start_thread): Better code.
	(profile_printstats): Use codeinfo frequencies.
	
	* src/vm/jit/jit.c (jit_compile): Set jd->flags properly. Moved
	codeinfo memory freeing before dump_release because we need jd, which
	is allocated on dump memory.
	(jit_recompile): New function.
	(jit_compile_intern): Use jd->flags.
	
	* src/vm/jit/codegen-common.c (codegen_createnativestub): Set
	jd->flags.
	
	* src/vm/jit/jit.h (JITDATA_FLAG_PARSE, JITDATA_FLAG_VERIFY)
	(JITDATA_FLAG_SHOWINTERMEDIATE, JITDATA_FLAG_SHOWDISASSEMBLE)
	(JITDATA_FLAG_VERBOSECALL): Added.
	(JITDATA_HAS_FLAG_PARSE, JITDATA_HAS_FLAG_VERIFY)
	(JITDATA_HAS_FLAG_IFCONV, JITDATA_HAS_FLAG_SHOWINTERMEDIATE)
	(JITDATA_HAS_FLAG_SHOWDISASSEMBLE, JITDATA_HAS_FLAG_VERBOSECALL):
	Likewise.
	(jit_recompile): Likewise.
	
	* src/vm/vm.c (vm/jit/recompile.h): Added.
	(vm_create): Call recompile_init and recompile_start_thread.
	
	* src/toolbox/list.h (config.h, vm/types.h, vm/global.h): Added.
	(list): Added lock.
	(list_init): Renamed to list_create.
	(list_addfirst): Renamed to list_add_first.
	(list_addlast): Renamed to list_add_last.
	(list_add_last_unsynced): New function.
	
	* src/toolbox/list.c (mm/memory.h, threads/native/threads.h)
	(vm/builtin.h): Added.
	(list_init): Renamed to list_create.
	(list_addfirst): Renamed to list_add_first and made synchronized.
	(list_addlast): Likewise.
	(list_add_last_unsynced): Likewise.
	(list_add_before): Made synchronized.
	(list_remove): Likewise.
	(list_first): Likewise.
	(list_last): Likewise.
	(list_next): Likewise.
	(list_prev): Likewise.
	
	* src/vm/suck.c (suck_init): Replaced list_init with list_create.
	(suck_add): Replaced list_addlast with list_add_last.
	
	* src/vm/loader.c (load_constantpool): Replaced list_addfirst with
	list_add_first.
	(load_newly_created_array): Likewise.
	
	* src/vm/properties.c (properties_init): Replaced list_init with
	list_create.
	(properties_add): Use list_add_last_unsynced, as this is required
	during bootstrapping.
	
	* src/threads/native/threads.h (THREAD_FLAG_JAVA)
	(THREAD_FLAG_INTERNAL): Added.
	(threadobject): Added flags.
	
	* src/threads/native/threads.c (threads_init): Flag main thread as
	Java thread (required for profiling sampling).
	(threads_startup_thread): Flag threads as Java or internal thread.

2006-06-23 09:23  twisti

	* src/vm/linker.c (vm/vm.h): Added.

2006-06-22 18:48  twisti

	* src/vm/utf8.c, src/vm/utf8.h (utf_null): Added.

2006-06-22 14:39  twisti

	* src/vm/utf8.c (utf8_init): Compile fix with ENABLE_STATISTICS.

2006-06-21 16:29  ajordan

	* configure.ac: Added support for compiling on sparc64
	
	* src/vm/jit/Makefile.am: Added sparc64 subdirectory
	
	* src/vm/jit/sparc64/*: Added files for the sparc64 JIT (which won't
	compile yet)

2006-06-21 08:30  twisti

	* src/vm/jit/mips/linux/.cvsignore: Added TAGS.

2006-06-20 15:50  twisti

	* src/vm/jit/mips/codegen.c (codegen): Use codeinfo instead of
	methodinfo.
	(createcompilerstub): Likewise.
	(createnativestub): Likewise.
	
	* src/vm/jit/mips/asmpart.S (asm_vm_call_method): Likewise.

2006-06-20 11:55  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Use codeinfo instead of
	methodinfo.
	(createcompilerstub): Likewise.
	(createnativestub): Likewise.
	
	* src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Likewise.

2006-06-20 09:10  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use codeinfo instead of
	methodinfo.
	(createcompilerstub): Likewise.
	(createnativestub): Likewise.
	
	* src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.

2006-06-19 22:53  twisti

	* src/vm/jit/i386/codegen.c (codegen): Use codeinfo instead of
	methodinfo.
	(createcompilerstub): Likewise.
	(createnativestub): Likewise.
	
	* src/vm/jit/i386/asmpart.S (asm_vm_call_method): Likewise.

2006-06-19 22:23  twisti

	* src/threads/native/threads.h (threadobject): Added pc.

2006-06-19 22:22  twisti

	* src/vm/jit/methodheader.h (MethodPointer): Removed.
	(CodeinfoPointer): Added.
	
	* src/vm/method.c (method_vftbl_lookup): Use CodeinfoPointer.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Use codeinfo instead of
	methodinfo.
	(createcompilerstub): Likewise.
	(createnativestub): Likewise.
	
	* src/vm/jit/powerpc/asmpart.S: Likewise.
	
	* src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
	Likewise.
	(stacktrace_create_native_stackframeinfo): Likewise.
	(stacktrace_add_method): Likewise.
	(stacktrace_create): Likewise.
	
	* src/vm/exceptions.c (exceptions_handle_exception): Likewise.
	
	* src/vm/jit/codegen-common.c (codegen_findmethod): Define for all
	architectures. Removed assert, we have to check that somewhere else.
	(codegen_finish): Add the method for all architectures.
	
	* src/vm/jit/codegen-common.h (methodtree_element): Likewise.
	
	* src/vm/jit/profile/profile.c (profile_thread): First implementation.
	* src/vm/jit/profile/profile.h (vm/global.h): Added.
	
	* src/vm/signal.c (signal_init): Install SIGUSR2 for profiling.
	* src/vm/signallocal.h (md_signal_handler_sigusr2): Added.
	* src/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): New
	method.
	
	* src/vm/vm.c (vm_create): Call profile_start_thread only with
	opt_prof.
	
	* src/cacaoh/headers.c (exceptions_throw_nosuchmethoderror): Added.

2006-06-19 21:39  twisti

	* src/vm/class.c (class_resolveinterfacemethod_intern): Smaller
	changes.
	(class_resolveclassmethod): Likewise.

2006-06-19 21:04  twisti

	* src/vm/linker.c (link_class_inter): Smaller changes.
	(linker_addinterface): Likewise, added some comments about checks we
	should do.

2006-06-19 21:00  twisti

	* src/vm/jit/powerpc/patcher.c (assert.h): Added.
	(patcher_invokeinterface): Added XXX comments.

2006-06-19 20:51  twisti

	* configure.ac (profiling): Disable by default.

2006-06-19 12:36  twisti

	* src/native/jni.c (AttachCurrentThread): Removed dummy
	implementation.
	(GetEnv): Use switch instead of if's.

2006-06-14 18:55  motse

	* src/native/native.c (native_resolve_function): fix/add to my last
	incomplete commit.

2006-06-14 18:36  motse

	* src/vm/loader.c (load_class_from_classloader): Add call to jvmti
	Class Load and Prepare event.
	
	* src/native/jni.c (RegisterNatives): Add comment for calling jvmti
	Native Method Bind event.
	
	* src/native/vm/VMClassLoader.c (defineClass): Add call to jvmti
	Class File Load Hook event.
	
	* src/native/vm/VMObject.c (wait): Add call to jvmti Monitor Wait
	and Waited event.
	
	* src/native/native.c (native_resolve_function): Add call to jvmti
	Native Method Bind event.
	
	* src/native/jvmti/cacaodbg.c (jvmti_ClassFileLoadHook): new function
	to supprt event.
	(jvmti_ClassLoadPrepare): idem
	(jvmti_MonitorContendedEntering): idem
	(jvmti_MonitorWaiting): idem
	(jvmti_ThreadStartEnd): idem
	(jvmti_NativeMethodBind): idem
	
	* src/native/jvmti/cacaodbg.h: Add function headers for
	jvmti_ClassFileLoadHook, jvmti_ClassLoadPrepare,
	jvmti_MonitorContendedEntering, jvmti_MonitorWaiting,
	jvmti_ThreadStartEnd, jvmti_NativeMethodBind.
	
	* src/native/jvmti/jvmti.c (execute_callback): Add support for Class
	File Load Hook event.
	(GetOwnedMonitorInfo): Adapt lock record iteration to new
	data structure.
	(GetCurrentContendedMonitor): idem
	
	* src/threads/native/lock.c (lock_monitor_enter): Add call to jvmti
	Monitor Contended Enter and Entered event
	
	* src/threads/native/threads.c (threads_startup_thread): replace
	breakpoint by direct call to jvmti Thread Start/End event
	
	* src/cacaoh/headers.c add dummy functions jvmti_ThreadStartEnd,
	jvmti_ClassLoadPrepare and jvmti_MonitorContendedEntering

2006-06-13 10:41  twisti

	* src/lib/vm/reference/java/lang/VMThread.java: Updated and removed
	our old thread variables.
	* src/native/include/java_lang_VMThread.h: Regenerated.

2006-06-12 21:34  edwin

	* src/vm/jit/stack.c (new_stack_analyze): Fixed warnings about
	directive in macro argument.

2006-06-12 21:27  edwin

	* src/vm/jit/show.c (new_show_basicblock): Fixed warnings.
	(new_show_stackvar): Likewise.

2006-06-12 21:14  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Set dst field for IINC.
	
	* src/vm/jit/show.c (new_show_method): Use jitdata.new_rd.
	Only show locals and interfaces if available.
	(new_show_basicblock): Changed basicblock output format.
	(new_show_stackvar): Copied&pasted full stackvar printing.
	(new_show_icmd): Show some more ICMD operands.
	
	* src/vm/jit/allocator/simplereg.c (new_reg_mark_copy): Fixed
	bug for the case nthrough != 0.

2006-06-12 18:50  edwin

	* src/vm/jit/allocator/simplereg.h, src/vm/jit/allocator/simplereg.c
	(new_regalloc): New function for new instruction format.
	(new_allocate_scratch_registers): Likewise.
	
	* src/vm/jit/show.c (new_show_stackvar): Show allocated register
	for stage SHOW_REGS and above.
	
	* src/vm/jit/jit.h (jitdata): Added field new_rd for testing the
	new simplereg allocator.

2006-06-12 14:23  edwin

	* src/vm/jit/stack.c (new_stack_analyse): Fixed new stack analysis
	for ICMD_JSR.
	
	* src/vm/jit/show.c (new_show_icmd): Show operands of new instruction
	format.
	(new_show_basicblock): Removed obsolete stack display.

2006-06-10 14:53  edwin

	* src/vm/jit/stack.c (IF_INTRP): New macro.
	(IF_JIT): New macro.
	(STATISTICS_STACKDEPTH_DISTRIBUTION): New macro.
	(new_stack_analyse): New function. Implemented stack analysis for
	new instruction format. (Not used, yet.)
	
	* src/vm/jit/stack.h (NEWSTACK): Enclosed in do { } while(0).
	
	* src/vm/jit/show.h, src/vm/jit/show.c (new_show_method): New
	function.
	(new_show_basicblock): New function.
	(new_show_icmd): New function.
	
	* src/vm/jit/parse.c (new_fillextable): New function.
	(parse): Parsing of JSR changed. Fixed bptr->icount setting.
	
	* src/vm/jit/jit.h (new_instruction): New field s3.jsrtarget.
	New field dst.dupslots.

2006-06-08 07:26  twisti

	* tests/regression/codepatching/test.java (aastoreconst): Fixed skip
	case.

2006-06-07 12:51  twisti

	* src/vm/suck.c (suck_add_from_property): Always set namelist to NULL
	before scandir.

2006-06-07 12:19  twisti

	* src/vm/global.h (bool): Changed to `unsigned int', as the MIPS Pro
	compiler complains about signed bit fields. And I think that warning
	is really ok.
	
	* src/vm/suck.c (scandir_filter): Changed the signature define, as
	only linux seems to use const.

2006-06-07 12:10  twisti

	* src/vm/suck.c (suck_add_from_property): Check for scandir return
	value in error case, as on some systems, like Linux, it returns NULL.

2006-06-06 21:13  motse

	src/native/vm/VMVirtualMachine.c (unregisterEvent): print error
	message
	
	src/native/jvmti/cacaodbg.c (jvmti_cacao_debug_init): set variable
	jvmti
	
	src/native/jvmti/VMjdwp.c: add jmethodID and jclass cache variables.
	Add new callback functions to jvmti_jdwp_EventCallbacks
	(ThreadStart/ThreadEnd/ClassPrepare/Breakpoint): add
	ThreadStart/ThreadEnd event callbackes implementation who notify jdwp.
	(Exception/MethodEntry): dummy implementation. There are no jdwp
	exeception/MethodEntry events in gnu classpath yet.
	(setup_jdwp_thread): use cache variables.
	FINDCLASSWITHEXCEPTION/GETMIDWITHEXCEPTION: helper macros to ease
	jni findclass and getmethodid.
	(fillidcache): new function that fills valid jmethodIDs and jclasses
	in the cache variables.
	(VMInit): add call to fillidcache.
	(Agent_OnLoad): do not enable all jvmti callbacks anymore. Only
	enable needed VMInit callback. The other callbacks will be enable
	with VMVirtualMachine.registerEvent by need.
	
	src/native/jvmti.c (dofireEvent): check if a valid event callback is
	available before executing it.
	(SetEventNotificationMode): ThreadStart/End event are no more
	implemented as breakpoints but have direct function calls to
	dofireEvent.
	(SuspendThread/ResumeThread/getcacaostacktrace): sketch for further
	implementation of this function. Final threads_suspend* functions are
	not yet available.
	(GetArgumentsSize): new implementation using parsed descriptors.
	(GetMethodLocation): add checks for JVMTI_ERROR_NATIVE_METHOD
	(Samuel Vinson). And return -1 as return values for this dummy
	implementation.
	(GetJLocationFormat): JLocationFormat probably will be
	JVMTI_JLOCATION_OTHER
	
	src/native/jvmti/VMjdwp.h: add jdwpthread which stores the thread
	object for the jdwp listening thread.
	
	src/threads/native/threads.h: remove jvmti_get_threads_breakpoints
	beacause ThreadStart/End events are implemented as direct function
	calls by now.
	
	src/threads/native/threads.c (threads_startup_thread): replace
	ThreadStart/End event implementation.
	(jvmti_get_threads_breakpoints): removed.
	
	src/cacaoh/headers.c (jvmti_fireEvent): added dummy implementation to
	enable linking of cacaoh.

2006-06-06 18:51  twisti

	* tests/regression/extest.java: Get the maximum heap size and use it
	for OOM checks.
	* tests/regression/extest.2output: Updated.

2006-06-06 18:05  twisti

	* src/vm/jit/alpha/arch.h (SUPPORT_LONG_DIV_POW2)
	(SUPPORT_LONG_REM_POW2): Added, as we probably support these two
	instructions while the architecture does not support long division.
	* src/vm/jit/i386/arch.h: Likewise.
	* src/vm/jit/mips/arch.h: Likewise.
	* src/vm/jit/powerpc/arch.h: Likewise.
	* src/vm/jit/x86_64/arch.h: Likewise.
	
	* src/vm/jit/stack.c (stack_analyse): Use SUPPORT_LONG_DIV_POW2 and
	SUPPORT_LONG_REM_POW2 instead of SUPPORT_LONG_DIV.

2006-06-06 14:32  michi

	* doc/handbook/arm.tex: Added.
	* doc/handbook/arm-double-memory.png: Image describing doubles in
	memory.
	* doc/handbook/cacao.tex, doc/handbook/Makefile.am: Added arm.tex.

2006-06-06 13:13  twisti

	* tests/regression/Makefile.am (JAVAFLAGS): Use flat vm classes and
	CLASSPATH_GLIBJ_ZIP.
	* tests/regression/codepatching/Makefile.am: Likewise.
	* tests/regression/native/Makefile.am: Likewise.

2006-06-06 12:17  twisti

	* .externalToolBuilders/CacaoConfigure.launch: Updated to new
	configure options.

2006-06-06 11:22  twisti

	* configure.ac (VM_ZIP_STRING): Removed.
	(--with-vm-zip): Added.
	(--with-classpath-glibj-zip): Added.
	(--with-flat-classpath): Removed.
	
	* contrib/setenvinstalled.in (BOOTCLASSPATH): Use hardcoded vm.zip and
	@CLASSPATH_GLIBJ_ZIP@.
	* contrib/setenvsource.in: Likewise.
	
	* src/vm/global.h (CACAO_VM_ZIP_PATH): Removed.
	(CLASSPATH_GLIBJ_ZIP_PATH): Likewise.
	* src/vm/vm.c (CACAO_VM_ZIP_PATH): Replaced with CACAO_VM_ZIP.
	(CLASSPATH_GLIBJ_ZIP_PATH): Replaced with CLASSPATH_GLIBJ_ZIP.
	* src/cacaoh/cacaoh.c: Likewise.
	
	* src/lib/Makefile.am (GLIBJ_ZIP): Removed and replaced with
	CLASSPATH_GLIBJ_ZIP.
	* src/native/include/Makefile.am (VM_ZIP): Removed and replaced with
	flat classes in builddir.
	(GLIBJ_ZIP): Removed and replaced with CLASSPATH_GLIBJ_ZIP.
	* src/native/Makefile.am: Likewise.

2006-06-01 22:53  edwin

	* src/vm/jit/stack.h (NEW_CHECKOVERFLOW): New macro.

2006-06-01 22:52  edwin

	* src/vm/jit/parse.c (new_parse): Use temporary fields in jitdata,
	instead of methodinfo fields. Check exceptions for MONITORENTER/EXIT.
	Cleaned up.

2006-06-01 22:49  edwin

	* src/vm/jit/parse.h (new_block_insert): New macro.

2006-06-01 22:46  edwin

	* src/vm/jit/jit.h (jitdata): Added temporary fields for development
	of new instruction format.
	(NEW_INSTRUCTION_GET_METHODDESC): New macro.

2006-06-01 16:00  edwin

	* src/vm/resolve.c (new_resolve_field_lazy): New method. This will
	become the resolve_field_lazy for the new instruction format.
	(new_resolve_method_lazy): New method. This will
	become the resolve_method_lazy for the new instruction format.
	(new_create_unresolved_field): New method. This will
	become the create_unresolved_field for the new instruction format.
	(new_create_unresolved_method): New method. This will
	become the create_unresolved_method for the new instruction format.
	
	* src/vm/jit/parse.c (new_parse): Further work for new format.
	
	* src/vm/jit/jit.h (NEW_INSTRUCTION_GET_FIELDREF): New macro.
	(NEW_INSTRUCTION_GET_METHODREF): New macro.

2006-06-01 15:09  edwin

	* src/vm/jit/jit.c (jcommandsize): Reformatted prettily. Use comments
	instead of duplicated #defines.

2006-06-01 14:36  edwin

	* src/vm/jit/jit.h (ICMD_CHECKNULL_POP): New ICMD.
	* src/vm/jit/jit.c (ICMD_CHECKNULL_POP): Likewise.
	
	* src/vm/jit/parse.c (new_parse): Further work on parsing for new
	instruction format. Zero flags where necessary. Clarify policy of
	at most one instruction per byte of original bytecode. Use the new
	ICMD_CHECKNULL_POP for MONITORENTER/EXIT without threads.

2006-06-01 13:00  edwin

	* src/vm/jit/parse.h: Reworked and documented macros for new
	instruction set.

2006-05-31 23:18  edwin

	* src/vm/jit/jit.h: Whitespace cleanup and comments.

2006-05-31 23:03  edwin

	* src/vm/jit/parse.c (parse): Removed unnecessary variable `s4ptr`.

2006-05-31 22:56  edwin

	* src/vm/jit/parse.c (new_parse): Implement LOOKUPSWITCH and
	TABLESWITCH for the new instruction format.
	
	* src/vm/jit/jit.h (branch_target_t): New union.
	(lookup_target_t): New struct.
	(s3_operand_t): lookupdefault is now a branch_target_t.
	(dst_operand_t): Changed some field names and types.

2006-05-31 22:07  twisti

	* src/native/jvmti/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
	(LIBS): Added, required for darwin.
	(libjdwp_la_SOURCES): Removed trailing \.

2006-05-31 21:31  edwin

	* src/vm/jit/ifconv/ifconv.c (show.h): Include this instead of
	stack.h.
	* src/vm/jit/verify/typecheck.c (show.h): Likewise.
	* src/vm/jit/inline/inline.c (show.h): Include.
	* src/vm/jit/jit.c (show.h): Include.

2006-05-31 21:10  edwin

	* src/vm/jit/show.c (show_init): Do not define this function for
	NDEBUG.

2006-05-31 20:28  edwin

	* src/vm/jit/show.h: New file.
	* src/vm/jit/show.c: New file.
	
	* src/vm/jit/stack.h (stack_show_method): Moved to show.h, renamed to
	show_method.
	(stack_show_basicblock): Moved to show.h, renamed to show_basicblock.
	(stack_show_icmd): Moved to show.h, renamed to show_icmd.
	
	* src/vm/jit/stack.c (lock_stack_show_icmd): Moved to show.c, renamed
	to show_global_lock.
	(stack_show_method): Moved to show.c, renamed to show_method.
	(stack_show_basicblock): Moved to show.c, renamed to show_basicblock.
	(stack_show_icmd): Moved to show.c, renamed to show_icmd.
	(stack_init): This function is now empty.
	
	* src/vm/jit/ifconv/ifconv.c (stack_show_basicblock): Renamed to
	show_basicblock.
	
	* src/vm/jit/inline/inline.c (stack_show_method): Renamed to
	show_method.
	(stack_show_icmd): Renamed to show_icmd.
	
	* src/vm/jit/inline/inline_debug.inc (stack_show_icmd): Renamed to
	show_icmd.
	
	* src/vm/jit/jit.c (jit_init): Call show_init.
	(stack_show_method): Renamed to show_method.
	
	* src/vm/jit/Makefile.am (show.c): Added.
	(show.h): Added.
	
	* src/threads/native/lock.h (pthread.h): Included.

2006-05-31 19:25  edwin

	* src/vm/jit/jit.h (s3_operant_t): Typo fixed to s3_operand_t.
	Thanks, twisti.

2006-05-31 13:53  motse

	src/native/vm/VMVirtualMachine.c (suspendThread): print error message
	with printjvmtierror
	(resumeThread): idem
	(getAllLoadedClassCount): idem
	(getAllLoadedClasses): idem
	(getClassStatus): idem
	(getAllClassMethods): idem
	(getFrameCount): idem
	(getThreadStatus): idem
	(getSourceFile): idem
	(registerEvent): idem
	
	src/native/vm/VMMethod.c (printjvmtierror): new helper function for
	getting and print error messages
	(getName): print error message with printjvmtierror, remove
	signature, generic signature
	(getSignature): print error message with printjvmtierror, remove
	name, generic signature
	(getModifiers): print error message with printjvmtierror
	(getlinetable): idem
	(fillVariableTable): new function for converting
	jvmtiLocalVariableEntry to arguments for
	gnu.classpath.jdwp.util.VariableTable constructor
	(getVariableTable): new implementation. tries to get local variable
	table and return gnu.classpath.jdwp.util.VariableTable.
	
	src/native/include/Makefile.am: add VariableTable
	
	src/native/jvmti/VMjdwp.c (printjvmtierror) new function (duplicate)
	- this is a work around
	(VMInit): print error message with printjvmtierror
	
	src/native/jvmti/jvmti.c (InterruptThread): new implentation
	(GetThreadInfo): switch form using javastring_tochar (uses malloc)
	to javastring_toutf/utf_sprint_convert_to_latin1
	(GetOwnedMonitorInfo): fix error handling
	(GetFrameLocation): idem
	(DestroyRawMonitor): use heap_free
	(GetClassSignature): fix error handling
	(GetSourceFileName): use utf_bytes
	(GetFieldName): fix error handling
	(GetFieldDeclaringClass): add error handling
	(GetFieldModifiers): idem
	(GetMethodName): fix error handling
	(GetClassLoaderClasses): idem
	(GenerateEvents): add CHECK_CAPABILITY
	can_generate_compiled_method_load_events
	
	src/native/jvmti/VMjdwp.h add printjvmtierror

2006-05-31 13:10  twisti

	* src/vm/jit/x86_64/md-emit.h (IS_IMM8, IS_IMM32): Removed.
	* src/vm/jit/emit.h (IS_IMM8, IS_IMM32): Added.

2006-05-31 12:33  twisti

	* src/vm/jit/x86_64/emit.c: Use new emit methods, saves about 6k code
	size.
	(emit_membase32): New method.
	(emit_memindex): Likewise.
	* src/vm/jit/x86_64/md-emit.h (emit_membase32): Removed.
	(emit_memindex): Likewise.

2006-05-30 23:38  edwin

	* src/vm/jit/parse.c (new_parse): Worked on implementing parsing for
	the new instruction format. (Not used, yet.)
	* src/vm/jit/parse.h: Likewise.
	
	* src/vm/jit/jit.h (INS_FLAG_UNRESOLVED, INS_FLAG_CLASS)
	(INS_FLAG_ARRAY, INS_FLAG_NOCHECK): Added flag constants for new
	instruction format.

2006-05-30 12:24  edwin

	* src/vm/jit/parse.h (new_instruction): Moved `bte` field to s3.
	* src/vm/jit/jit.h: Likewise.

2006-05-29 23:59  edwin

	* src/vm/jit/jit.h (subroutineinfo): Removed unused typedef.

2006-05-29 23:47  edwin

	* src/vm/jit/parse.h: New macros for new instruction format (not
	used,
	yet).
	
	* src/vm/jit/jit.h (new_instruction, ...): Further development of new
	instruction format (not used, yet).

2006-05-29 22:37  edwin

	* src/vm/jit/parse.h: Reordered and commented macros. No functional
	changes.
	(Changes): Added my name.

2006-05-29 21:48  edwin

	* src/vm/jit/parse.c (new_parse): New function. This will become the
	parse function for the new instruction format.
	(parse): Removed obsolete variable `gp`. (Was used for old inlining).
	
	* src/vm/jit/jit.h (jitdata): Added temporary fields
	`new_instructions` and `new_instructioncount` for parallel
	development of the new instruction format.

2006-05-29 20:22  edwin

	* src/vm/jit/jit.h (new_instruction): Committed the new instruction
	struct (with name `new_instruction` so it can co-exist with the old
	format `instruction`).
	(resolve.h): Include for new instruction format.
	
	* src/vm/resolve.h (typeinfo.h): Include to resolve dependencies.
	
	* src/vm/jit/parse.h: Added a reminder comment.

2006-05-29 19:28  twisti

	* configure.ac (AC_INIT): Changed to 0.96+svn.
	(CFLAGS): Changed to -O0.

2006-05-29 18:53  twisti

	* ChangeLog: Updated.

2006-05-29 18:52  twisti

	* configure.ac (AC_INIT): Changed to version 0.96.
	(CFLAGS): Changed to -O2.
	* NEWS: Changed date.

2006-05-29 15:51  twisti

	* src/vm/vm.c (usage): Removed new-line.

2006-05-29 15:37  twisti

	* src/vm/vm.c (OPT_GLIBJ): Added.
	(Xusage): Added help for -Xglibj.
	(version): Changed signature for conditional exit.
	(main): Added OPT_GLIBJ. Print version after all commandline arguments
	have been handled.

2006-05-29 15:21  edwin

	* src/vm/linker.c (link_class_intern): On i386 align all fields to
	just 4 bytes as gcc does. This makes the offsets of Java fields match
	the offset of native headers. This fixes a bug (java.lang.Double.value
	had been at offset 16, but java_lang_Double.value is offset 12).

2006-05-29 15:17  twisti

	* src/threads/native/critical.h (signal.h): Added, build fix for some
	older Darwin systems.

2006-05-29 14:32  twisti

	* NEWS: Added a lot of stuff.

2006-05-29 14:31  twisti

	* src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be
	binary compatible with Sun.

2006-05-29 09:41  motse

	src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv -
	jvmti
	src/native/vm/VMVirtualMachine.c: formatting changes/removed debug
	statements
	src/native/vm/VMMethod.c:
	(getName/getSignature/getModifiers/getLineTable): (Samuel Vinson) new
	implementation. (partially changed by motse)
	src/native/jvmti/cacaodbg.h: removed unused function declarations
	src/native/jvmti/jvmti.c (getcacaostacktrace): new implementation -
	does not yet handle traces of not current threads correctly.
	(GetMethodName): fix: return JVMTI_ERROR_NULL_POINTER only on method
	== NULL
	(GetFrameCount/GetStackTrace): fixed check for valid thread argument.

2006-05-26 16:24  edwin

	* src/toolbox/logging.h (stdarg.h): Include it here, instead of in
	logging.c.
	* src/toolbox/logging.c: See above.

2006-05-26 12:58  twisti

	* src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
	Removed assert.
	* src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection):
	Compile fix. Removed assert.

2006-05-26 12:46  edwin

	* NEWS: Added unicode cleanup.

2006-05-26 12:44  edwin

	* NEWS: Added tasuki locks and other news.

2006-05-26 12:31  motse

	src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare
	class state

2006-05-26 12:26  edwin

	* src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo):
	Commented.

2006-05-26 12:25  twisti

	* src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
	Implemented.
	* src/vm/jit/powerpc/darwin/md-os.c: Likewise.

2006-05-26 12:19  edwin

	* src/vm/builtin.c (builtin_init): Documented.
	(builtin_trace_args): Documented.
	(builtin_displaymethodstop): Documented.
	
	* src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented.
	
	* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
	Documented.
	
	* src/vm/jit/codegen-common.c (methodtree_comparator): Documented.
	(codegen_insertmethod): Documented.
	
	* src/toolbox/util.c (getcwd): Documented.

2006-05-26 12:09  edwin

	* src/vm/loader.h: Comment update.
	
	* src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete
	inlining check.
	
	* src/vm/jit/replace.c: Typo fixed.
	
	* src/vm/jit/reg.c: Avoid XXX as wildcard in comments.
	* src/vm/jit/jit.h: Likewise.

2006-05-26 11:57  twisti

	* src/vm/properties.c (properties_system_add): Changed
	javastring_new_from_ascii to javastring_new_from_utf_string.
	
	* src/native/jni.c (ThrowNew): Use a variable for clazz.
	(JNI_CreateJavaVM): Release allocated memory if vm_create fails.
	
	* src/threads/native/threads.c: Comments reformatted.

2006-05-26 11:48  edwin

	* src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX
	comments.
	(class_resolveinterfacemethod): Likewise.
	(class_resolvefield): Likewise.
	
	* src/vm/classcache.h: Removed obsolete XXX comment.
	
	* src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments.
	* src/vm/jit/jit.c: Likewise.
	
	* src/native/vm/VMObject.c (Java_java_lang_VMObject_clone):
	Removed obsolete XXX comment.
	
	* src/mm/memory.c (dump_release): Removed obsolete debugging code.

2006-05-26 11:22  edwin

	* src/native/jni.c (DefineClass): Use javastring_new_from_utf_string.
	(ThrowNew): Likewise.

2006-05-26 09:30  twisti

	* src/mm/boehm.c (stackcall_malloc_atomic): Removed.
	(stackcall_malloc_uncollectable): Likewise.
	(heap_alloc_uncollectable): Use macros directly.
	(heap_allocate): Likewise.
	
	* src/vm/vm.c: Added -jvm options, which is available on darwin.
	
	* src/vm/suck.c (scandir_filter): Changed signature for darwin.

2006-05-25 21:59  motse

	src/vm/vm.c(usage): added information for jvmti agent for jdwp
	(vm_create): jdwp code move to jvmti agent for jdwp (VMjdwp.c)
	src/cacao/cacao.c (main): jdwp code move to jvmti agent for jdwp.
	execute jvmti_set_phase only if needed
	src/native/jvmti/cacaodbg.c (setup_jdwp_thread): jdwp code move to
	jvmti agent for jdwp
	src/native/jvmti/VMjdwp.c: change this to a jvmti complaint agent by
	using jni/jvmti function instead of cacao specific functions and
	implement a Agent_OnLoad as main entry point. Include
	setup_jdwp_thread function.
	src/native/jvmti/Makefile.am: add libjdwp.so
	src/native/jvmti/cacaodbg.h: remove no more needed global jdwp
	related variables
	src/native/jvmti/jvmti.c: (Resume/SuspendThread(List)): add temporary
	implementation for trying jdwp
	(jvmti_agentload): bugfix in getting/passing libname/arguments

2006-05-25 12:28  twisti

	* vm/jit/intrp/intrp.h (global_sp): Added space, yeah, whatever...
	* vm/jit/intrp/dynamic-super.c (vm/builtin.h): Added.
	(vm/jit/disass.h): Likewise.
	(gen_inst): Fixed compiler warnings.
	* vm/jit/intrp/java.vmg: Fixed compiler warnings with
	stacktrace_create_stackframeinfo.
	* threads/native/threads.h (threadobject): Changed type of _global_sp
	to u1*.

2006-05-25 12:22  twisti

	* NEWS: Sorry.

2006-05-25 12:21  twisti

	* src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB.
	(STACK_SIZE): Changed to 64kB.
	(Xusage): Calculate default sizes.
	
	* NEWS: New stuff added.

2006-05-25 11:29  twisti

	* src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added.

2006-05-25 11:24  edwin

	* configure.ac: Disable inlining and lsra by default.

2006-05-24 14:11  twisti

	* src/threads/native/threads.c (threads_startup_thread): Allocate Java
	stack on Java heap instead of hardware stack.

2006-05-24 14:08  twisti

	* configure.ac: Added INTRP_CFLAGS.
	* src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS.

2006-05-24 11:00  motse

	src/vm/vm.c (vm_exit): only set JVMTI_PHASE_DEAD if a jvmti agent or
	a jvmti environment is loaded.
	src/native/jvmti/cacaodbg.c (jvmti_cacaodbgserver_quit): bugfix: set
	dbgcom = NULL only if all environments have been disposed.
	src/native/jvmti/jvmti.c (GetLoadedClasses): remove debug statement

2006-05-23 19:52  motse

	src/vm/classcache.c: export CLASSCACHE_LOCK/UNLOCK and
	lock_hashtable_classcache
	src/vm/classcache.h: idem
	src/native/jvmti/jvmti.c (GetLoadedClasses) implemented (sv/motse)
	(GetClassSignature) fixed

2006-05-23 15:31  motse

	src/vm/vm.c (vm_create): rename jvmti function calls
	
	src/cacao/cacao.c (main): rename jvmti function calls
	
	src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version
	changed to JVMTI_VERSION_INTERFACE_JVMTI
	
	src/native/vm/VMVirtualMachine.c (getAllLoadedClassesCount): (Samuel
	Vinson) implemented.
	(getAllLoadedClassesCount): jvmti Deallocate call added. (sv):
	CallObjectMethod fix
	(getAllClassMethods): (Samuel Vinson) implemented.
	(getClassMethod): (Samuel Vinson) implemented.
	
	src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask
	
	src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related
	things removed. gdb related defines added.
	
	src/native/jvmti/dbg.h: remove ptrace related things
	
	src/native/jvmti/cacaodbg.c change setsysbrkpt name to
	jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint,
	allthreads to jvmti_get_all_threads
	(jvmti_cacao_debug_init): new function where fork/exec of
	cacaodbgserver takes place
	(jvmti_set_system_breakpoint): added functionality for brkpt delete
	and asm label for cacaodbgserver support
	(jvmti_cacaodbgserver_quit): new function for killing cacaodbgserver
	properly
	(jvmti_cacao_generic_breakpointhandler): new function. This is the
	entry point for every breakpointhandler and start for a new jvmti
	event
	(jvmti_cacao_debug_init): new function for starting up
	cacaodbgserver process.
	
	src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed
	
	src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install
	support for cacaodbgserver.
	
	src/native/jvmti/cacaodbg.h: breakpoint counter added to struct
	_brkpt. change setsysbrkpt name to jvmti_set_system_breakpoint,
	addbrkpt to jvmti_add_breakpoint, allthreads to
	jvmti_get_all_threads, fireEvent to jvmti_fireEvent, agentload to
	jvmti_agentload agentunload to jvmti_agentunload, getcurrentthread to
	jvmti_get_current_thread, set_jvmti_phase to jvmti_set_phase,
	new_jvmtienv to jvmti_new_environment, VMjdwpinit to
	jvmti_VMjdwpInit. added breakpoint table constants. removed global
	jdwp, jvmti, suspend, transport, agentarg variables
	
	src/native/jvmti/jvmti.c all jvmti-environment function changed to
	static functions. execcallback renamed to execute_callback. fireEvent
	renamed to jvmti_fireEvent.
	(execute_callback): add phase checks
	(GetClassMethods): bugfix in copying jmethodIDs
	(DisposeEnvironment): relocate work to jvmti_cacaodbgserver_quit
	(jvmti_new_environment) : relocate forking new process to
	jvmti_cacao_debug_init
	(CHECK_ADD_CAPABILITY): bugfix in adding capabilities
	(GetClassMethods): bugfix coping methodinfo pointers
	(SetEventNotificationMode): setsysbrkpt calls added.
	rename jvmti function names.
	
	src/native/jvmti/cacaodbgserver.c changed to support gdb insted of
	using ptrace directly.
	(getchildprocptrace): removed
	(waitloop): removed
	(startgdb): new function. start a new gdb session.
	(getgdboutput): new helper function for getting gdb output.
	(dataevaluate): new helper function for getting value for a given
	expression
	(commonbreakpointhandler): new function which handles SIGTRAPs and
	gdb breakpoint hits.
	(controlloop) : new function handle communication with gdb
	(main): removed old code. added calls to startgdb and controlloop
	
	src/native/jvmti/dbg.c removed
	
	src/threads/native/threads.h: removed
	threads_set_current_threadobject. added jvmti_get_threads_breakpoints
	
	src/threads/native/threads.c: (threads_startup_thread) add thread
	start/end asm lables
	(threads_set_current_threadobject): removed jvmti thread start
	support.
	(jvmti_get_threads_breakpoints) new function that gets addresses of
	asm lables.
	
	src/threads/native/lock.h: added definition of lock_global_pool_lock
	and lock_global_pool

2006-05-23 08:51  twisti

	* src/vm/jit/x86_64/codegen.c: Changed the code generator to produce
	RISC-like code. These are way too much changes to name them.
	(createnativestub): Bugfix in argument saving.
	* src/vm/jit/x86_64/codegen.h: Likewise.
	* src/vm/jit/x86_64/emit.c: Likewise.
	* src/vm/jit/x86_64/md-emit.h: Likewise.

2006-05-23 08:42  twisti

	* src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added.
	* src/vm/options.h: Likewise.
	
	* src/vm/vm.c (version): Print heap and stack information.
	(vm_create): Use global option variables.

2006-05-23 08:25  twisti

	* src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function.
	
	* src/vm/jit/x86_64/codegen.c (ICMD_L2I): Only move the low
	32-bit. Otherwise this may cause a bug with e.g. array accesses, as
	the index registers are treated as 64-bit.
	
	* src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read
	32-bit.
	(M_IMOV): Added.
	(M_ICMP_MEMBASE): Likewise.

2006-05-22 16:14  twisti

	* configure.ac: Added --with-classpath-includedir.

2006-05-22 09:07  twisti

	* NEWS: Some news.

2006-05-22 09:06  twisti

	* src/vm/vm.c (vm_abort): New method.
	* src/vm/vm.h: Likewise.
	* src/cacaoh/headers.c: Likewise.
	
	* src/toolbox/logging.c (log_vprint): Made non-static.
	* src/toolbox/logging.h (log_vprint): Added.
	
	* src/threads/native/threads.c (threads_sem_init): Use vm_abort.
	(threads_sem_wait): Likewise.
	(threads_sem_post): Likewise.
	(threads_current_time_is_earlier_than): Likewise.
	(threads_init): Check for pthread_attr_init error.
	(threads_start_thread): Check for errors of pthread calls. Set the
	threads stack size.

2006-05-18 14:33  edwin

	* src/threads/native/lock.h, src/threads/native/lock.c: Tasuki lock
	implementation (without lock deflation). This is a straight-forward
	implementation that uses an extra word in java_objectheader for the
	FLC (flat lock contention) bit.
	
	* src/vm/global.h (java_objectheader): Added field `flcword`.
	
	* src/threads/native/lock.h (Authors): Changed to myself, as there
	is none of the old code remaining in this file.
	
	* src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
	src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
	src/vm/jit/x86_64/codegen.c (codegen, createnativestub): Add the
	FLC word when creating the fake object header for patcher
	synchronization.

2006-05-18 14:06  twisti

	* src/vm/properties.c (properties_get): Search the list backwards to
	get the newest entry.

2006-05-18 12:50  twisti

	* src/vm/vm.c (version): Print default and runtime classpath
	variables.
	(vm_create): Add a default java.endorsed.dirs property.

2006-05-17 22:06  twisti

	* configure.ac: Don't export BOOTCLASSPATH, that makes problems.

2006-05-17 12:10  twisti

	* src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and
	changed argument saving and restoring.
	
	* src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially
	implemented Darwin bits. Still some bugs with testarguments.

2006-05-16 13:08  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Bugfix: use REG_ITMP3 in
	ICMD_L{DIV,REM} for function address. This fixes
	gnu.testlet.java.math.BigInteger.divide.

2006-05-16 01:49  edwin

	* src/threads/native/lock.c: Fixed comment formatting.

2006-05-15 23:37  edwin

	* src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment.

2006-05-15 23:31  twisti

	* configure.ac: Export BOOTCLASSPATH for javac check.
	* src/cacao/Makefile.am (cacao_SOURCES)Removed cacao.h.
	* src/vm/jit/inline/Makefile.am (libinline_la_SOURCES): Added
	inline_debug.inc.
	* src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd.

2006-05-15 23:22  edwin

	* src/vm/jit/inline/inline_debug.c: Renamed to
	src/vm/jit/inline/inline_debug.inc.
	
	* src/vm/jit/inline/inline.c: #include changed to
	src/vm/jit/inline/inline_debug.inc.
	
	* src/vm/resolve.c: Typo fixed.

2006-05-15 21:48  edwin

	* src/threads/native/lock.c (lock_record_remove_waiter): Made static.
	(lock_monitor_wait): Likewise.

2006-05-15 21:32  edwin

	* src/threads/native/lock.h, src/threads/native/lock.c
	(lock_does_thread_hold_lock): Renamed to
	lock_is_held_by_current_thread
	and removed thread argument, as reliable checking is only possible for
	the current thread, anyway.
	
	* src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to
	lock_is_held_by_current_thread.
	
	* src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to
	lock_is_held_by_current_thread.

2006-05-15 18:24  edwin

	* configure.ac (src/threads/green/Makefile): Removed from
	AC_CONFIG_FILES.

2006-05-15 15:06  edwin

	* src/threads/native/lock.h (lock_record_pool_header_t): Documented.
	(lock_record_pool_t): Documented.
	
	* src/threads/native/lock.c: Minor whitespace cleanup.

2006-05-15 14:40  twisti

	* THIRDPARTY: Removed green threads stuff.

2006-05-15 14:39  twisti

	* src/vm/jit/alpha/asmpart.S (asm_perform_threadswitch)
	(asm_initialize_thread_stack, asm_switchstackandcall): Removed (2nd
	part of green threads removal).
	* src/vm/jit/mips/asmpart.S: Likewise.
	* src/vm/jit/i386/asmpart.S: Likewise.
	* src/vm/jit/x86_64/asmpart.S: Likewise.

2006-05-15 14:24  twisti

	* src/vm/hashtable.h,
	src/vm/class.c,,
	src/vm/suck.c,
	src/vm/loader.c,
	src/vm/builtin.c,
	src/vm/string.c,
	src/vm/suck.h,
	src/vm/builtin.h,
	src/vm/loader.h,
	src/vm/finalizer.c,
	src/vm/classcache.c,
	src/vm/initialize.c,
	src/vm/jit/powerpc/linux/md-os.c,
	src/vm/jit/powerpc/netbsd/md-os.c,
	src/vm/jit/powerpc/darwin/md-os.c,
	src/vm/jit/powerpc/darwin/md-asm.h,
	src/vm/jit/powerpc/codegen.c,
	src/vm/jit/powerpc/asmpart.S,
	src/vm/jit/codegen-common.h,
	src/vm/jit/alpha/codegen.c,
	src/vm/jit/alpha/linux/md-os.c,
	src/vm/jit/alpha/asmpart.S,
	src/vm/jit/alpha/freebsd/md-os.c,
	src/vm/jit/stack.c,
	src/vm/jit/code.c,
	src/vm/jit/verify/typecheck.c,
	src/vm/jit/mips/codegen.c,
	src/vm/jit/mips/linux/md-os.c,
	src/vm/jit/mips/asmpart.S,
	src/vm/jit/mips/irix/md-os.c,
	src/vm/jit/patcher.h,
	src/vm/jit/inline/inline.c,
	src/vm/jit/allocator/simplereg.c,
	src/vm/jit/i386/codegen.c,
	src/vm/jit/i386/linux/md-os.c,
	src/vm/jit/i386/asmpart.S,
	src/vm/jit/i386/freebsd/md-os.c,
	src/vm/jit/parse.c,
	src/vm/jit/intrp/intrp.h,
	src/vm/jit/intrp/codegen.c,
	src/vm/jit/intrp/engine.c,
	src/vm/jit/intrp/asmpart.c,
	src/vm/jit/intrp/dynamic-super.c,
	src/vm/jit/intrp/java.vmg,
	src/vm/jit/asmpart.h,
	src/vm/jit/x86_64/md.c,
	src/vm/jit/x86_64/codegen.c,
	src/vm/jit/x86_64/asmpart.S,
	src/vm/jit/profile/profile.c,
	src/vm/jit/stacktrace.c,
	src/vm/jit/jit.c,
	src/vm/jit/stacktrace.h,
	src/vm/jit/codegen-common.c,
	src/vm/jit/jit.h,
	src/vm/global.h,
	src/vm/builtintable.inc,
	src/vm/signal.c,
	src/vm/exceptions.c,
	src/vm/vm.c,
	src/vm/linker.c,
	src/vm/exceptions.h,
	src/vm/utf8.c,
	src/vm/hashtable.c,
	src/cacao/cacao.c,
	src/cacao/Makefile.am,
	src/native/tools/Makefile.am,
	src/native/tools/gennativetable.c,
	src/native/jni.c,
	src/native/vm/VMObject.c,
	src/native/vm/VMThread.c,
	src/native/jni.h,
	src/native/native.c,
	src/native/jvmti/cacaodbg.c,
	src/native/jvmti/cacaodbg.h,
	src/native/jvmti/jvmti.c,
	src/toolbox/avl.c,
	src/toolbox/logging.c,
	src/toolbox/avl.h,
	src/mm/boehm.h,
	src/mm/memory.c,
	src/mm/boehm.c,
	src/threads/green,
	src/threads/native/threads.h,
	src/threads/native/threads.c,
	src/threads/Makefile.am,
	src/cacaoh/cacaoh.c,
	src/cacaoh/headers.h,
	src/cacaoh/Makefile.am,
	src/cacaoh/headers.c,
	configure.ac: Green threads removal, USE_THREADS renamed to
	ENABLE_THREADS, NATIVE_THREADS define removed.

2006-05-15 13:13  twisti

	* src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore.

2006-05-15 12:23  twisti

	* src/threads/native/threads.c (sem_init, sem_post, sem_wait)
	(sem_destroy): Added a pthread implementation (taken from Boehm-GC)
	for Darwin, as Darwin does not have an implementation for these
	functions.
	* src/threads/native/threads.h (sem_t): Added structure for Darwin.
	* src/threads/native/lock.h (semaphore.h): Removed.

2006-05-15 12:14  edwin

	* src/threads/native/lock.c (THIN_UNLOCKED): Abstracted out the thin
	unlocked state so we can toggle the shape bit meaning if we want.
	(lock_pre_compute_thinlock): Likewise.
	(lock_get_initial_lock_word): Likewise.
	(lock_monitor_enter): Made void. Might save an instruction here and
	there.
	(lock_monitor_wait): lock_monitor_enter no longer returns the lock
	record. Assert that it is still the same fat lock (it must be).

2006-05-15 11:34  edwin

	* src/threads/native/lock.c: Added reference to thin lock paper and
	explained the lockword format.

2006-05-14 22:41  edwin

	* src/threads/native/lock.c: Thin lock implementation.
	
	* src/threads/native/threads.h (threadobject): Added thinlock field.
	(Authors, Changes): Moved myself to Authors because of rewrite.
	
	* src/threads/native/threads.c (threads_preinit): Init index and
	thinlock field of mainthreadobj here. (Needed early.)
	(threads_table_add): Init pre-computed thinlock field here.
	
	* src/threads/native/lock.h (lock_pre_compute_thinlock): New function.

2006-05-14 22:36  edwin

	* src/threads/native/lock.c (lock_record_free_pools): Assert that
	this function is not called. It does not match the new way lock
	records are handled. We must find another way to free them.
	
	* src/threads/native/threads.c (threads_init): Do not call
	lock_record_free_pools.
	(threads_table_add): Removed debug code.
	(threads_startup_thread): Likewise.

2006-05-14 15:34  edwin

	* src/threads/native/threads.c (threads_table_init): New function.
	(threads_table_add): New function.
	(threads_table_remove): New function.
	(threads_table_dump): New function.
	(threads_table): New global variable.
	(threads_preinit): Call threads_table_init.
	Call threads_table_add to add main thread.
	(threads_init_threadobject): Initialize index to 0.
	(threads_startup_thread): Call threads_table_add to add the thread
	to the table, and threads_table_remove to remove if afterwards.

2006-05-14 14:02  edwin

	* src/threads/native/threads.h, src/threads/native/threads.c
	(nativethread): Removed. This struct is now inlined in threadobject.
	(threads_table_entry_t): New type.
	(threads_table_t): New type.
	Some further cleanup.
	
	* src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT.
	
	* src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT.
	
	* src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly
	a field of threadobject.
	
	* src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT.
	
	* src/native/jni.h (THREADINFO): Becomes THREADOBJECT.
	
	* src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping.

2006-05-14 12:22  edwin

	* src/threads/native/lock.c, src/threads/native/lock.h: Rewritten
	as a very basic fat lock implementation.
	
	* src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to
	USE_FAKE_ATOMIC_INSTRUCTIONS.
	
	* src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to
	USE_FAKE_ATOMIC_INSTRUCTIONS.
	
	* src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to
	USE_FAKE_ATOMIC_INSTRUCTIONS.
	(ee.lrpool): Renamed to ee.lockrecordpools.

2006-05-14 12:15  edwin

	* src/threads/native/threads.c (threads_calc_absolute_time): Optimize
	waiting for the maximum 64-bit number of milliseconds to an unbounded
	wait. This also avoids an overflow problem we seem to have with timed
	waits.

2006-05-13 23:25  edwin

	* src/threads/native/lock.c (lock_init_thread_lock_record_pool):
	Renamed to lock_init_execution_env. Cleanup and Comments.
	
	* src/threads/native/lock.h (lock_init_thread_lock_record_pool):
	Renamed to lock_init_execution_env.
	
	* src/threads/native/threads.c (lock_init_thread_lock_record_pool):
	Renamed to lock_init_execution_env.

2006-05-13 23:10  edwin

	* src/threads/native/threads.c, src/threads/native/threads.c: Further
	cleanup. Still no functional changes.
	Renamed external symbols are listed below.
	
	* src/threads/native/critical.h, src/threads/native/critical.c:
	Cleanup.
	
	* src/threads/native/lock.h: Cleanup.
	
	* src/vm/jit/profile/profile.c (thread_sleep): Renamed to
	threads_sleep.
	
	* src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads.
	
	* src/native/jni.c (thread_getself): Renamed to
	threads_get_current_threadobject.
	
	* src/native/vm/VMThread.c (thread): Typedef `thread` has been
	removed.
	(interruptThread): Renamed to threads_interrupt_thread.
	(isInterruptedThread): Renamed to threads_thread_has_been_interrupted.
	(setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
	(yieldThread): Renamed to threads_yield.
	(interruptedThread): Renamed to
	threads_check_if_interrupted_and_reset.
	
	* src/native/jvmti/cacaodbg.c (thread_getself): Renamed to
	threads_get_current_threadobject.
	(setthreadobject): Renamed to threads_set_current_threadobject.
	
	* src/native/jvmti/jvmti.c (setthreadobject): Renamed to
	threads_set_current_threadobject.
	
	* src/threads/green/threads.h (yieldThread): Renamed to threads_yield.
	(setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
	
	* src/threads/green/threads.c (yieldThread): Renamed to threads_yield.
	(setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.

2006-05-12 16:49  edwin

	* src/threads/native/threads.c: The Big Thread Cleanup. No functional
	changes,
	only code motion, renaming, documenting. This file has been split into
	threads.c, lock.c, and critical.c.
	Externally used symbols that were renamed are listed below. Static
	symbol
	renames are not listed.
	
	* src/threads/native/threads.h: The Big Thread Cleanup. No functional
	changes,
	only code motion, renaming, documenting. This file has been split into
	threads.h, lock.h, and critical.h.
	
	* src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green
	threads).
	
	* src/cacaoh/headers.c (threadcritnode): Renamed to
	critical_section_node_t.
	
	* src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock.
	
	* src/native/jvmti/jvmti.c (lockRecordPool): Renamed to
	lock_record_pool_t.
	(pool_lock): Renamed to lock_global_pool_lock.
	(global_pool): Renamed to lock_global_pool.
	(ownerThread): Renamed to owner.
	(threadHoldsLock): Renamed to lock_does_thread_hold_lock.
	(monitorExit): Renamed to lock_monitor_exit.
	(wait_cond_for_object): Renamed to lock_wait_for_object.
	(signal_cond_for_object): Renamed to lock_notify_object.
	(broadcast_cond_for_object): Renamed to lock_notify_all_object.
	
	* src/native/tools/gennativetable.c (initLocks): Renamed to lock_init
	(green threads).
	
	* src/native/vm/VMObject.c (initObjectLock): Renamed to
	lock_init_object_lock.
	(wait_cond_for_object): Renamed to lock_wait_for_object.
	(signal_cond_for_object): Renamed to lock_notify_object.
	(broadcast_cond_for_object): Renamed to lock_notify_all_object.
	
	* src/native/vm/VMThread.c (threadHoldsLock): Renamed to
	lock_does_thread_hold_lock.
	
	* src/threads/green/locks.c, src/threads/green/locks.h
	(initLocks): Renamed to lock_init.
	(wait_cond_for_object): Renamed to lock_wait_for_object.
	(signal_cond_for_object): Renamed to lock_notify_object.
	(broadcast_cond_for_object): Renamed to lock_notify_all_object.
	(internal_broadcast_cond_for_object): Renamed to
	internal_lock_notify_all_object.
	
	* src/threads/green/threads.c (initLocks): Renamed to lock_init.
	(internal_broadcast_cond_for_object): Renamed to
	internal_lock_notify_all_object.
	
	* src/threads/native/Makefile.am (lock.c, lock.h): Added new files.
	(critical.c, critical.h): Added new files.
	(Changes): Added my name.
	
	* src/threads/native/critical.c: New file.
	
	* src/threads/native/critical.h: New file.
	
	* src/threads/native/lock.c: New file.
	
	* src/threads/native/lock.h: New file.
	
	* src/toolbox/avl.c (initObjectLock): Renamed to
	lock_init_object_lock.
	
	* src/vm/builtin.c (initObjectLock): Renamed to lock_init_object_lock.
	(monitorEnter): Renamed to lock_monitor_enter.
	(monitorExit): Renamed to lock_monitor_exit.
	
	* src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock.
	
	* src/vm/classcache.c (initObjectLock): Likewise.
	
	* src/vm/finalizer.c (initObjectLock): Likewise.
	(wait_cond_for_object): Renamed to lock_wait_for_object.
	(signal_cond_for_object): Renamed to lock_notify_object.
	
	* src/vm/global.h (monitorLockRecord): Renamed to lock_record_t.
	
	* src/vm/hashtable.c (initObjectLock): Renamed to
	lock_init_object_lock.
	
	* src/vm/jit/asmpart.h: Added #include "threads/native/critical.h"
	(threadcritnode): Renamed to critical_section_node_t.
	
	* src/vm/jit/code.c: Comment changed.
	
	* src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
	(threadcritnode): Renamed to critical_section_node_t.
	(threadcritnodetemp): Renamed to codegen_critical_section_t.
	
	* src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to
	lock_get_initial_lock_word.
	
	* src/vm/jit/alpha/freebsd/md-os.c (thread_checkcritical): Renamed to
	critical_find_restart_point.
	* src/vm/jit/alpha/linux/md-os.c (thread_checkcritical): Renamed to
	critical_find_restart_point.
	
	* src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to
	lock_get_initial_lock_word.
	
	* src/vm/jit/i386/freebsd/md-os.c (thread_checkcritical): Renamed to
	critical_find_restart_point.
	* src/vm/jit/i386/linux/md-os.c (thread_checkcritical): Renamed to
	critical_find_restart_point.
	
	* src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to
	lock_init_object_lock.
	
	* src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to
	lock_get_initial_lock_word.
	
	* src/vm/jit/mips/irix/md-os.c (thread_checkcritical): Renamed to
	critical_find_restart_point.
	* src/vm/jit/mips/linux/md-os.c (thread_checkcritical): Renamed to
	critical_find_restart_point.
	
	* src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to
	lock_get_initial_lock_word.
	
	* src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to
	lock_wait_for_object.
	
	* src/vm/jit/stack.c (initObjectLock): Renamed to
	lock_init_object_lock.
	
	* src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to
	lock_get_initial_lock_word.
	
	* src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to
	critical_find_restart_point.
	
	* src/vm/loader.c (initObjectLock): Renamed to
	lock_init_object_lock.
	(initLocks): Renamed to lock_init (green threads).
	
	* src/vm/string.c (initObjectLock): Renamed to
	lock_init_object_lock.
	
	* src/vm/vm.c (initLocks): Renamed to lock_init (green threads).

2006-05-12 14:32  twisti

	* src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with
	SIZEOF_VOID_P == 4.

2006-05-11 14:02  twisti

	* src/native/vm/VMClassLoader.c (nativeGetResources): Bugfix: utf_new
	should be utfname.

2006-05-11 13:43  twisti

	* src/vm/jit/mips/codegen.c: Changed mcodeptr from u4* to u1*.
	* src/vm/jit/mips/codegen.h: Likewise.

2006-05-11 13:09  twisti

	* src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use new
	jit_asm_compile method.

2006-05-11 12:48  edwin

	* src/threads/native/threads.c (monitorExit): Added an assert to
	check that no existing waiter is overwritten by the suspicious
	assignment.

2006-05-11 12:36  edwin

	* src/lib/vm/reference/java/lang/VMClassLoader.java
	(getBootPackages): Merged patch to VMClassLoader.java of the
	reference implementation. getBootPackages now works in the
	presence of endorsed jars.

2006-05-11 12:18  twisti

	* src/native/jni.c (DeleteGlobalRef): Bugfix: handle the removal of
	the first entry in the chain properly.

2006-05-11 09:18  twisti

	* src/vm/hashtable.c (threads/native/threads.h): Added.
	(hashtable_create): Initialize lock object.
	(hashtable_resize): New function.
	(hashtable_free): Likewise.
	* src/vm/hashtable.h (hashtable): Added header pointer.
	(hashtable_resize): Added.
	(hashtable_free): Likewise.
	
	* src/vm/vm.c (vm_create): Call jni_init before threads_init.
	
	* src/vm/utf8.c (lock_hashtable_utf): Removed.
	(utf8_init): Allocate hashtable on heap.
	(utf_new): Use new hashtable stuff.
	
	* src/native/native.c (native_init): Use new hashtable stuff.
	(native_hashtable_library_add): Likewise.
	
	* src/native/jni.c (jni_init): Removed Java IdentityHashMap stuff and
	create a hashtable.
	(NewGlobalRef): Implemented with native hashtable.
	(DeleteGlobalRef): Likewise.
	
	* src/native/jni.h (hashtable_global_ref_entry): Added.
	
	* src/vm/string.c (literalstring_u2): Removed check for
	class_java_lang_String, we have an assert there.

2006-05-10 16:14  twisti

	* src/vm/jit/alpha/codegen.c: Changed mcodeptr from u4* to u1*.
	* src/vm/jit/alpha/codegen.h: Likewise.

2006-05-10 15:51  twisti

	* src/vm/jit/codegen-common.h (codegendata): Use an u1* mcodeptr for
	all architectures. This is necessary for the interpreter.
	* src/vm/jit/codegen-common.c (codegen_setup): Removed #ifdef.
	(codegen_increase): Likewise.
	
	* src/vm/jit/powerpc/codegen.c: Changed mcodeptr from u4* to u1*.
	* src/vm/jit/powerpc/codegen.h: Likewise.

2006-05-10 15:09  edwin

	* src/vm/jit/inline/inline.c (inline_write_exception_handlers):
	Correct cast for abused instruction->target.

2006-05-10 13:12  twisti

	* src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use new
	jit_asm_compile method.

2006-05-08 11:09  twisti

	* configure.ac (AC_CONFIG_FILES): Added src/scripts/keytool.
	* src/scripts/Makefile.am (bin_SCRIPTS): Added keytool.
	* src/scripts/.cvsignore: Likewise.
	* src/scripts/keytool.in: New file.

2006-05-08 11:05  twisti

	* src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Handle argument
	passing properly for SysV ABIs. Darwin is left to do.

2006-05-08 11:03  twisti

	* tests/regression/native/testarguments.java: Added new test.
	* tests/regression/native/testarguments.c: Likewise.
	* tests/regression/native/testarguments.output: Likewise.

2006-05-06 18:29  motse

	* src/vm/vm.c (vm_create): make agentlib/agentpath work
	* src/cacao/cacao.c (main): changes for jvmti/jdwp startup due to
	removal of jdwp process
	* src/native/jni.c (JNI_CreateJavaVM): change order vm_create and
	initialization of _Jv_jvm due to jvmti agent support.
	* src/native/vm/VMVirtualMachine.c: change name of jvmtienv and
	bugfixes of Samuel Vinson
	* src/native/include/Makefile.am: add VMMethod.h
	* src/native/jvmti/Makefile.am: removal of cacaodbgserver
	* src/native/jvmti/jvmti.c: remove jdwp process and convert to thread
	* src/native/jvmti/cacaodbg.h: idem
	* src/native/jvmti/jvmti.h: idem
	* src/native/jvmti/dbg.h: idem
	* src/native/jvmti/cacaodbg.c: idem
	* src/native/jvmti/dbg.c: idem
	* src/native/jvmti/cacaodbgserver.c: change to a autonomous program
	and removal of jdwp thread.
	* src/native/jvmti/VMjdwp.c (VMInit): different invocation due to
	removal of jdwp thread
	* src/native/jvmti/VMjdwp.h: export jvmti environment and event
	callbacks.
	* src/native/vm/VMMethod.c: initial/dummy implementation of VMMetod
	native method

2006-05-06 14:13  edwin

	* src/native/vm/VMRuntime.c
	(Java_java_lang_VMRuntime_mapLibraryName): Use new utf_ functions.
	(Changes): Added my name.
	(vim boilerplate): Added.

2006-05-06 10:10  edwin

	* src/native/vm/VMClassLoader.c
	(Java_java_lang_VMClassLoader_nativeGetResources): Really create a
	new utf string to search for if the trailing .class is stripped.

2006-05-06 00:16  edwin

	* src/vm/classcache.c (classcache_merge_class_entries):
	Use utf_cat_classname.
	(classcache_store): Likewise.
	(classcache_store_defined): Likewise.

2006-05-06 00:11  edwin

	* src/native/vm/VMClassLoader.c
	(Java_java_lang_VMClassLoader_nativeGetResources): Fixed and cleaned
	up. Skip leading '/'. Remove '.class' only at end. Free char buffer.
	Use correct utf_ functions. Check for exceptions.
	
	* src/vm/zip.c (zip_find): Documented.

2006-05-05 19:31  edwin

	* src/vm/utf8.h: Moved #include "config.h" up front.

2006-05-05 19:22  edwin

	* src/toolbox/logging.c (Changes): Added my name.
	(vim boilerplate): Added.

2006-05-05 19:21  edwin

	* src/toolbox/logging.c (log_message_utf): Use new utf_ functions.
	(log_message_class_message_class): Likewise.
	(log_message_method): Likewise.

2006-05-05 19:13  edwin

	* src/vm/builtin.c (builtin_throw_exception): Use new utf_ functions.
	(builtin_trace_exception): Likewise.
	(builtin_trace_args): Likewise.
	(builtin_displaymethodstop): Likewise.

2006-05-05 18:58  edwin

	* src/vm/suck.c (suck_start): Use new utf_ functions.

2006-05-05 18:49  edwin

	* src/vm/utf8.h, src/vm/utf8.c: Fixed header.

2006-05-05 18:14  edwin

	* src/vm/loader.c (load_class_from_classbuffer): Use new
	utf_ functions.

2006-05-05 18:08  edwin

	* src/vm/resolve.c (resolve_class_from_name): Use new utf_ functions.
	(resolve_subtype_check): Likewise.
	(resolve_field_verifier_checks): Likewise.
	(resolve_method_verifier_checks): Likewise.

2006-05-05 17:34  edwin

	* src/vm/utf8.h, src/vm/utf8.c: The Big utf_* Renaming.
	The purpose of this change is to give the utf_* functions names
	that make clear what these functions _really_ have been doing
	all the time. I'm sure most callers would be surprised if they
	knew. All call sites should be reviewed!
	(utf_display): Renamed to utf_display_printable_ascii.
	(utf_display_classname): Renamed to
	utf_display_printable_ascii_classname.
	(utf_sprint): Renamed to utf_sprint_convert_to_latin1.
	(utf_sprint_classname): Renamed to
	utf_sprint_convert_to_latin1_classname.
	(utf_strcat): Renamed to utf_strcat_convert_to_latin1.
	(utf_strcat_classname): Renamed to
	utf_strcat_convert_to_latin1_classname.
	(utf_fprint): Renamed to utf_fprint_printable_ascii.
	(utf_fprint_classname): Renamed to
	utf_fprint_printable_ascii_classname.
	
	* src/vm/class.c, src/vm/suck.c, src/vm/loader.c, src/vm/builtin.c,
	src/vm/descriptor.c, src/vm/resolve.c, src/vm/method.c,
	src/vm/classcache.c, src/vm/jit/stack.c, src/vm/jit/verify/typeinfo.c,
	src/vm/jit/allocator/lsra.c, src/vm/jit/intrp/disass.c,
	src/vm/jit/stacktrace.c, src/vm/jit/codegen-common.c,
	src/vm/exceptions.c, src/vm/field.c, src/cacao/cacao.c,
	src/native/tools/gennativetable.c, src/native/vm/VMClassLoader.c,
	src/native/vm/VMRuntime.c, src/native/native.c, src/toolbox/logging.c,
	src/threads/green/threads.c, src/threads/native/threads.c,
	src/cacaoh/headers.c: The Big utf_ Renaming. All call sites of the
	renamed functions should be reviewed! Calls outside debugging code
	are probably incorrect and should use one of the new utf_ functions
	that copies byte-for-byte.

2006-05-05 17:09  edwin

	* src/vm/exceptions.c (new_exception): Documented.
	(new_exception_message): Documented. Use new_exception_javastring.
	(new_exception_throwable): Documented.
	(new_exception_utfmessage): Documented. Use new_exception_javastring.
	(new_exception_javastring): Documented.
	(new_exception_int): Documented.
	(new_classformaterror): Documented. Use new byte-for-byte UTF-8
	functions.
	(exceptions_throw_classformaterror): Documented.
	(new_classnotfoundexception): Documented. Check return value of
	javastring_new.
	(new_noclassdeffounderror): Documented. Check return value of
	javastring_new.
	(new_internalerror): Documented.
	(exceptions_new_linkageerror): Documented. Use new byte-for-byte UTF-8
	functions.
	(exceptions_new_nosuchmethoderror): Documented. Use new byte-for-byte
	UTF-8
	functions.
	(exceptions_throw_nosuchmethoderror): Documented.
	(new_unsupportedclassversionerror): Documented. Use new byte-for-byte
	UTF-8
	functions.
	(new_verifyerror): Likewise.
	(exceptions_throw_verifyerror_for_stack): Likewise.
	(exceptions_handle_exception): Documented.

2006-05-05 16:51  edwin

	* src/vm/utf8.c, src/vm/utf8.h (utf_copy): New function.
	(utf_cat): New function.
	(utf_copy_classname): New function.
	(utf_cat_classname): New function.
	These new functions copy the UTF-8 content byte-for-byte and thus
	do not lead to losses by conversion like the utf_strcpy, etc.
	functions.

2006-05-05 15:26  edwin

	* src/vm/string.c, src/vm/stringlocal.h, src/vm/utf8.c, src/vm/utf8.h
	(Changes): Added my name.
	(vim boilerplate): Added.

2006-05-05 15:14  edwin

	* src/vm/string.c, src/vm/stringlocal.h
	(javastring_new_from_utf_buffer): New function.
	(javastring_new_from_utf_string): New function.
	
	* src/vm/utf8.c (utf_get_number_of_u2s_for_buffer): New function.
	(utf_get_number_of_u2s): Documented that this function may throw
	exception.s.
	
	* src/vm/utf8.h (utf_get_number_of_u2s_for_buffer): New function.

2006-05-05 14:36  edwin

	* src/vm/string.c, src/vm/stringlocal.h (java_string_new_char):
	Renamed to `java_string_new_from_ascii` to make more clear what this
	function does. It is wrong to use this function to create a
	java.lang.String from a buffer of UTF-8 characters!
	
	* src/vm/finalizer.c (finalizer_start_thread): Legitimate use.
	* src/vm/jit/profile/profile.c (profile_start_thread): Likewise.
	
	* src/vm/exceptions.c
	(exceptions_new_linkageerror): Definitely INCORRECT use.
	(exceptions_new_nosuchmethoderror): Likewise.
	* src/native/vm/VMRuntime.c
	(Java_java_lang_VMRuntime_mapLibraryName): Likewise.
	
	* src/vm/exceptions.c (new_exception_message): Probably INCORRECT use.
	* src/native/jni.c (DefineClass): Likewise.
	(ThrowNew): Likewise.
	* src/native/vm/VMClassLoader.c
	(Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
	
	* src/vm/properties.c (properties_system_add): Needs review.
	* src/cacao/cacao.c (getmainclassnamefromjar): Likewise.
	* src/native/jvmti/cacaodbg.c (setup_jdwp_thread): Likewise.
	* src/native/jvmti/jvmti.c (CreateRawMonitor, GetSystemProperty)
	(SetSystemProperty): Likewise.

2006-05-05 13:56  edwin

	* src/vm/utf8.c, src/vm/utf8.h (utf_bytes): New function.
	Use this function to query the number of octets of a utf string.
	This function will become the correct replacement for the old
	utf_strlen in most places. The calling code will have to be
	reviewed for that, however, and it will also require fixing
	utf_strcat, utf_sprint, and so on, to do the right thing.

2006-05-05 13:48  edwin

	* src/vm/utf8.c, src/vm/utf8.h (utf_strlen): Renamed to
	`utf_get_number_of_u2s` in order to reflect what this function
	_really_ does. A long name was chosen intentionally to make it obvious
	that this is _not_ the function to use as the normal strlen. Most
	current uses of this function are invalid, as it must only be used
	when the utf string will be **converted to UTF-16**.
	
	* src/vm/suck.c (suck_start): Renamed utf_strlen. RECONSIDER USE!
	* src/vm/loader.c (load_class_from_classbuffer): Likewise.
	* src/vm/builtin.c (various functions): Likewise.
	* src/vm/resolve.c (various functions): Likewise.
	* src/vm/exceptions.c (various functions): Likewise.
	* src/native/vm/VMClassLoader.c
	(Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
	* src/native/vm/VMRuntime.c
	(Java_java_lang_VMRuntime_mapLibraryName): Likewise.
	* src/native/native.c (native_resolve_function): Likewise.
	* src/toolbox/logging.c (various functions): Likewise.
	* src/cacaoh/headers.c (various functions): Likewise.
	
	* src/vm/string.c (javastring_new): Legitimate use.
	(javastring_new_slash_to_dot): Likewise.
	(literalstring_new) Likewise.

2006-05-03 23:04  edwin

	* src/threads/native/threads.c (wakeWaiters): Renamed
	to threads_wake_waiters. Documented.

2006-05-03 22:58  edwin

	* src/threads/native/threads.c (handleWaiter): Renamed arguments.
	Commented.
	(monitorEnter): Documented.
	(notifyOneOrAll): Cleaned up.

2006-05-03 22:46  edwin

	* src/threads/native/threads.c (setPriority): Renamed to
	threads_set_thread_priority.
	(removeFromWaiters): Renamed to threads_remove_waiter.
	(timespec_less): Renamed to threads_timespec_earlier.
	(timeIsEarlier): Renamed to threads_current_time_is_earlier_than.
	(waitWithTimeout): Renamed to threads_wait_with_timeout. Removed
	unused
	argument `lr`.
	(thread_sleep): There is no need to create a lock record for
	calling threads_wait_with_timeout, as that does not use the
	lock record anyway (formerly waitWithTimeout).
	(various function): Lots of documentation and cleanup.

2006-05-02 16:16  twisti

	* src/vm/jit/stack.c (stack_analyse): Check for val.a == NULL on
	SUPPORT_CONST_STORE_ZERO_ONLY architectures for ICMD_PUTSTATIC and
	ICMD_PUTFIELD.

2006-05-01 23:14  edwin

	* src/threads/native/threads.c: Cleanup and documentation.

2006-05-01 21:40  edwin

	* src/threads/native/threads.h (threads_sem_init): New function.
	(threads_sem_post): New function.
	
	* src/threads/native/threads.c (threads_sem_init): New function.
	(threads_sem_wait): Added assertion.
	(threads_sem_post): New function.
	(various function): Use threads_sem_init and threads_sem_post.
	
	* src/native/jvmti/cacaodbg.c (getworkingdatalock): Use
	threads_sem_post.
	(cacaodbgfork): Use threads_sem_init.
	
	* src/native/jvmti/cacaodbgserver.c (contchild, waitloop).
	Use threads_sem_post.

2006-05-01 12:40  edwin

	* src/threads/native/threads.c (threads_sem_wait): New function.
	This function performs a non-interruptible sem_wait. This fixes
	segfaults and deadlocks that resulted from sem_wait calls returning
	prematurely.
	(cast_stopworld): Use threads_sem_wait.
	(threads_startup_thread): Likewise.
	(threads_start_thread): Likewise.
	(queueOnLockRecord): Likewise.
	
	* src/threads/native/threads.h (threads_sem_wait): New function.
	
	* src/native/jvmti/cacaodbg.c (msgqsendevent): Use threads_sem_wait
	instead of sem_wait.
	
	* src/native/jvmti/cacaodbgserver.c (contchild, waitloop): Use
	threads_sem_wait instead of sem_wait.

2006-04-30 17:18  twisti

	* configure.ac (AC_CONFIG_FILES): Added src/scripts/jarsigner.
	* src/scripts/Makefile.am (bin_SCRIPTS): Added jarsigner.
	* src/scripts/.cvsignore: Likewise.
	* src/scripts/jarsigner.in: New file.

2006-04-30 16:17  edwin

	* src/vm/resolve.c (resolve_method_verifier_checks)
	(constrain_unresolved_method): Use ICMD_ACONST_CLASSREF_OR_CLASSINFO.
	
	* src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
	src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
	src/vm/jit/intrp/codegen.c, src/vm/jit/x86_64/codegen.c
	(codegen): Changes for new ACONST format.
	
	* src/vm/jit/stack.c (stack_analyse): Changes for new ACONST format.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Use the new
	macros.
	(verify_builtin, verify_multianewarray, verify_basic_block): Changes
	for
	new ACONST format.
	
	* src/vm/jit/verify/typeinfo.h (TYPEINFO_INIT_JAVA_LANG_CLASS): Take
	a classref_or_classinfo as argument.
	
	* src/vm/jit/verify/typeinfo.c (typeinfo_init_class): Typo fixed.
	(typeinfo_print): Changes for new ACONST format.
	
	* src/vm/jit/inline/inline.c (inline_write_exception_handlers):
	Changes for new ACONST format.
	
	* src/vm/jit/parse.c (parse): Changes for new ACONST format.
	
	* src/vm/jit/parse.h (LOADCONST_A_CLASS): Removed.
	(LOADCONST_A_BUILTIN): Changes for new ACONST format.
	
	* src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED,
	INSTRUCTION_IS_UNRESOLVED):
	Only check least significant bit of target (provisory flag).
	(ICMD_ACONST_IS_CLASS, ICMD_ACONST_CLASSREF_OR_CLASSINFO)
	(ICMD_ACONST_RESOLVED_CLASSINFO, ICMD_ACONST_UNRESOLVED_CLASSREF):
	New macros.

2006-04-30 15:58  edwin

	* src/vm/jit/loop/tracing.c (tracing): Adapted to new format of
	INVOKE
	instructions.
	* src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates)
	(_test_lifetimes): Likewise.

2006-04-28 12:25  edwin

	* src/vm/jit/parse.c (parse): Added a comment.

2006-04-28 12:24  twisti

	* src/vm/jit/stack.c (stack_analyse): We need to split AASTORECONST
	and PUT{STATIC,FIELD}CONST as they can store different values. I hope
	the checks are correct now (until we get our new instruction
	format). Edwin: Hint! Hint! Hint!
	(stack_show_icmd): Again a smaller change.

2006-04-28 11:50  twisti

	* src/vm/jit/stack.c (stack_analyse): Check for
	{AASTORE,PUTSTATIC,PUTFIELD}CONST if the instruction is resolved. We
	don't have a patcher for that case.
	(stack_show_icmd): Smaller change.

2006-04-28 11:37  twisti

	* tests/regression/codepatching/test.java: Added new test.
	* tests/regression/codepatching/Makefile.am: Files updated.
	
	* tests/regression/codepatching/putfieldconstIF.java,
	tests/regression/codepatching/putfieldconstJDL.java: Removed.
	
	* tests/regression/codepatching/putstaticconstJ.java,
	tests/regression/codepatching/putstaticconstL.java,
	tests/regression/codepatching/putfieldconstD.java,
	tests/regression/codepatching/putfieldconstF.java,
	tests/regression/codepatching/putstaticconstC.java,
	tests/regression/codepatching/putfieldconstJ.java,
	tests/regression/codepatching/putfieldconstL.java,
	tests/regression/codepatching/putstaticconstI.java,
	tests/regression/codepatching/putfieldconstC.java,
	tests/regression/codepatching/putstaticconstD.java,
	tests/regression/codepatching/putfieldconstI.java,
	tests/regression/codepatching/putstaticconstF.java: New file.

2006-04-28 11:24  edwin

	* src/vm/resolve.c (resolve_method_lazy): Turn INVOKEVIRTUAL into
	INVOKESPECIAL for monomorphic calls.

2006-04-28 00:46  edwin

	* src/vm/jit/intrp/asmpart.c (intrp_asm_vm_call_method_int): Fix
	build
	errors. TWISTI, please review these changes.

2006-04-28 00:31  edwin

	* regression/codepatching/test.java: Added test for AASTORECONST
	with unresolved class constant. Currently exposes a bug when
	test.java is
	compiled with -target 1.5.
	
	* regression/codepatching/aastoreconstClass.java: New file.

2006-04-27 23:03  twisti

	* src/vm/jit/stacktrace.h (STACKFRAMEINFO): Added parenthesis.
	* src/vm/global.h (java_objectheader): Changed type of monitorPtr to
	monitorLockRecord.
	
	* src/vm/vm.h (vm_arg): Added union.
	* src/vm/vm.c (vm_vmargs_from_valist): Use union of vm_arg's data.
	* src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
	
	* src/threads/native/threads.h (nativethread): Changed type of
	_stackframeinfo to stackframeinfo*.
	* src/threads/native/threads.c (monitorEnter): Cast compare_and_swap
	return value correctly.

2006-04-27 12:33  twisti

	* src/vm/jit/x86_64/emit.c: Changed x86_64 function prefix to
	emit. And some other stuff too.
	* src/vm/jit/x86_64/md-emit.h: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.h: Likewise.

2006-04-27 11:05  twisti

	* src/native/vm/VMSystemProperties.c (preInit): Append "/jre" to
	java.home property, as all JDKs and JREs do that. Fixed a problem with
	jonas testsuite. General cleanup.

2006-04-27 10:32  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h (jit_asm_compile): Renamed from
	jit_compile.
	* src/vm/jit/powerpc/asmpart.S: Likewise.

2006-04-26 15:44  edwin

	* src/vm/jit/stacktrace.c (stacktrace_getClassContext): Reverted the
	hack that removes the first entry if this function is called by
	java.lang.SecurityManager. This (undocumented) hack probably was done
	to solve a problem that no longer exists.

2006-04-26 14:09  twisti

	* src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Removed
	emitfuncs.c, emitfuncs.h and added emit.c, md-emit.h.
	
	* src/vm/jit/i386/emit.c (emit_load_s1): New method.
	(emit_load_s2): Likewise.
	(emit_load_s3): Likewise.
	(emit_store): Likewise.
	(emit_copy): Likewise.
	
	* src/vm/jit/i386/codegen.c (codegen): Use emit_load/store functions
	instead of macros.
	
	* src/vm/jit/i386/codegen.h (M_LNGMOVE): Added.
	(M_LNGMEMMOVE): Removed.
	(var_to_reg_int): Removed.
	(var_to_reg_lng): Likewise.
	(var_to_reg_flt): Likewise.
	(store_reg_to_var_int): Likewise.
	(store_reg_to_var_lng): Likewise.
	(store_reg_to_var_flt): Likewise.
	(M_FLD): Added.
	(M_DLD): Likewise.
	(M_FLD32): Likewise.
	(M_DLD32): Likewise.
	(M_FST): Likewise.
	(M_DST): Likewise.

2006-04-26 11:02  twisti

	* src/vm/jit/i386/md-emit.h: Moved from src/vm/jit/i386/emitfuncs.h.
	* src/vm/jit/i386/emit.c: Moved from src/vm/jit/i386/emitfuncs.c.

2006-04-26 09:02  twisti

	* configure.ac (AC_CONFIG_FILES): Added src/scripts/rmic.
	* src/scripts/Makefile.am (bin_SCRIPTS): Added rmic.
	* src/scripts/java.in: Use ${1+"$@"} instead of $@.
	* src/scripts/rmiregistry.in: Likewise.
	* src/scripts/rmic.in: Updated to new rmic location.

2006-04-26 08:57  twisti

	* m4/ac_prog_javac.m4: Default to ecj.
	* src/lib/Makefile.am: If JAVAC is ecj, use the -1.5 flag. This
	produces much faster code regarding class$ (e.g. jonas startup time).

2006-04-25 18:02  edwin

	* src/vm/jit/disass-common.c (disass_printf): Avoid compiler warning.
	
	* src/vm/jit/profile/profile.c (profile_printstats): Avoid compiler
	warnings.

2006-04-25 17:57  edwin

	* src/vm/jit/i386/disass.c (disassinstr): Avoid compiler warning.

2006-04-25 17:53  edwin

	* src/vm/jit/stack.c (stack_show_icmd): Removed unused variable `um`.

2006-04-25 17:48  edwin

	* src/vm/loader.c (load_method): Simplify initialization of
	methodinfo by
	clearing it explicitely in load_class_from_classbuffer, instead of
	zeroing
	individual fields here.
	(load_class_from_classbuffer): MZERO methodinfo array.
	(load_newly_created_array): Initialize `params` to NULL for the clone
	method.

2006-04-25 17:45  edwin

	* src/mm/memory.h (MZERO): Added macro MZERO for convenient memory
	cleaning.

2006-04-25 17:42  edwin

	* src/native/vm/VMSystemProperties.c
	(Java_gnu_classpath_VMSystemProperties_preInit): Use strcpy instead of
	strcat, since there is nothing to concat to and we may want to lift
	the
	assertion that MSET clears memory.

2006-04-25 15:46  edwin

	* src/vm/jit/i386/md.c (md_get_method_patch_address): Avoid compiler
	warning.

2006-04-25 15:31  edwin

	* src/cacao/cacao.c (main): Avoid warning about unused label.
	Cleaned up whitespace.

2006-04-25 15:26  edwin

	* src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack): Avoid
	compiler warning.

2006-04-25 12:35  edwin

	* src/vm/jit/verify/typecheck.c (typecheckverbose): Renamed to
	opt_typecheckverbose.
	* src/vm/jit/verify/typeinfo.h: Likewise.
	
	* src/vm/vm.c (OPT_VERBOSETC): Only define if both ENABLE_VERIFIER
	and TYPECHECK_VERBOSE are defined.
	(typecheckverbose): Renamed to opt_typecheckverbose.

2006-04-25 12:25  edwin

	* src/vm/options.h, src/vm/options.c (getloadingtime): Renamed to
	opt_getloadingtime. Only defined for ENABLE_STATISTICS.
	(getcompilingtime): Renamed to opt_getcompilingtime.
	Only defined for ENABLE_STATISTICS.
	
	* src/vm/loader.c (getloadingtime, getcompilingtime): Renamed.
	* src/vm/jit/jit.c: Likewise.
	* src/vm/linker.c: Likewise.
	* src/native/vm/VMClassLoader.c: Likewise.
	
	* src/vm/vm.c (OPT_TIME): Only defined for ENABLE_STATISTICS.
	
	* configure.ac (--enable-statistics): Now statistics are disabled by
	default.

2006-04-25 12:00  edwin

	* src/vm/options.h (opt_verify): Only declare for ENABLE_VERIFIER.
	(opt_liberalutf): Removed.
	
	* src/vm/options.c (opt_verify): Only declare for ENABLE_VERIFIER.
	(opt_liberalutf): Removed.
	
	* src/vm/jit/inline/inline.c (test_inlining): Only verify if
	ENABLE_VERIFIER.
	
	* src/vm/jit/parse.c (parse): Only check opt_verify if
	ENABLE_VERIFIER.
	
	* src/vm/global.h (ENABLE_VERIFIER): Removed. This is now defined in
	config.h.
	
	* src/vm/vm.c (OPT_NOVERIFY): Only define this option if
	ENABLE_VERIFIER.
	(OPT_LIBERALUTF): Removed.
	
	* configure.ac (--disable-verifier): Added configure option.
	
	* src/vm/jit/stacktrace.c (stacktrace_getStack): Gather a wider range
	for the cycle count statistics.

2006-04-25 10:36  edwin

	* src/vm/cycles-stats.h (CYCLES_STATS_COUNT_OVER): Added.

2006-04-24 18:28  edwin

	* src/vm/cycles-stats.c: Cleaned up whitespace.

2006-04-24 18:22  edwin

	* src/vm/cycles-stats.c (cycles_stats_print_percentile): Also perform
	measurement overhead compensation for cumulated cycle counts.

2006-04-24 17:16  edwin

	* src/vm/global.h (ACC_CLASS_REFLECT_MASK): Added.
	(ACC_CLASS_HAS_POINTERS): Likewise.
	(vim boilerplate): Added.
	
	* src/vm/loader.c (load_field): Set ACC_CLASS_HAS_POINTERS flag.
	
	* src/vm/linker.c (link_class_intern): OR ACC_CLASS_HAS_POINTERS flag.
	
	* src/vm/builtin.c (builtin_new): Use ACC_CLASS_HAS_POINTERS to
	determine
	which kind of memory to allocate.
	
	* src/native/vm/VMClass.c (Java_java_lang_VMClass_getModifiers): Mask
	reported access flags with ACC_CLASS_REFLECT_MASK.

2006-04-24 16:24  twisti

	* src/vm/jit/x86_64/emit.c (x86_64_emit_ifcc): Changed signature of
	codegen_addreference.
	(x86_64_emit_if_lcc): Likewise.
	(x86_64_emit_if_icmpcc): Likewise.
	(x86_64_emit_if_lcmpcc): Likewise.

2006-04-24 16:10  twisti

	* src/vm/jit/i386/codegen.c (codegen): Don't initialize mcode
	variables. New dseg_addlinenumber signature fix.
	(createnativestub): Don't initialize mcode variables.

2006-04-24 16:06  twisti

	* src/vm/jit/codegen-common.c (codegen_increase): Changed signature.
	(codegen_addreference): Likewise.
	(codegen_add_exception_ref): Likewise.
	(codegen_add_arithmeticexception_ref): Likewise.
	(codegen_add_arrayindexoutofboundsexception_ref): Likewise.
	(codegen_add_arraystoreexception_ref): Likewise.
	(codegen_add_classcastexception_ref): Likewise.
	(codegen_add_nullpointerexception_ref): Likewise.
	(codegen_add_fillinstacktrace_ref): Likewise.
	(codegen_addpatchref): Likewise.
	(codegen_finish): Likewise.
	* src/vm/jit/codegen-common.h: Likewise.
	
	* src/vm/jit/dseg.c (dseg_increase): Made static.
	(dseg_adds4): Use dseg_increase.
	(dseg_adds8): Likewise.
	(dseg_addfloat): Likewise.
	(dseg_adddouble): Likewise.
	(dseg_adds4_increase): Removed.
	(dseg_adds8_increase): Likewise.
	(dseg_addfloat_increase): Likewise.
	(dseg_adddouble_increase): Likewise.
	(dseg_addlinenumber): Changed signature.
	(dseg_addlinenumber_inline_start): Likewise.
	(dseg_adddata): Likewise.
	* src/vm/jit/dseg.h: Likewise.
	
	* src/vm/jit/alpha/emit.c (vm/jit/alpha/emit.h): Removed.
	(vm/jit/emit.h): Added.
	(emit_lconst): New method.
	* src/vm/jit/alpha/Makefile.am (libarch_la_SOURCES): Added emit.c
	
	* src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Added.
	(codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
	functions instead of macros. Saves over 50kB object code size. Use new
	signatures of codegen-common and dseg functions.
	* src/vm/jit/alpha/codegen.h (var_to_reg_int): Removed.
	(var_to_reg_flt): Likewise.
	(store_reg_to_var_int): Likewise.
	(store_reg_to_var_flt): Likewise.
	
	* src/vm/jit/i386/codegen.c: Use new signatures of codegen-common and
	dseg functions.
	* src/vm/jit/i386/codegen.h: Likewise.
	* src/vm/jit/intrp/codegen.c: Likewise.
	* src/vm/jit/intrp/codegen.h: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/mips/codegen.h: Likewise.
	* src/vm/jit/powerpc/codegen.c: Likewise.
	* src/vm/jit/powerpc/codegen.h: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.h: Likewise.

2006-04-24 15:43  edwin

	* src/vm/jit/stacktrace.c (stacktrace_create): Do not free dump
	memory here,
	this is now done in the parent functions. Also removed the copy to gc
	memory.
	(stacktrace_fillInStackTrace): Copy stacktrace to gc memory.
	Free dump memory.
	(stacktrace_getClassContext): Free dump memory.
	(stacktrace_getCurrentClass): Likewise.
	(stacktrace_getStack): Likewise.
	(stacktrace_dump_trace): Likewise.

2006-04-24 11:40  edwin

	* src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace)
	(stacktrace_getClassContext, stacktrace_getCurrentClass)
	(stacktrace_getStack): Added cycle count statistics.
	(stacktrace_print_cycles_stats): Added.
	
	* src/vm/jit/stacktrace.h (stacktrace_print_cycles_stats): Added.
	
	* src/vm/vm.c (vm_exit_handler): Call stacktrace_print_cycles_stats.

2006-04-24 11:36  edwin

	* src/vm/cycles-stats.h (CYCLES_STATS_END_WITH_OVERHEAD): Fix
	arguments of
	empty macro definition.

2006-04-24 11:27  edwin

	* src/vm/cycles-stats.h (CYCLES_STATS_DECLARE_AND_START)
	(CYCLES_STATS_DECLARE_AND_START_WITH_OVERHEAD)
	(CYCLES_STATS_END, CYCLES_STATS_END_WITH_OVERHEAD): Added convenience
	macros.
	
	* src/vm/cycles-stats.c (cycles_stats_print): Fixed divide-by-zero.
	Minor
	output changes.

2006-04-24 10:08  twisti

	* src/vm/jit/mips/md.c (md_get_method_patch_address): Renamed from
	md_assembler_get_patch_address.
	* src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Renamed
	md_assembler_get_patch_address to md_get_method_patch_address.

2006-04-24 10:00  twisti

	* src/vm/jit/powerpc/md.c (md_get_method_patch_address): New method.
	* src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use new
	jit_asm_compile method. This fixes the ecj bugs seens with some mauve
	tests and eclipse.

2006-04-24 09:58  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Replaced those ugly
	M_TINTMOVE macros. Use M_LLD macros where possible.
	* src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Check for equal registers.
	(M_TINTMOVE): Removed.

2006-04-24 00:19  edwin

	* src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Omit the
	stackframe.
	This saves a couple of cycles of measurement overhead.

2006-04-23 23:03  twisti

	* src/vm/jit/alpha/md.c (md_get_method_patch_address): Renamed from
	md_assembler_get_patch_address.
	* src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Renamed
	md_assembler_get_patch_address to md_get_method_patch_address.

2006-04-23 19:18  edwin

	* src/vm/cycles-stats.c (cycles_stats_print_percentile): Better
	extrapolation.
	* src/vm/cycles-stats.h (CYCLES_STATS_DECLARE, CYCLES_STATS_COUNT)
	(CYCLES_STATS_PRINT, CYCLES_STATS_PRINT_OVERHEAD): Added total cycles
	counter.

2006-04-23 19:16  edwin

	* src/vm/builtin.c (builtin_new): Renamed rt-timing identifier.
	(builtin_newarray): Added rt-timing.
	
	* src/vm/rt-timing.h: Added rt-timing for builtin_newarray.
	* src/vm/rt-timing.c: Likewise.

2006-04-23 16:11  edwin

	* src/vm/builtin.c (builtin_print_cycles_stats): Use
	CYCLES_STATS_PRINT_OVERHEAD.
	
	* src/vm/cycles-stats.h (CYCLES_STATS_PRINT_OVERHEAD): Added.
	
	* src/vm/cycles-stats.c (cycles_stats_print_percentile): Added.
	(cycles_stats_print): Added `overhead` argument and automatic
	measurement overhead compensation.

2006-04-23 15:39  edwin

	* src/vm/builtin.c (builtin_new): Added rt-timing.
	(builtin_print_cycles_stats): Removed unused variable.
	(builtin_monitorenter): Removed rt-timing.
	(builtin_monitorexit): Likewise.
	
	* src/vm/rt-timing.c: rt-timing for buitin_new.
	* src/vm/rt-timing.h: Likewise.

2006-04-23 15:31  edwin

	* src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Better error
	handling.

2006-04-23 15:24  edwin

	* src/vm/builtin.c (builtin_new): Gather cycle count statistics.
	(CYCLES_STATS_DECLARE): Moved declarations to beginning of file.
	
	* src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Added function for
	automatic CPU frequency detection via /proc/cpuinfo.
	(cycles_stats_print): Calculate estimated CPU times.

2006-04-22 09:35  edwin

	* src/vm/cycles-stats.c (cycles_stats_print): Made count, floor, and
	ceiling
	of type u8. This should avoid overflow problems.
	
	* src/vm/cycles-stats.h (cycles_stats_print): Made count an u8.

2006-04-21 21:36  edwin

	* src/vm/cycles-stats.c: New file. Better cycle count statistics.
	
	* src/vm/cycles-stats.h (CYCLES_STATS_PRINT): This is now a wrapper
	for
	cycles_stats_print.
	
	* src/vm/Makefile.am (cycles-stats.c): Added to sources.

2006-04-21 14:32  edwin

	* src/vm/jit/stacktrace.c (stacktrace_inline_fillStackTrace): Assert
	that
	there is an exception before dereferencing it.
	(stacktrace_create): Document that this function may return NULL.
	(stacktrace_getClassContext): Check return value of stacktrace_create.
	(stacktrace_getCurrentClass): Likewise.
	(stacktrace_getStack): Likewise. Document that this function may
	return NULL.

2006-04-21 13:08  edwin

	* src/vm/jit/stacktrace.c (stacktrace_getClassContext): Document that
	return
	value may be NULL (in case of an exception).
	
	* src/native/vm/VMStackWalker.c
	(Java_gnu_classpath_VMStackWalker_getCallingClass): Check return
	value of
	stacktrace_getClassContext.
	(Java_gnu_classpath_VMStackWalker_getCallingClassLoader): Likewise.
	
	* src/native/vm/Field.c (cacao_get_field_address): Check return value
	of
	stacktrace_getClassContext.
	
	* src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
	Check return value of stacktrace_getClassContext.

2006-04-21 11:07  twisti

	* src/vm/jit/i386/md.c (md_get_method_patch_address): New method.
	(md_icacheflush): Added.
	(md_dcacheflush): Likewise.

2006-04-21 10:54  twisti

	* src/vm/jit/jit.c (jit_asm_compile): New method.
	* src/vm/jit/jit.h (jit_asm_compile): Added.
	(md_get_method_patch_address): Likewise.
	
	* src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Store
	asm_call_jit_compiler on stack as for the other architectures.
	(asm_call_jit_compiler): Use new jit_asm_compile.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Use REG_ITMP3 for calling
	methods. This is required for asm_vm_call_method to work.
	
	* src/vm/jit/x86_64/md.c (md_get_method_patch_address): New method.
	(md_icacheflush): Added.
	(md_dcacheflush): Added.
	* src/vm/jit/x86_64/md-asm.h (mptr): Defined.

2006-04-21 10:45  twisti

	* src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Reformatted
	comments.

2006-04-21 00:00  edwin

	* src/vm/linker.c (link_class_intern): Impose loading constraints on
	the
	more general types of the overwritten method, instead of on the over-
	writing method. Don't impose loading constraints when "overwriting"
	the
	instance initializaton method <init>, as it is not called virtually.

2006-04-20 22:28  edwin

	* src/vm/classcache.c (classcache_add_constraint): Also constrain the
	return type of the given method.

2006-04-20 21:47  edwin

	* src/vm/linker.c (linker_addinterface): Add loading constraints when
	an
	interface method is overwritten.
	(link_class_intern): Check new return value of linker_addinterface.

2006-04-20 20:40  edwin

	* src/vm/linker.c (link_class_intern): Only record loading constraints
	for ENABLE_VERIFIER.

2006-04-20 20:38  edwin

	* src/vm/classcache.c (classcache_add_constraints_for_params): Added.
	(classcache_add_constraint): Only define for ENABLE_VERIFIER.
	
	* src/vm/classcache.h (classcache_add_constraints_for_params): Added.
	(classcache_add_constraint): Only define for ENABLE_VERIFIER.
	
	* src/vm/linker.c (link_class_intern): When overwriting a method,
	record loading constraints for the parameter types, as required
	by the spec.

2006-04-20 19:18  edwin

	* src/mm/memory.c (Changes): Added my name.
	(vim boilerplate): Added.

2006-04-20 18:59  edwin

	* src/mm/memory.c: Added comments and some cleanup.

2006-04-20 18:04  edwin

	* configure.ac (ENABLE_LOOP): Changed default to "no".
	
	* src/vm/options.h (opt_loops): Only define for ENABLE_LOOP.
	
	* src/vm/options.c (opt_loops): Only define for ENABLE_LOOP.
	
	* src/vm/vm.c (-oloop, -i): Only recognize these options if
	enabled with ENABLE_LOOP/ENABLE_INLINING.
	
	* src/vm/jit/allocator/lsra.c (opt_loops): Only use for ENABLE_LOOP.

2006-04-20 10:55  twisti

	* src/vm/jit/x86_64/codegen.h (M_ALD32): Added.

2006-04-20 10:42  twisti

	* src/vm/jit/x86_64/md-abi.h (REG_METHODPTR): Added.

2006-04-20 08:45  twisti

	* src/lib/vm/reference/java/lang/VMClassLoader.java: Updated to GNU
	Classpath version.

2006-04-19 01:05  edwin

	* src/vm/builtin.c (builtin_print_cycles_stats): Added.
	(builtin_monitorenter): Gather cycle count statistics.
	(builtin_monitorexit): Likewise.
	
	* src/vm/builtin.h (builtin_print_cycles_stats): Added.
	
	* src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Added.
	
	* src/vm/jit/asmpart.h (asm_get_cycle_count): Added.
	
	* src/vm/vm.c (vm_exit_handler): Call builtin_print_cycles_stats.
	
	* src/vm/cycles-stats.h: New file.
	
	* src/vm/Makefile.am (CYCLES_STATS_SOURCE): Added.
	
	* src/cacaoh/headers.c (asm_get_cycle_count): Dummy implementation
	added.
	
	* configure.ac (--enable-cycles-stats): Added configure option.

2006-04-18 21:16  twisti

	* src/vm/jit/x86_64/emitfuncs.c: Moved to emit.c.
	* src/vm/jit/x86_64/emitfuncs.h: Moved to md-emit.h
	
	* src/vm/jit/x86_64/codegen.c (vm/jit/x86_64/emitfuncs.h): Removed.
	(vm/jit/x86_64/md-emit.h): Added.
	
	* src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Added emit.c and
	md-emit.h, removed emitfuncs.c and emitfuncs.h.

2006-04-18 20:36  twisti

	* src/vm/jit/jit.h (IS_ADR_TYPE): Changed to use ==.
	(IS_INT_TYPE): Added.
	(IS_LNG_TYPE): Likewise.

2006-04-18 20:34  twisti

	* src/vm/jit/x86_64/codegen.c (vm/jit/emit.h): Added.
	(codegen): Use emit_load/store functions instead of macors. Saves over
	25kB object code size.
	
	* src/vm/jit/x86_64/codegen.h (ALIGNCODENOP): Added.
	(var_to_reg_int): Removed.
	(var_to_reg_flt): Likewise.
	(store_reg_to_var_int): Likewise.
	(store_reg_to_var_flt): Likewise.
	(M_INEG, M_LNEG, M_INEG_MEMBASE, M_LNEG_MEMBASE): Added.
	(M_CMOVEQ_MEMBASE, M_CMOVNE_MEMBASE, M_CMOVLT_MEMBASE)
	(M_CMOVLE_MEMBASE, M_CMOVGE_MEMBASE, M_CMOVGT_MEMBASE): Likewise.
	
	* src/vm/jit/x86_64/emitfuncs.c (emit_load_s1): Added.
	(emit_load_s2): Likewise.
	(emit_load_s3): Likewise.
	(emit_store): Likewise.
	(emit_copy): Likewise.
	(emit_cmovxx): Likewise.
	
	* src/vm/jit/x86_64/emitfuncs.h (emit_cmovxx): Added.

2006-04-18 20:20  twisti

	* src/vm/jit/x86_64/md-abi.h (REG_IFTMP): Defined.

2006-04-18 20:17  edwin

	* src/vm/jit/stack.c (stack_show_icmd): Updated to use the correct
	macros for
	(un)resolved methods. Minor output format changes.
	
	* src/vm/field.c (field_print): Print the class name.

2006-04-18 20:10  twisti

	* src/vm/jit/alpha/Makefile.am (DISASS_SOURCES): Added.
	* src/vm/jit/mips/Makefile.am: Likewise.

2006-04-18 15:55  twisti

	* configure.ac (intl): Check on NetBSD too.

2006-04-18 15:40  twisti

	* configure.ac: Fixed typos.

2006-04-18 13:36  twisti

	* src/vm/jit/mips/codegen.h (M_FLTMOVE): Removed.
	(M_TFLTMOVE): Likewise.
	(M_TFLD): Likewise.
	(M_TFST): Likewise.
	(M_CCFLTMOVE): Likewise.
	(M_CCFLD): Likewise.
	(M_CCFST): Likewise.
	* src/vm/jit/mips/codegen.c (codegen): Use float and double
	explicitely.
	* src/vm/jit/mips/emit.c: Likewise.

2006-04-17 15:49  edwin

	* src/vm/jit/intrp/codegen.c (intrp_codegen): Cast mcodeptr to u1*.
	This should fix intrp on archs with u4* mcodeptr.

2006-04-17 15:20  edwin

	* src/vm/builtin.c (builtin_monitorenter, builtin_monitorexit): Added
	rt-timing.
	
	* src/vm/rt-timing.c, src/vm/rt-timing.h: rt-timing for locks.

2006-04-17 11:47  twisti

	* src/vm/jit/codegen-common.h (codegendata): Define lastmcodeptr on
	all architectures. I think it does not matter.

2006-04-14 23:50  edwin

	* src/vm/jit/codegen-common.h: Typo fix.

2006-04-14 23:48  edwin

	* src/vm/jit/parse.c (parse): Removed unused variable `mi`.

2006-04-14 23:46  edwin

	* src/vm/rt-timing.c: include stdlib.h to fix warning.

2006-04-14 12:40  twisti

	* src/vm/jit/mips/emit.c: New file.
	* src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Added emit.c
	
	* src/vm/jit/mips/codegen.c (vm/jit/emit.h): Added.
	(codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
	functions instead of macors. Saves over 50kB object code size.
	
	* src/vm/jit/mips/codegen.h (var_to_reg_int): Removed.
	(var_to_reg_flt): Likewise.
	(store_reg_to_var_int): Likewise.
	(store_reg_to_var_flt): Likewise.

2006-04-14 11:57  twisti

	* src/vm/jit/codegen-common.c (codegen_setup): Fixed compiler
	warnings, set lastmcodeptr.
	(codegen_increase): Fixed compiler warnings.
	(codegen_finish): Likewise.
	(codegen_createnativestub): Likewise.

2006-04-14 11:28  twisti

	* src/vm/jit/alpha/emit.h: Removed. There's now a common one in
	src/vm/jit/.

2006-04-14 11:20  twisti

	* src/vm/jit/emit.h: New file.
	* src/vm/jit/Makefile.am (noinst_HEADERS): Added emit.h.
	
	* src/vm/jit/powerpc/emit.c: New file.
	* src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added emit.c.
	
	* src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Added.
	(codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
	functions instead of macors. Saves over 100kB object code size.
	
	* src/vm/jit/powerpc/codegen.h (var_to_reg_int): Removed.
	(var_to_reg_lng): Likewise.
	(var_to_reg_lng_low): Likewise.
	(var_to_reg_lng_high): Likewise.
	(var_to_reg_flt): Likewise.
	(var_to_reg_dbl): Likewise.
	(store_reg_to_var_int): Likewise.
	(store_reg_to_var_lng): Likewise.
	(store_reg_to_var_adr): Likewise.
	(store_reg_to_var_flt): Likewise.
	(store_reg_to_var_dbl): Likewise.
	(M_LLD_INTERN): Added.
	(M_LLD): Likewise.
	(M_LST_INTERN): Likewise.
	(M_LST): Likewise.

2006-04-13 20:45  edwin

	* src/vm/loader.c (load_class_from_classloader): Detailed rt-timing.
	(load_class_bootstrap): Likewise.
	
	* src/vm/rt-timing.c: Added rt-timing for loading from classloaders.
	* src/vm/rt-timing.h: Likewise.

2006-04-13 18:21  edwin

	* src/vm/loader.c (load_class_from_classbuffer): Separate timing for
	descriptor_pool_new.
	
	* src/vm/rt-timing.c: Likewise.
	
	* src/vm/rt-timing.h: Likewise.

2006-04-13 18:00  edwin

	* src/vm/loader.c (load_class_from_classbuffer): Added real-time
	loading time
	measurements.
	
	* src/vm/rt-timing.c: Likewise.
	* src/vm/rt-timing.h: Likewise.

2006-04-13 17:23  edwin

	* src/vm/rt-timing.c: Added timing of linker stages.
	* src/vm/rt-timing.h: Likewise.
	* src/vm/linker.c: Likewise.

2006-04-13 16:58  edwin

	* src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added.
	
	* src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF.
	
	* src/vm/linker.c (link_class): Use rt-timing for measuring link time.
	
	* src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for
	ENABLE_RT_TIMING.

2006-04-13 16:48  edwin

	* src/vm/rt-timing.c (rt_timing_stat): Added field `totalindex`.
	(rt_timing_stat_defs): Likewise.
	(rt_timing_diff): Renamed to rt_timing_time_diff.
	(rt_timing_print_time_stats): Use `totalindex` to calculate
	percentage.
	
	* src/vm/rt-timing.h (RT_TIMING_LINK_TOTAL): Added.
	(rt_timing_diff): Renamed to rt_timing_time_diff.

2006-04-13 14:09  twisti

	* src/vm/jit/alpha/emit.c: New file.
	* src/vm/jit/alpha/emit.h: Likewise.

2006-04-13 13:10  twisti

	* src/vm/jit/codegen-common.h (codegendata): Changed mcodeend to
	u1*. Define mcodeptr to u4* for non-i386/x86_64 architectures.

2006-04-13 09:32  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Use argument registers
	directly in exception stubs, instead of temporary ones. This reduces
	code-size about 150kB for -all.

2006-04-13 09:19  twisti

	* src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ishift): Bugfixes found
	by javver.
	(x86_64_emit_lshift): Likewise.

2006-04-12 22:20  edwin

	* src/vm/rt-timing.c: Added file.
	* src/vm/rt-timing.h: Likewise.
	
	* src/vm/jit/jit.c: Moved real-time timing stuff to rt-timing.[ch]
	* src/vm/jit/jit.h: Likewise.
	
	* src/vm/vm.c (vm_exit_handler): Call rt_timing_print_time_stats.
	
	* src/vm/Makefile.am (rt-timing.c, rt-timing.h): Added.

2006-04-12 22:16  edwin

	* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): Fixed
	compiler warning.

2006-04-12 20:06  edwin

	* src/vm/jit/parse.c (parse): New unresolved reference scheme: Data
	structures
	for unresolved fields/methods are only created if really needed.
	Otherwise
	a lazy resolving is done on-the-fly. This reduced compile time by
	over 10% for
	SpecJVM98 and eclipse.
	
	* src/vm/resolve.c (resolve_subtype_check): Added.
	(resolve_lazy_subtype_checks): Likewise.
	(resolve_and_check_subtype_set): Use resolve_subtype_check. Return
	resolve_result_t instead of bool. Removed `checked` argument.
	(resolve_class): Use resolve_subtype_check.
	(resolve_field_verifier_checks): Added.
	(resolve_field_lazy): Added.
	(resolve_field): Use resolve_field_verifier_checks.
	(resolve_method_invokespecial_lookup): Added.
	(resolve_method_verifier_checks): Added.
	(resolve_method_lazy): Added.
	(resolve_method): Use resolve_method_invokespecial_lookup and
	resolve_method_verifier_checks.
	(constrain_unresolved_method): Adapted to new unresolved reference
	scheme.
	(constrain_unresolved_field): Likewise.
	(unresolved_field_debug_dump): Likewise.
	(unresolved_method_debug_dump): Likewise.
	
	* src/vm/jit/patcher.h (intrp_patcher_get_putstatic_clinit): Added.
	
	* src/vm/jit/intrp/intrp.h (vm_Cell2afi): Added.
	(vm_afi2Cell): Likewise.
	(printarg_afi): Added.
	(vim boilerplate): Added.
	(Changes): Added my name.
	
	* src/vm/jit/intrp/patcher.c (intrp_patcher_get_putstatic_clinit):
	Added.
	
	* src/vm/jit/intrp/disass.c (printarg_afi): Added.
	(Changes): Added my name.
	(vim boilerplate): Added.
	
	* src/vm/jit/intrp/java.vmg (GETSTATIC_CELL, GETSTATIC_INT,
	GETSTATIC_FLOAT)
	(GETSTATIC_LONG, PUTSTATIC_CELL, PUTSTATIC_INT, PUTSTATIC_FLOAT)
	(PUTSTATIC_LONG, GETFIELD_CELL, GETFIELD_INT, GETFIELD_FLOAT)
	(GETFIELD_LONG, PUTFIELD_CELL, PUTFIELD_INT, PUTFIELD_FLOAT)
	(PUTFIELD_LONG): Now take a fieldinfo instead of an unresolved_field.
	(INVOKEVIRTUAL, INVOKESTATIC, INVOKESPECIAL, INVOKEINTERFACE): Now
	take
	a methodinfo instead of an unresolved_method.
	(PATCHER_GETSTATIC_CLINIT_INT, PATCHER_GETSTATIC_CLINIT_FLOAT)
	(PATCHER_GETSTATIC_CLINIT_LONG, PATCHER_GETSTATIC_CLINIT_CELL): Added.
	(PATCHER_PUTSTATIC_CLINIT_INT, PATCHER_PUTSTATIC_CLINIT_FLOAT)
	(PATCHER_PUTSTATIC_CLINIT_LONG, PATCHER_PUTSTATIC_CLINIT_CELL): Added.
	
	* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
	Use INSTRUCTION_GET_METHODDESC to get method descriptor.
	
	* src/vm/jit/stack.c (stack_analyse): Ported to new unresolved
	reference
	scheme.
	(stack_show_icmd): Likewise.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Ported to new
	unresolved
	reference scheme.
	(verify_basic_block): Likewise.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Ported to new unresolved
	reference
	scheme.
	
	* src/vm/jit/alpha/codegen.c (codegen): Ported to new unresolved
	reference
	scheme.
	
	* src/vm/jit/mips/codegen.c (codegen): Ported to new unresolved
	reference
	scheme.
	
	* src/vm/jit/i386/codegen.c (codegen): Ported to new unresolved
	reference
	scheme.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Ported to new unresolved
	reference
	scheme.
	
	* src/vm/jit/intrp/codegen.c (codegen): Ported to new unresolved
	reference
	scheme.
	(Changes): Added my name.
	
	* src/vm/jit/intrp/codegen.h (vim boilerplate): Added.

2006-04-12 18:07  edwin

	* src/vm/resolve.h (resolve_result_t): Added.
	(resolve_method_lazy): Added prototype.
	(resolve_field_lazy): Added prototype.
	(resolve_and_check_subtype_set): Removed prototype. This function is
	becoming static.

2006-04-12 17:51  edwin

	* src/vm/class.c (class_showconstantpool): Use the new functions
	method_methodref_print and field_fieldref_print.
	
	* src/vm/loader.c (load_constantpool): Use p.index in constant_FMIref.
	(load_class_from_classbuffer): Likewise.
	
	* src/vm/jit/stack.c (stack_show_icmd): Use p.index in
	constant_FMIref.
	
	* src/vm/jit/verify/typecheck.c (verify_invocation): Use p.index in
	constant_FMIref.
	
	* src/vm/resolve.c (resolve_field, resolve_method,
	constrain_unresolved_field)
	(unresolved_field_debug_dump, unresolved_method_debug_dump):
	Use p.index in constant_FMIref.
	
	* src/vm/method.c, src/vm/method.h (method_methodref_print): Added.
	(method_methodref_println): Likewise.
	
	* src/vm/field.c, src/vm/field.h (field_fieldref_print): Added.
	(field_fieldref_println): Likewise.
	
	* src/vm/references.h (constant_FMIref): Changed field `classref`
	into a
	union that is used for caching of already resolved fields/methods.
	(IS_FMIREF_RESOLVED): Added.
	(METHODREF_CLASSNAME): Added.
	(FIELDREF_CLASSNAME): Added.
	
	* src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED): Added. This is a
	preparation
	for the lazy resolving rewrite.
	(INSTRUCTION_IS_UNRESOLVED): Likewise.
	(INSTRUCTION_GET_FIELDREF): Likewise.
	(INSTRUCTION_GET_METHODREF): Likewise.
	(INSTRUCTION_GET_FIELDDESC): Likewise.
	(INSTRUCTION_GET_METHODDESC): Likewise.
	(INSTRUCTION_UNRESOLVED_METHOD): Likewise.
	(INSTRUCTION_UNRESOLVED_FIELD): Likewise.
	(INSTRUCTION_RESOLVED_FMIREF): Likewise.
	(INSTRUCTION_RESOLVED_FIELDINFO): Likewise.
	(INSTRUCTION_RESOLVED_METHODINFO): Likewise.
	
	* src/vm/jit/intrp/disass.c (printarg_auf): Use METHODREF_CLASSNAME.

2006-04-12 11:51  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Use directly argument
	registers in exception stubs, instead of temporary ones. This reduces
	code-size about 200kB for -all.

2006-04-12 09:49  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Fixed displacement overflow
	problem when restoring LR. We can't use r0 here.

2006-04-12 09:30  twisti

	* NEWS: Line-number fix added.

2006-04-12 09:20  edwin

	* src/vm/jit/parse.c (parse): Skip line number entries that span over
	zero
	bytecode instructions.

2006-04-12 08:52  edwin

	* src/vm/method.h (methodinfo): Forward declaration moved to
	refereneces.h.
	* src/vm/field.h (fieldinfo): Forward declaration moved to
	refereneces.h.
	* src/vm/references.h (methodinfo, fieldinfo): Added forward
	references.

2006-04-12 08:34  edwin

	* src/vm/class.c (class_showconstanti): Removed.
	(class_showconstantpool): Documented.
	(class_showmethods): Documented.
	(vim boilerplate): Added.
	(Changes): Finally added my name.

2006-04-11 13:13  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Changed signature to use
	jitdata. Renamed reg_of_var by codegen_reg_of_var.
	* src/vm/jit/x86_64/codegen.h (M_COPY): Likewise.

2006-04-11 10:54  twisti

	* tests/regression/clinitexception.2output: Updated.
	* tests/regression/native/checkjni.output: Likewise.
	* tests/regression/extest.2output: Likewise.

2006-04-11 10:20  twisti

	* src/vm/builtin.c (builtin_throw_exception): Changed return type and
	return NULL. This is less error-prone in asm_vm_call_method.
	* src/vm/builtin.h: Likewise.
	
	* src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
	Don't set v0 to NULL. This is now done in builtin_throw_exception.
	* src/vm/jit/i386/asmpart.S: Likewise.
	* src/vm/jit/mips/asmpart.S: Likewise.
	* src/vm/jit/powerpc/asmpart.S: Likewise.
	* src/vm/jit/x86_64/asmpart.S: Likewise.

2006-04-11 10:04  twisti

	* src/vm/jit/ifconv/ifconv.c (ifconv_static): Keep compiler happy.

2006-04-11 09:00  edwin

	* src/vm/jit/stack.c (stack_print_stack): Only use `regs` if
	ENABLE_DISASSEMBLER is defined.
	(stack_show_method): Likewise.
	
	* src/vm/jit/replace.c (replace_executionstate_println): Likewise.

2006-04-11 05:10  edwin

	* src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Do not
	trace
	exception when NDEBUG.
	
	* src/vm/jit/intrp/dynamic-super.c (disassemble_prim): Only enable for
	ENABLE_DISASSEMBLER.
	(dynamic_super_init): Only call disassemble_prim for
	ENABLE_DISASSEMBLER.
	
	* src/vm/jit/intrp/java.vmg: Disable builtin_displaymethodstop and
	builtin_trace_args for NDEBUG.

2006-04-06 12:54  twisti

	* src/vm/jit/mips: Added TAGS.
	* src/vm/jit/mips/irix: Likewise.
	* src/vm/jit/mips/irix/.cvsignore: Likewise.
	* src/vm/jit/mips/.cvsignore: Likewise.

2006-04-06 12:51  twisti

	* src/vm/jit/mips/codegen.c (codegen): Changed signature to use
	jitdata. Renamed reg_of_var by codegen_reg_of_var.
	(createcompilerstub): Replaced docacheflush by md_cacheflush.
	* src/vm/jit/mips/codegen.h (M_COPY): Likewise.
	* src/vm/jit/mips/md.c (sys/mman.h): Removed.
	(docacheflush): Likewise.

2006-04-06 00:33  edwin

	* configure.ac: Added host type `armv5l`.

2006-04-05 20:31  edwin

	* src/vm/jit/parse.h, src/vm/jit/parse.c (OP1LOAD):
	Split into OP1LOAD_ONEWORD and OP1LOAD_TWOWORD. Index is only checked
	if
	ENABLE_VERIFIER.
	(OP1STORE): Split into OP1STORE_ONEWORD and OP1STORE_TWOWORD. Index
	is
	only checked if ENABLE_VERIFIER.

2006-04-05 19:58  edwin

	* src/vm/jit/parse.c (parse): Cleaned up and reordered an if.

2006-04-05 19:44  edwin

	* src/vm/jit/parse.c (parse): Remove the `if (!iswide)` check for
	each opcode
	by making JAVA_WIDE continue directly to the label fetch_opcode.
	(This also
	removed a part of the iswide check at the end of the loop.)

2006-04-05 18:48  edwin

	* src/vm/jit/alpha/codegen.c (codegen, createnativestub): Remove
	opt_verbosecall code for NDEBUG builds.

2006-04-05 18:13  edwin

	* src/vm/jit/parse.c (parse): Only do verifier checks if
	ENABLE_VERIFIER.
	Cleaned up an obsolete printf.

2006-04-05 12:56  edwin

	* configure.ac (ENABLE_RT_TIMING): Added.
	
	* src/vm/jit/jit.c (ENABLE_RT_TIMING): Added code for real-time timing
	of compiler passes.
	
	* src/vm/jit/jit.h (jit_print_time_stats): Added.
	
	* src/vm/vm.c (vm_exit_handler): Call jit_print_time_stats.

2006-04-05 11:32  edwin

	* src/vm/jit/inline/inline.c (create_block): Use BASICBLOCK_INIT.

2006-04-05 10:02  twisti

	* src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Removed !NDEBUG as
	builtin_throw_exception actually posts the thrown exception to the VM
	system.
	* src/vm/jit/powerpc/asmpart.S: Likewise.
	* src/vm/jit/mips/asmpart.S: Likewise.
	* src/vm/jit/x86_64/asmpart.S: Likewise.

2006-04-05 09:57  edwin

	* src/vm/jit/jit.h (instruction): Removed `method` field.
	(insinfo_inline): Added.
	(basicblock): Added `method` field.
	
	* src/vm/jit/dseg.c (dseg_addlinenumber_inline_start)
	(dseg_addlinenumber_inline_end): Use new insinfo_inline struct.
	
	* src/vm/jit/verify/typecheck.c (verify_basic_block): Removed unused
	variable `myclass`.
	
	* src/vm/jit/inline/inline.c (emit_inlining_prolog,
	emit_inlining_epilog):
	Use insinfo_inline struct.
	(inline_write_exception_handlers): Removed `method` field.
	
	* src/vm/jit/i386/codegen.c (codegen): Use insinfo_inline struct.
	
	* src/vm/jit/parse.h (several macros): Removed `method` field from
	instruction.
	
	* src/vm/jit/stack.c (stack_show_icmd): Adapted to new insinfo_inline
	struct.

2006-04-05 09:54  twisti

	Fixes GCC Bugzilla Bug #26990.
	* src/vm/vm.c (vm_exit): Don't check for exception of System.exit().

2006-04-04 21:31  edwin

	* src/vm/builtin.c (builtin_throw_exception): No twisti, we don't
	turn off
	exceptions just because it is NDEBUG ;)
	* src/vm/jit/i386/asmpart.S (asm_vm_call_method_exception_handler):
	Likewise.

2006-04-04 18:14  edwin

	* src/vm/jit/i386/Makefile.am: Do not build disassebmler for
	--disable-disassembler
	* src/vm/jit/i386/codegen.c (codegen): disable verbosecall code for
	NDEBUG

2006-04-04 18:11  edwin

	* src/vm/jit/ifconv/ifconv.c (ifconv_static): #ifdef debug code.
	(check): Likewise.

2006-04-04 09:17  twisti

	* src/threads/native/threads.c (tablelock): Removed.
	(tables_lock, tables_unlock): Likewise.
	(criticalcompare): Removed tablelock initialization.
	* src/vm/hashtable.h (tables_lock, tables_unlock): Removed.
	* src/vm/global.h (VFTBLINTERFACETABLE): Likewise.
	(cast_lock, cast_unlock): Likewise.

2006-04-04 09:14  twisti

	* src/vm/exceptions.c (exceptions_new_nosuchmethoderror): Print
	classname with dots.
	(exceptions_handle_exception): Compiler warning fix.

2006-04-04 09:13  edwin

	* src/vm/jit/verify/typeinfo.c (CLASSINFO_IMPLEMENTS_INTERFACE):
	Removed the
	single use of the macro VFTBLINTERFACETABLE

2006-04-04 08:45  twisti

	* src/native/vm/VMClass.c: Reordered methods like in the
	VMClass.java. This eases the 1.5 changes addition.

2006-04-04 08:30  edwin

	* src/vm/jit/parse.c (parse): Removed obsolete variable
	`skipBasicBlockChange`.

2006-04-04 08:24  edwin

	* src/vm/jit/parse.c (parse): Removed obsolete variable `firstlocal`.
	(Was used for the old inliner.)

2006-04-03 15:36  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
	jitdata. Renamed reg_of_var by codegen_reg_of_var.
	* src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.

2006-04-03 13:59  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Renamed parentargs_base to
	stackframesize.
	(codegen_trace_args): Likewise.

2006-04-02 16:17  edwin

	* src/vm/jit/i386/codegen.c (codegen): Implemented inlining of
	synchronized
	methods (INLINE_START, INLINE_END do monitorenter/exit).

2006-04-02 16:16  edwin

	* src/vm/jit/inline/inline.c (inline_node): Added fields for inlining
	synchronized methods.
	(inline_context): Added `master` pointer to outermost caller. Added
	field
	`calls_others`. (Leaf method detection should really be done after
	inlining).
	(several methods): Implemented inlining of synchronized methods.
	(inline_new_stackslot): Added.
	(inline_write_exception_handlers): Added.

2006-04-01 21:03  edwin

	* src/vm/jit/intrp/codegen.c (createcalljavafunction): Create
	codeinfo with
	the right methodinfo pointer.

2006-04-01 21:00  edwin

	* src/vm/jit/codegen-common.h (intrp_createnativestub): Takes a
	`jitdata *` now.
	
	* src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
	(createcalljavafunction): Use jitdata.

2006-03-31 12:38  edwin

	* src/vm/jit/inline/inline.c, src/vm/jit/inline/inline_debug.c:
	Adapted to
	twisti's jitdata changes.

2006-03-31 07:50  twisti

	* src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Replaced $stub
	symbols with old symbols and define them for darwin in the
	corresponding md-asm.h.
	(asm_call_jit_compiler): Likewise.
	(asm_wrapper_patcher): Likewise.
	(asm_replacement_out): Likewise.
	* src/vm/jit/powerpc/darwin/md-asm.h (builtin_asm_get_exceptionptrptr)
	(builtin_throw_exception, exceptions_handle_exception, jit_compile)
	(replace_me, stacktrace_create_extern_stackframeinfo)
	(stacktrace_remove_stackframeinfo): Changed to $stub symbol.
	(stacktrace_extern_fillInStackTrace): Removed.
	
	* src/vm/jit/powerpc/linux/md-abi.c (regs): Added.

2006-03-31 07:14  twisti

	* src/vm/jit/powerpc/patcher.c
	(patcher_checkcast_instanceof_interface): Compile fix (typo).

2006-03-30 12:01  twisti

	* src/vm/jit/alpha/asmpart.S (vm/jit/abi.h): Changed to
	vm/jit/abi-asm.h.
	* src/vm/jit/mips/asmpart.S: Likewise.
	* src/vm/jit/i386/asmpart.S: Likewise.
	* src/vm/jit/x86_64/asmpart.S: Likewise.

2006-03-30 11:59  twisti

	* src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
	jitdata. Renamed reg_of_var by codegen_reg_of_var.
	* src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
	
	* src/vm/jit/powerpc/asmpart.S (vm/jit/abi.h): Changed to
	vm/jit/abi-asm.h.
	(asm_vm_call_method_exception_handler): Export it.
	(asm_vm_call_method): Don't put label addresses into the
	"data-segment", as it's located in the .text area and that may be
	read-only. Changed to use PIC code. Linux stuff is still missing.
	
	* src/vm/jit/powerpc/Makefile.am (DISASS_SOURCES): Added.
	* src/vm/jit/powerpc/disass.c (regs): Removed.

2006-03-30 10:26  twisti

	* src/vm/jit/ifconv/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
	(LIBS): Added.

2006-03-30 10:23  twisti

	* src/vm/jit/Makefile.am (noinst_HEADERS): Added abi-asm.h.
	* src/vm/jit/abi.h (vm/jit/abi-asm.h): Added.
	(nregdescint, regs, nregdescfloat): Added.
	* src/vm/jit/abi-asm.h: New file.
	* src/vm/jit/reg.h (nregdescint, nregdescfloat): Removed.
	* src/vm/jit/reg.c (vm/jit/abi.h): Added.
	* src/vm/jit/replace.c: Likewise.
	* src/vm/jit/allocator/lsra.c: Likewise.
	* src/vm/jit/powerpc/darwin/md-asm.h
	(asm_vm_call_method_exception_handler): Added.
	* src/vm/jit/powerpc/darwin/md-abi.c (regs): Added.

2006-03-30 10:14  twisti

	* src/vm/jit/codegen-common.c: Use ENABLE_DISASSEMBLER.
	* src/vm/jit/codegen-common.h: Likewise.
	* src/vm/jit/stack.c: Likewise. Plus ENABLE_LSRA.
	* src/vm/jit/disass.h: Likewise.
	* src/vm/jit/jit.c: Likewise. Plus ENABLE_LOOP.

2006-03-30 10:10  twisti

	* src/vm/jit/powerpc/patcher.c (patcher_invokevirtual): Use disp
	variable for code patching. This will ease the overflow code
	comming.
	(patcher_invokeinterface): Likewise.
	(patcher_checkcast_instanceof_interface): Likewise.

2006-03-30 09:52  twisti

	* src/vm/exceptions.c (exceptions_handle_exception): Check for special
	* start/endpc-NULL case. This makes asmpart stuff much easier, like on
	* Darwin or IRIX.
	
	* src/vm/jit/asmpart.h (asm_vm_call_method_exception_handler): Added.
	
	* src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
	Export it.
	(asm_vm_call_method): Don't put label addresses into the
	"data-segment", as it's located in the .text area and that may be
	read-only.
	* src/vm/jit/i386/asmpart.S: Likewise.
	* src/vm/jit/mips/asmpart.S: Likewise.
	* src/vm/jit/x86_64/asmpart.S: Likewise.

2006-03-30 09:20  twisti

	* src/vm/jit/mips/asmpart.S (asm_vm_call_method): Return NULL for
	exception.

2006-03-30 08:48  twisti

	* configure.ac (opcodes): Check for disassembler symbol as
	init_disassemble_info isn't defined everywhere, like NetBSD.

2006-03-29 23:11  twisti

	* src/vm/jit/powerpc/netbsd: New directory.
	* src/vm/jit/powerpc/netbsd/md-abi.h: New file.
	* src/vm/jit/powerpc/netbsd/md-os.c: Likewise.
	* src/vm/jit/powerpc/netbsd/md-asm.h: Likewise.
	* src/vm/jit/powerpc/netbsd/Makefile.am: Likewise.
	* src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
	* src/vm/jit/powerpc/netbsd/.cvsignore: Likewise.
	* configure.ac (host_os): Added NetBSD.
	(AC_CONFIG_FILES): Added src/vm/jit/powerpc/netbsd/Makefile.

2006-03-28 15:43  twisti

	* tests/regression/codepatching/test.java: Made functions static
	final.
	--This line, and those below, will be ignored--
	
	M test.java

2006-03-28 15:41  twisti

	* src/vm/jit/i386/codegen.c (codegen): Changed signature to use
	jitdata. Renamed reg_of_var by codegen_reg_of_var.
	* src/vm/jit/i386/codegen.h (M_COPY): Likewise.

2006-03-28 15:14  twisti

	* configure.ac (AC_CONFIG_FILES): Added src/vm/jit/ifconv/Makefile.

2006-03-28 15:10  twisti

	* src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
	* src/vm/jit/ifconv: New directory.
	* src/vm/jit/ifconv/ifconv.c: New file.
	* src/vm/jit/ifconv/Makefile.am: Likewise.
	* src/vm/jit/ifconv/ifconv.h: Likewise.
	* src/vm/jit/ifconv/.cvsignore: Likewise.

2006-03-28 14:52  twisti

	* src/vm/method.h (vm/jit/code.h): Added.
	(codeinfo, rplpoint, executionstate, sourcestate): typedef's removed.
	
	* src/vm/jit/codegen-common.c (codegendata): Removed code.
	(codegen_setup, codegen_finish, createnativestub, codegen)
	(intrp_codegen): Changed signature to use jitdata.
	(reg_of_var): Renamed to codegen_reg_of_var. Changed signature.
	(codegen_free): Removed.
	* src/vm/jit/codegen-common.h: Likewise.
	
	* src/vm/jit/stack.c (lock_show_icmd): Renamed to
	lock_stack_show_icmd.
	(analyse_stack): Renamed to stack_analyse. Changed signature to use
	jitdata.
	(ICMD_IF_ICMPxx): Make ICMD_IFxx last instruction in basic block. This
	is required for if-conversion.
	(stack_print): Renamed to stack_print_stack.
	(show_icmd_method): Renamed to stack_show_method. Changed signature to
	use jitdata.
	(show_icmd_block): Renamed to stack_show_basicblock. Changed signature
	to use jitdata.
	(show_icmd): Renamed to stack_show_icmd.
	* src/vm/jit/stack.h: Likewise.
	
	* src/vm/jit/code.h (codeinfo): Added typedef.
	
	* src/vm/jit/dseg.c (assert.h): Moved.
	(dseg_resolve_datareferences, dseg_display): Changed signature to use
	jitdata.
	* src/vm/jit/dseg.h: Likewise.
	
	* src/vm/jit/verify/typecheck.c (typecheck): Changed signature to use
	jitdata.
	* src/vm/jit/verify/typecheck.h: Likewise.
	
	* src/vm/jit/loop/loop.c (analyseGraph): Changed signature to use
	jitdata.
	* src/vm/jit/loop/loop.h: Likewise.
	* src/vm/jit/loop/graph.c (depthFirst): Likewise.
	* src/vm/jit/loop/graph.h: Likewise.
	* src/vm/jit/loop/analyze.c (optimize_loops): Likewise.
	* src/vm/jit/loop/analyze.h: Likewise.
	* src/vm/jit/allocator/lsra.c (lsra): Likewise.
	* src/vm/jit/allocator/lsra.h: Likewise.
	* src/vm/jit/allocator/simplereg.c (interface_regalloc)
	(local_regalloc,allocate_scratch_registers): Likewise.
	* src/vm/jit/allocator/simplereg.h: Likewise.
	* src/vm/jit/parse.c (parse): Likewise.
	* src/vm/jit/replace.c (replace_create_replacement_points): Likewise.
	* src/vm/jit/intrp/codegen.c (intrp_codegen): Likewise.
	* src/vm/jit/reg.c (reg_setup): Likewise.
	* src/vm/jit/reg.h: Likewise.
	
	* src/vm/jit/jit.c (jit_compile): Use new function signatures and
	jitdata structure.
	(jit_compile_intern): Changed signature to use jitdata.
	* src/vm/jit/jit.h (jitdata): Added.
	(ICMD_OPCODE_MASK): Likewise.
	(ICMD_CONDITION_MASK): Likewise.
	
	* src/vm/jit/replace.h (rplpoint, executionstate, sourcestate):
	typedef's added.
	(replace_create_replacement_points): Changed signature to use jitdata.
	
	* src/vm/jit/parse.h (INDEX_ONEWORD, INDEX_TWOWORD): Use goto.
	(parse): Changed signature to use jitdata.

2006-03-28 14:31  twisti

	* src/vm/jit/x86_64/md.c (md_signal_handler_sigsegv)
	(md_signal_handler_sigfpe): Comment changes.

2006-03-28 14:30  twisti

	* src/vm/jit/i386/codegen.c (createnativestub): Replaced _exceptionptr
	by _no_threads_exceptionptr.

2006-03-28 14:22  twisti

	* NEWS: Added upcoming 0.96 release. Added miranda-methods fix.

2006-03-28 14:21  twisti

	* src/tests/regression/native/checkjni.c (PushLocalFrame): New method.
	* src/tests/regression/native/checkjni.java (PushLocalFrame):
	Likewise.
	(equal(int,int)): Likewise.
	* src/tests/regression/native/Makefile.am (NOTESTNAMES): Added.

2006-03-28 11:54  twisti

	* src/vm/jit/x86_64/codegen.c (codegen): Renamed parentargs_base to
	stackframesize.
	* tests/regression/extest.2output: Updated.

2006-03-28 10:42  twisti

	* src/vm/Makefile.am (noinst_LTLIBRARIES): Reformatted.

2006-03-28 10:21  twisti

	* src/native/vm/VMClassLoader.c (loadClass): Smaller changes.

2006-03-28 09:41  twisti

	* src/native/native.c (dummynativetable): Renamed getModifiers
	functions to getModifiersInternal due to GNU Classpath VM interface
	changes.
	* src/native/vm/Constructor.c (getModifiers): Renamed to
	getModifiersInternal.
	* src/native/vm/Field.c (getModifiers): Likewise.
	* src/native/vm/Method.c (getModifiers): Likewise.

2006-03-27 11:37  twisti

	* src/vm/class.c: Don't initialize classes to NULL.
	
	* src/vm/loader.c (loader_load_all_classes): Added NDEBUG.
	* src/vm/builtin.c (builtin_new): Likewise.
	* src/vm/jit/codegen-common.c (codegen_createnativestub): Likewise.
	(codegen_disassemble_nativestub): Likewise.
	* src/vm/jit/codegen-common.h (codegen_disassemble_nativestub):
	Likewise.
	* src/vm/jit/stack.c (stack_print): Likewise.
	* src/vm/jit/stack.h (stack_print, show_icmd_method, show_icmd_block)
	(show_icmd): Likewise.
	* src/vm/exceptions.c (exceptions_handle_exception): Likewise.
	* src/vm/linker.c (link_class_intern): Likewise.
	* src/cacao/cacao.c (main): Likewise.
	
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
	* src/vm/jit/x86_64/Makefile.am (DISASS_SOURCES): Added. Put into
	ENABLE_DISASSEMBLER.
	
	* src/vm/jit/jit.c (jit_compile_intern): Added ENABLE_LOOP.
	* src/vm/vm.c (vm_create): Added ENABLE_PROFILING.
	(vm_exit_handler): Likewise.
	
	* configure.ac (AC_ENABLE_SHARED, AC_DISABLE_STATIC): Removed. Set it
	manually.
	(EXPORT_SYMBOLS_FLAGS): Removed.
	(--enable-disassembler): Added.
	(--ensable-loop): Likewise.
	(--ensable-profiling): Likewise.
	(--ensable-libjvm): Likewise.
	(--ensable-inlining): Moved.
	
	* src/vm/jit/Makefile.am (LOOP_LIB): Added. Put into ENABLE_LOOP.
	(PROFILE_LIB): Put into ENABLE_PROFILING.
	* src/cacao/Makefile.am (cacao_LDFLAGS): Use -export-dynamic and let
	libtool do the work. Add -all-static for ENABLE_STATICVM.
	
	* src/lib/Makefile.am: Made it -j aware.
	
	* src/vm/resolve.c (config.h, vm/global.h): Added.
	* src/vm/classcache.c (config.h): Moved to top.
	
	* src/vm/exceptions.h: Small change.

2006-03-27 11:15  twisti

	* src/vm/utf8.c: Removed superfluous comment.

2006-03-24 11:50  motse

	* src/cacao/cacao.c (main): remove debug code

2006-03-23 12:48  edwin

	* src/vm/jit/parse.h (bound_check): Renamed to CHECK_BYTECODE_INDEX,
	made
	a NOP for ENABLE_VERIFIER undefined.
	(bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE,
	made
	a NOP for ENABLE_VERIFIER undefined.
	
	* src/vm/jit/parse.c (fillextable): Cleaned up.
	(bound_check): Renamed to CHECK_BYTECODE_INDEX.
	(bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE.
	(parse): Only do checks if ENABLE_VERIFIER is defined.

2006-03-23 11:22  edwin

	* src/vm/jit/parse.c (CHECK_END_OF_BYTECODE): Added a macro for
	checking
	the end of the bytecode that becomes a NOP if ENABLE_VERIFIER is
	undefined.

2006-03-23 02:06  edwin

	* src/vm/jit/parse.c (parse): Uncuddled else's.

2006-03-23 00:56  edwin

	* src/vm/jit/powerpc/darwin/md-asm.h (_asm_replacement_out)
	(_asm_replacement_in, _replace_me): Added #defines for Darwin.

2006-03-23 00:30  edwin

	* src/vm/jit/stack.h (CHECK_STACK_DEPTH): Added. Uses goto to a common
	label for stack depth mismatches.
	(MARKREACHED): Use CHECK_STACK_DEPTH, which becomes a NOP if
	ENABLE_VERIFIER is undefined.
	
	* src/vm/jit/stack.c (anaylse_stack): Use CHECK_STACK_DEPTH.
	Added common label `throw_stack_depth_error` for stack depth
	mismatches.
	Uncuddled else's.

2006-03-23 00:08  edwin

	* src/vm/global.h (TYPECHECK_STACK_COMPCAT): Replaced by
	ENABLE_VERIFIER.
	The separation made no sense, anyway.
	
	* src/vm/jit/stack.c (TYPECHECK_STACK_COMPCAT): Replaced by
	ENABLE_VERIFIER.
	(analyse_stack): Removed code duplication by branching to a common
	label
	for all computational category errors: throw_stack_category_error.

2006-03-22 23:51  edwin

	* src/vm/jit/stack.h (BBEND): Inlined this macro (used only once) at
	its
	call site in stack.c.
	
	* src/vm/jit/stack.c (analyse_stack): Inlined BBEND macro and cleaned
	up
	the code.

2006-03-22 23:29  edwin

	* src/vm/jit/stack.c (analyse_stack): Removed obsolete label
	`icmd_store`.

2006-03-22 23:27  edwin

	* src/vm/jit/jit.h (ICMD_READONLY_ARG, ICMD_CLEAR_ARGREN): Removed.
	
	* src/vm/jit/stack.c (analyse_stack): Removed obsolete argument
	renaming.
	
	* src/vm/jit/verify/typecheck.c (verify_basic_block): Removed
	ICMD_READONLY_ARG and ICMD_CLEAR_ARGREN.

2006-03-22 23:17  edwin

	* src/vm/jit/stack.h (TYPE_VERIFYERROR): Changed to CHECK_BASIC_TYPE.
	This
	macro now becomes a NOP if ENABLE_VERIFIER is undefined. Otherwise it
	uses
	a goto to the common label throw_stack_type_error in order to save
	space.
	
	* src/vm/jit/stack.c (analyse_stack): Added variable `expectedtype`
	for use
	by CHECK_BASIC_TYPE. Added label throw_stack_type_error.

2006-03-22 20:59  edwin

	* src/vm/jit/i386/asmpart.S (asm_vm_call_method): Save/restore stack
	pointer
	properly. Fixed copy&paste error in restoring callee-save registers.

2006-03-22 18:32  edwin

	* src/vm/jit/stack.c (analyse_stack): Added throw_stack_overflow
	label.
	
	* src/vm/jit/stack.h (CHECKOVERFLOW): Make this a NOP if
	ENABLE_VERIFIER
	is undefined.
	(REQUIRE): Use #if defined(...)

2006-03-22 17:25  edwin

	* src/vm/jit/stack.h (REQUIRE): Made a NOP if ENABLE_VERIFIER is
	undefined.
	
	* src/vm/jit/stack.c (analyse_stack): Only define
	throw_stack_underflow
	if ENABLE_VERIFIER is defined.
	(jit_type): Do not define that for NDEBUG.

2006-03-22 17:14  edwin

	* src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception
	throwing code.
	
	* src/vm/jit/stack.c (analyse_stack): Added label
	throw_stack_underflow
	for the REQUIRE macro.

2006-03-22 15:30  edwin

	* src/vm/jit/powerpc/md.c (DISASSINSTR): #ifdef'ed
	* src/vm/jit/alpha/md.c (DISASSINSTR): #ifdef'ed
	* src/vm/jit/i386/md.c (DISASSINSTR): #ifdef'ed
	* src/vm/jit/x86_64/md.c (DISASSINSTR): #ifdef'ed
	* src/vm/jit/mips/md.c (DISASSINSTR): #ifdef'ed

2006-03-22 12:35  edwin

	* src/vm/jit/inline/inline.c (stack_depth): Moved here from
	inline_debug.c.
	(NDEBUG): Put debug stuff inside #ifndef NDEBUG.
	
	* src/vm/jit/inline/inline_debug.c (stack_depth): Moved to inline.c

2006-03-22 09:19  edwin

	* src/vm/jit/inline/inline_debug.c (debug_dump_stack): Fixed warning
	on
	platforms that don't define NULL as a pointer.

2006-03-22 01:22  edwin

	* src/vm/jit/inline/inline.c (relocate_stack_ptr_inter,
	rewrite_method):
	Fixed warnings.
	
	* src/vm/jit/inline/inline_debug.c (DEBUG_SLOT, dump_inline_tree):
	Fixed warnings.

2006-03-21 14:07  twisti

	* src/vm/jit/i386/codegen.h (ALIGNCODENOP): Added.
	
	* src/vm/jit/i386/codegen.c (codegen): Renamed to parentargs_base to
	stackframesize. Align stack to 16-bytes.
	(ICMD_GOTO): Use ALIGNCODENOP.
	
	* src/vm/jit/i386/asmpart.S (asm_vm_call_method): Align stack to
	16-bytes. Use register defines for better readability.

2006-03-21 11:58  twisti

	* src/vm/jit/Makefile.am: Removed ifconv. Again...

2006-03-21 11:50  twisti

	* configure.ac (AC_INIT): Changed cvs to svn.
	(--enable-inlining): Added.
	
	* src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
	(ENABLE_IFCONV): Added. Use IFCONV_LIB.
	(USE_INLINING): Renamed to ENABLE_INLINING.

2006-03-21 07:57  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Comment 16-byte stack
	alignment.
	
	* src/vm/jit/alpha/asmpart.S (asm_replacment_out): Fix comment about
	stack layout.

2006-03-21 07:42  edwin

	* src/vm/jit/alpha/asmpart.S (REPLACEMENT_ROOM): Fixed deleted
	characters.

2006-03-21 04:14  edwin

	* src/vm/jit/inline/Makefile.am (AM_CPPFLAGS): Added OS include dir.

2006-03-21 03:15  edwin

	* src/vm/jit/inline/inline_debug.c: Added file.

2006-03-21 00:13  edwin

	* src/vm/jit/inline/inline.c: Committed the inliner. This code works
	but
	it is still in prototyping stage.
	
	* src/vm/jit/parse.c (parse): Added (#if 0-ed) code for storing the
	exception table that the inliner uses.

2006-03-21 00:04  motse

	major rework of jvmti. now we have three processes in jvmti mode.
	there are still many debug statements

2006-03-20 23:56  edwin

	* src/vm/jit/code.h (codeinfo): Comment that profiling fields
	will be removed.

2006-03-20 15:41  edwin

	* src/vm/jit/alpha/asmpart.S (asm_replacement_out): 16-byte align
	stack.

2006-03-20 15:37  edwin

	* doc/stack_frames.txt: Some fixes, described PowerPC stack frames.

2006-03-20 15:12  twisti

	* src/vm/jit/alpha/codegen.c (codegen): Align stack to 16-bytes in
	replacement stub.
	* src/vm/jit/alpha/asmpart.S (asm_replacement_out): Load GP before
	symbolic jumps.

2006-03-20 14:43  twisti

	* autogen.sh, src/boehm-gc/autogen.sh: Prefix all shell variables with
	CACAO_ to prevent problems on OpenBSD.

2006-03-20 14:27  twisti

	* src/boehm-gc/darwin_stop_world.c,
	src/boehm-gc/threadlibs.c,
	src/boehm-gc/doc/README.changes,
	src/boehm-gc/doc/README,
	src/boehm-gc/doc/gcinterface.html,
	src/boehm-gc/mark.c,
	src/boehm-gc/include/gc.h,
	src/boehm-gc/include/gc_cpp.h,
	src/boehm-gc/include/gc_pthread_redirects.h,
	src/boehm-gc/include/leak_detector.h,
	src/boehm-gc/include/gc_config_macros.h,
	src/boehm-gc/include/private/gc_priv.h,
	src/boehm-gc/include/private/gcconfig.h,
	src/boehm-gc/include/private/gc_pmark.h,
	src/boehm-gc/include/private/gc_locks.h,
	src/boehm-gc/configure.in,
	src/boehm-gc/allchblk.c,
	src/boehm-gc/powerpc_darwin_mach_dep.s,
	src/boehm-gc/dbg_mlc.c,
	src/boehm-gc/version.h,
	src/boehm-gc/pthread_stop_world.c,
	src/boehm-gc/malloc.c,
	src/boehm-gc/headers.c,
	src/boehm-gc/pthread_support.c,
	src/boehm-gc/Makefile.direct,
	src/boehm-gc/os_dep.c,
	src/boehm-gc/Makefile.am,
	src/boehm-gc/dyn_load.c,
	src/boehm-gc/alloc.c,
	src/boehm-gc/misc.c: Updated to upstream version 6.7.

2006-03-19 19:46  edwin

	* src/vm/jit/code.c (code_get_stack_frame_size): Implement stack
	alignment
	for MIPS.
	
	* src/vm/jit/mips/md.c (md_patch_replacement_point): Added.
	
	* src/vm/jit/mips/codegen.c (codegen): Handle replacement points.
	8-byte align blocks that start with replacement points.
	
	* src/vm/jit/mips/asmpart.S (asm_replacement_out): Added.
	(asm_replacement_in): Likewise.
	
	* src/vm/jit/replace.c (replace_activate_replacement_point): Activated
	for MIPS.
	(replace_deactivate_replacement_poin): Likewise.
	(replace_me): Likewise.
	(replace_read_executionstate): MIPS also keeps returnAddress in ITMP1.
	(replace_write_executionstate): Likewise.
	
	* doc/stack_frames.txt: Documented MIPS stack frames.
	
	* src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Fixed comment.

2006-03-18 04:14  edwin

	* src/vm/jit/powerpc/md.c (md_patch_replacement_point): Added.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Handle replacement points.
	
	* src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Added.
	(asm_replacement_in): Likewise.
	
	* src/vm/jit/alpha/codegen.c (codegen): Added missing initialization
	of `replacementpoint`.
	
	* src/vm/jit/alpha/asmpart.S (asm_replacement_out): Store PV register.
	
	* src/vm/jit/code.c (code_get_sync_slot_count): Ported to PowerPC.
	(code_get_stack_frame_size): Likewise.
	
	* src/vm/jit/replace.c (replace_activate_replacement_point)
	(replace_deactivate_replacement_poin): Activated for PowerPC.
	(replace_read_value, replace_write_value): Added.
	(replace_read_executionstate): Ported to PowerPC, more complete
	data type handling.
	(replace_write_executionstate): Ported to Ported, more complete
	data type handling, fixed missing initialization of `topslot`.
	(replace_me): Activated for PowerPC.

2006-03-16 23:32  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Use `disp` for displacement.

2006-03-16 21:12  edwin

	* src/vm/jit/alpha/md.c (Changes): Added my name.

2006-03-16 21:11  edwin

	* src/vm/jit/alpha/md.c (md_patch_replacement_point): Added.
	(vim boilerplate): Added.
	
	* src/vm/jit/replace.c (replace_activate_replacement_point)
	(replace_deactivate_replacement_point, replace_me):
	Activated replacement for alpha.

2006-03-16 20:31  edwin

	* src/vm/jit/alpha/asmpart.S (asm_replacement_out)
	(asm_replacement_in): Use stt/ldt for float registers.
	
	* src/vm/jit/alpha/codegen.c (codegen): Put replacement-out stub
	generation in correct scope. Fix warnings.

2006-03-16 19:55  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Handle replacement points.
	
	* src/vm/jit/alpha/asmpart.S (asm_replacement_out): Added.
	(asm_replacement_in): Likewise.
	(vim boilerplate): Added.

2006-03-16 19:36  edwin

	* src/vm/jit/replace.c (replace_read_executionstate)
	(replace_write_executionstate): Position of synchronization slot must
	be calculated from low addresses up, instead of backwards from stack
	base.

2006-03-16 19:00  edwin

	* src/vm/jit/replace.c (replace_create_replacement_points): Set
	isleafmethod.

2006-03-16 18:57  edwin

	* src/vm/jit/code.c (code_codeinfo_new): Set codeinfo.isleafmethod.

2006-03-16 18:44  edwin

	* src/vm/jit/x86_64/codegen.c (codegen): Reuse `disp` variable.
	* src/vm/jit/i386/codegen.c (codegen): Likewise.

2006-03-16 18:38  edwin

	* src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv.
	* src/vm/jit/x86_64/asmpart.S (asm_replacement_out): Added pv.
	
	* src/vm/jit/replace.c (replace_read_executionstate)
	(replace_write_executionstate): Prepared for alpha. Some cleanup.
	
	* src/vm/jit/replace.c (replace_write_executionstate):
	Calculate stack pointer from given stack base.
	(replace_executionstate_println): Added pv.
	(replace_sourcestate_println): Added stackbase.
	
	* src/vm/jit/replace.h (executionstate): Added pv.
	(sourcestate): Added stackbase.
	
	* src/vm/jit/tools/genoffsets.c (main): Added offes_pv.
	
	* doc/stack_frames.txt: Clarifications.

2006-03-16 18:32  edwin

	* src/vm/jit/code.c (code_get_sync_slot_count): No synchronization
	slots
	if USE_THREADS is undefined.
	(code_get_stack_frame_size): Added x86_64 alignment slot.

2006-03-16 17:29  edwin

	* doc/stack_frames.txt: Added description of x86_64 stack frames.

2006-03-16 17:24  twisti

	* src/vm/jit/mips/md.c (sys/cachectl.h): Added.
	(md_cacheflush, md_icacheflush, md_dcacheflush): New method.
	
	* src/vm/jit/mips/codegen.c: Use new exception stubs.
	* src/vm/jit/mips/codegen.h (gen_nullptr_check, gen_bound_check)
	(gen_div_check): Use new add reference functions.
	
	* src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush
	or md_dcacheflush.
	
	* src/vm/jit/mips/asmpart.S: (asm_calljavafunction): Removed.
	(asm_calljavafunction2): Renamed to asm_vm_call_method. Pointer to
	vm_arg block is now in a2. Use new defines.

2006-03-16 17:22  edwin

	* doc/stack_frames.txt: Added description of alpha stack frames.

2006-03-16 17:16  twisti

	* src/vm/vm.c (version): Check if __VERSION__ is defined.

2006-03-16 15:36  twisti

	* src/vm/jit/x86_64/md.c (md_cacheflush): New method.

2006-03-16 15:28  edwin

	* src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler
	warning.

2006-03-16 15:19  twisti

	* src/vm/jit/alpha, src/vm/jit/alpha/linux,
	src/vm/jit/alpha/linux/.cvsignore, src/vm/jit/alpha/freebsd,
	src/vm/jit/alpha/freebsd/.cvsignore, src/vm/jit/alpha/.cvsignore:
	Added TAGS.

2006-03-16 15:16  twisti

	* src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method.
	* src/vm/jit/alpha/asmpart.S (asm_sync_instruction_cache): Renamed to
	asm_cacheflush.
	* src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with
	md_icacheflush.

2006-03-16 14:29  twisti

	* src/vm/jit/i386/md.c (md_cacheflush): New method.

2006-03-16 14:23  twisti

	* src/vm/jit/powerpc, src/vm/jit/powerpc/linux,
	src/vm/jit/powerpc/linux/.cvsignore, src/vm/jit/powerpc/darwin,
	src/vm/jit/powerpc/darwin/.cvsignore, src/vm/jit/powerpc/.cvsignore:
	Added TAGS.

2006-03-16 14:19  twisti

	* src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
	Added.
	* src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed.
	
	* src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for
	the dynamic superinstructions (intrp) and the generated code.
	
	* src/vm/jit/powerpc/codegen.c: Use new exception stubs.
	* src/vm/jit/powerpc/codegen.h (gen_nullptr_check, gen_bound_check):
	Use new add reference functions.
	
	* src/vm/jit/powerpc/md.c (vm/jit/asmpart.h): Added.
	(md_cacheflush, md_icacheflush, md_dcacheflush): New function.
	* src/vm/jit/powerpc/patcher.c: Use new cache flush functions.

2006-03-16 14:00  twisti

	* src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.

2006-03-16 13:59  twisti

	* src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
	__POWERPC64__, __SPARC__. We know we need it there.

2006-03-16 13:56  twisti

	* tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.

2006-03-16 12:53  twisti

	* src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am,
	src/vm/jit/loop/Makefile.am, src/vm/jit/profile/Makefile.am,
	src/cacao/Makefile.am, src/native/tools/Makefile.am,
	src/native/vm/Makefile.am, src/native/Makefile.am,
	src/toolbox/Makefile.am, src/mm/Makefile.am, src/cacaoh/Makefile.am
	(AM_CPPFLAGS): Added OS_DIR.

2006-03-16 12:03  twisti

	* src/vm/jit/alpha/codegen.c: Use new exception stubs.
	* src/vm/jit/alpha/codegen.h (gen_nullptr_check, gen_bound_check): Use
	new add reference functions.

2006-03-16 04:38  edwin

	* src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.

2006-03-16 04:17  edwin

	* src/vm/jit/code.c (code_codeinfo_new): Commented.
	(code_get_sync_slot_count): Added.
	(code_get_stack_frame_size): Commented.
	(code_codeinfo_free): Commented.
	(code_free_code_of_method): Commented. Some cleanup.
	
	* src/vm/jit/code.h (code_get_sync_slot_count): Added.
	
	* src/vm/jit/i386/codegen.c (codegen): Use cd->lastmcodeptr to avoid
	patching over basic block boundaries.
	* src/vm/jit/x86_64/codegen.c (codegen): Likewise.
	
	* src/vm/jit/replace.h (rplpoint): `type` and `flags` added,
	`hashlink` removed.
	(sourcestate): Added slots for synchronized methods.
	
	* src/vm/jit/replace.c (replace_create_replacement_points): Store
	basicblock
	type.
	(replace_read_executionstate, replace_write_executionstate):
	Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH
	blocks.
	Transfer synchronization slots.

2006-03-16 00:05  edwin

	* src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
	stackslots.
	
	* src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and
	fltregs.
	
	* src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to
	intregs. Some cleanup.
	
	* src/vm/jit/replace.c (replace_activate_replacement_point)
	(replace_deactivate_replacement_point): Enabled on x86_64.
	(replace_read_executionstate, replace_write_executionstate):
	Deal with 4/8-byte stackslots. Handle float registers.
	(replace_executionstate_println, replace_sourcestate_println):
	Print register names where possible.
	
	* src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added.
	(vim boilerplate): Added.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points.
	Generate replacement-out stubs.
	
	* src/vm/jit/x86_64/asmpart.S (asm_replacement_out,
	asm_replacement_in):
	Added.
	(vim boilerplate): Added.
	
	* src/vm/jit/replace.h (executionstate): Separate registers into int
	and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT
	macros.

2006-03-15 21:27  edwin

	* src/vm/jit/replace.c (replace_read_executionstate): Commented.
	(replace_write_executionstate): Likewise, and set new PC here.
	(replace_me): Target PC is now set in replace_write_executionstate.

2006-03-15 20:53  edwin

	* src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc
	structs.
	Added fields storing stack slot counts.
	
	* src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size):
	Added.
	
	* src/vm/jit/replace.c (replace_create_replacement_points): Store full
	allocation info for locals and stack slots in rplalloc structs. Store
	number of stack slots.
	
	* src/vm/jit/replace.c (replace_read_executionstate): Added.
	(replace_write_executionstate): Likewise.
	
	* src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate.
	Read an write executionstate. Do actual replace by calling
	asm_replace_in.
	
	* src/vm/jit/replace.c (replace_replacement_point_println)
	(replace_executionstate_println): Print new fields. Show correct
	number
	of stack slots.
	(replace_sourcestate_println): Added.
	
	* src/vm/jit/replace.h (rplalloc): Added.
	(rplpoint): Changed regalloc fields to use rplalloc structs.
	(executionstate): Removed saved regs.
	(sourcestate): Added saved regs.
	(replace_executionstate_println): Now takes codeinfo* argument.
	(replace_sourcestate_println): Added.

2006-03-15 20:43  edwin

	* doc/stack_frames.txt: Added arrows indicating increasing
	addresses/indices.

2006-03-15 20:42  edwin

	* src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.

2006-03-15 20:40  edwin

	* src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer
	registers,
	add space between stack frame and executionstate to accomodate
	changing stack
	frame size.
	
	* src/vm/jit/i386/asmpart.S (asm_replacement_in): Added.

2006-03-15 20:38  edwin

	* src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
	in executionstate.

2006-03-15 17:17  twisti

	* src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
	M_MOV_IMM.
	* src/vm/jit/i386/codegen.h (M_MOV_IMM, M_IST_IMM, M_IST32_IMM)
	(M_PUSH_IMM): Added cast.
	(M_CMP, M_CMP_MEMBASE, M_CMP_IMM_MEMBASE): Added.

2006-03-15 16:36  twisti

	* src/vm/jit/codegen-common.h (branchref): Removed.
	(codegendata): Removed xboundrefs, xnullrefs, xcastrefs, xstorerefs,
	xdivrefs and xexceptionrefs. Added exceptionrefs.
	(codegen_addxboundrefs, codegen_addxcastrefs, codegen_addxdivrefs)
	(codegen_addxstorerefs, codegen_addxnullrefs)
	(codegen_addxexceptionrefs): Removed.
	(codegen_add_arithmeticexception_ref)
	(codegen_add_arrayindexoutofboundsexception_ref)
	(codegen_add_arraystoreexception_ref)
	(codegen_add_classcastexception_ref)
	(codegen_add_nullpointerexception_ref)
	(codegen_add_fillinstacktrace_ref): New function.
	* src/vm/jit/codegen-common.c: Likewise.
	
	* src/vm/jit/dseg.h (exceptionref): New structure.
	
	* src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast
	with M_MOV_IMM.
	* src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast.
	
	* src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): Moved.
	* src/vm/jit/stacktrace.h (STACKTRACE_inline_arithmeticexception)
	(STACKTRACE_inline_arrayindexoutofboundsexception)
	(STACKTRACE_inline_arraystoreexception)
	(STACKTRACE_inline_classcastexception)
	(STACKTRACE_inline_nullpointerexception)
	(STACKTRACE_inline_fillInStackTrace): Added functionptr defines.
	
	* src/vm/jit/jit.h (branchref): Added.

2006-03-15 12:14  edwin

	* doc/stack_frames.txt: Added slots for synched methods.

2006-03-15 12:04  edwin

	* doc/stack_frames.txt: Added file.
	
	* src/vm/jit/code.h (codeinfo): Rearranged fields.
	
	* src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S,
	src/vm/jit/replace.c:
	Comment changes.

2006-03-15 11:38  edwin

	* src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
	activation and deactivation of replacement points.
	
	* src/vm/jit/i386/codegen.c (codegen): Prepare machine code for
	patching replacement points.
	
	* src/vm/jit/replace.c, src/vm/jit/replace.h
	(replace_deactivate_replacement_point): Added.
	
	* src/vm/jit/replace.c
	(replace_replacement_point_println): Print machine code.
	
	* src/vm/jit/replace.h (rplpoint): Added `mcode` field.

2006-03-15 11:18  twisti

	* src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use
	M_ILD32 and M_LLD32 macros.
	(patcher): Save REG_ITMP3. Don't allocate a codegendata structure,
	just do it as on Alpha.
	* src/vm/jit/i386/codegen.h (var_to_reg_lng): Added.
	(store_reg_to_var_lng): Likewise.
	(M_ILD32, M_LLD, M_LLD32, M_IST32, M_IST32_IMM, M_LST, M_LST32)
	(M_LST_IMM, M_LST32_IMM): Likewise.
	
	* src/vm/jit/i386/patcher.c: Changed position of return address due to
	saving of REG_ITMP3.
	* src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Changed due to
	saving of REG_ITMP3.

2006-03-15 10:34  edwin

	* src/vm/jit/replace.c (replace_create_replacement_points): Don't use
	rd->locals in the interpreter -- it's NULL there.

2006-03-15 05:13  edwin

	* src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler
	warning.

2006-03-15 05:08  edwin

	* src/vm/jit/replace.h, src/vm/jit/i386/md.c
	(md_patch_replacement_point):
	Fixed return type.
	
	* src/vm/jit/replace.c (replace_activate_replacement_point): Only call
	md_patch_replacement_point if ENABLE_JIT is defined.

2006-03-15 04:57  edwin

	* src/vm/jit/replace.c (replace_activate_replacement_point): Do not
	use
	the symbol md_patch_replacement_point on platforms where it does not
	exist, yet.

2006-03-15 04:43  edwin

	* src/vm/jit/replace.h, src/vm/jit/replace.c
	(replace_activate_replacement_point): Added.
	(replace_activate): Added prototype.
	(md_patch_replacement_point): Added prototype.
	(replace_me): Added.
	(replace_replacement_point_println): Added.
	(replace_show_replacement_points): Cleaned up.
	(replace_executionstate_println): Added.
	
	* src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs.
	
	* src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement
	points.
	
	* src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S
	(asm_replacement_out): Added.
	
	* src/vm/method.h (executionstate): Typo fixed.
	
	* src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change.
	
	* src/vm/jit/tools/genoffsets.c (executionstate): Added size and
	offset.
	
	* src/vm/jit/i386/md.c (md_patch_replacement_point): Added.

2006-03-15 01:50  edwin

	* src/vm/jit/replace.h, src/vm/jit/replace.c
	(replace_replacement_info_print): Renamed to
	replace_show_replacement_points.
	* src/vm/jit/stack.c: Likewise.

2006-03-15 01:39  edwin

	* src/vm/jit/replace.c, src/vm/jit/replace.h
	(replace_create_replacement_points): Added.
	(replace_free_replacement_points): Added.
	(replace_replacement_info_print): Added.
	
	* src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length.
	
	* src/vm/jit/code.h (codeinfo): Changed replacement point fields.
	
	* src/vm/jit/jit.c (jit_compile_intern): Create replacement points.
	
	* src/vm/jit/jit.c (jit_compile_intern): Use already allocated
	codeinfo
	for do-nothing methods.
	
	* src/vm/jit/code.c (code_codeinfo_free): Free replacement points.
	
	* src/vm/jit/stack.c (show_icmd_method): Print replacement points.

2006-03-15 00:06  edwin

	* src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed
	to
	stack_print. Documented.
	(show_icmd_method, show_icmd_block, show_icmd): Documented.
	(show_icmd_block): Print basicblock.bitflags.
	
	* src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches
	as replacement points (BBFLAG_REPLACEMENT)

2006-03-14 23:49  edwin

	* src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The
	flags
	of this struct should really be cleaned up.
	
	* src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central
	place
	where to put initialization of the fields.
	
	* src/vm/jit/parse.c (parse): Cleaned up basicblock allocation.

2006-03-14 23:16  edwin

	* src/vm/jit/jit.h (basicblock): Comment.

2006-03-14 23:00  edwin

	* src/vm/jit/parse.c (fillextable): Removed unused label_index.
	(parse): Likewise.
	
	* src/vm/jit/replace.h: Comment moved.

2006-03-14 22:30  edwin

	* src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
	m->code field to get to the location of the method.

2006-03-14 22:16  edwin

	* src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
	* src/vm/loader.c (load_method): Likewise.
	
	* src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint.
	* src/vm/builtin.c (builtin_trace_exception): Likewise. Note:
	Currently
	we always use the current codeinfo. This is preliminary.
	
	* src/vm/jit/powerpc/codegen.c (codegen): Use cd->code->entrypoint.
	* src/vm/jit/alpha/codegen.c (createnativestub): Likewise.
	* src/vm/jit/dseg.c (dseg_resolve_datareferences): Likewise.
	* src/vm/jit/mips/codegen.c (codegen, createnativestub): Likewise.
	* src/vm/jit/i386/codegen.c (createnativestub): Likewise.
	* src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
	(createcalljavafunction): Likewise.
	* src/vm/jit/x86_64/codegen.c (createnativestub): Likewise.
	
	* src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint.
	
	* src/vm/jit/codegen-common.h, src/vm/jit/codegen-common.c,
	src/cacaoh/headers.c (codegen_createnativestub): Now returns
	the created codeinfo instead of the entrypoint.
	
	* src/vm/jit/stacktrace.c (stacktrace_add_method): Find the codeinfo
	that contains the current PC. Note: This is preliminary. We should
	find the codeinfo * via the PV of the code containing the PC.
	
	* src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo
	for native stubs and the do-nothing stub
	
	* src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint
	in codeinfo instead of in methodinfo.

2006-03-14 20:59  edwin

	* src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
	Added GPL header and boilerplate.

2006-03-14 20:57  edwin

	* src/vm/jit/code.h: Added GPL header and boilerplate.

2006-03-14 20:51  edwin

	* src/vm/jit/code.c, src/vm/jit/code.h: Files added.
	
	* src/vm/jit/replace.c, src/vm/jit/replace.h: Files added.
	
	* src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added.
	
	* src/vm/method.h (methodinfo): Added field `code`. Each method
	may now have zero or more codeinfo:s associated with it. A
	codeinfo represents the machine code of a particular version
	of the compiled method. Note: Some fields in methodinfo that
	may need to be moved to codeinfo where marked XXX.
	
	* src/vm/jit/codegen-common.h (codegendata): Added field `code`.
	
	* src/vm/jit/codegen-common.c (codegen_setup): Allocate
	a new codeinfo.
	(codegen_finish): Use `code` field of codegendata.
	(codegen_createnativestub): Likewise.
	
	* src/vm/jit/stack.c (show_icmd_method, show_icmd_block):
	Use `code` field of codegendata.
	* src/vm/jit/dseg.c (dseg_display): Likewise.
	* src/vm/jit/jit.c (jit_compile_intern): Likewise. Switch
	current codeinfo after compilation is complete.
	
	* src/cacaoh/headers.c (code_free_code_of_method): Added stub.
	
	* src/vm/method.c (method_free): Free codeinfo:s of method.
	
	* src/vm/loader.c (load_method): Initialize m->code.

2006-03-14 16:40  twisti

	* src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
	otherwise the sumbols are not exported.
	
	* src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to
	WITH_STATIC_CLASSPATH.

2006-03-14 16:30  twisti

	* src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an
	OOM when allocating from the heap. Fixes a crash in Jonas.

2006-03-14 15:00  edwin

	* doc/design_onstack_replacement.txt: More design options added.

2006-03-13 21:26  edwin

	* design_onstack_replacement.txt: Added file.

2006-03-13 11:35  twisti

	* src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
	startup bug with knopflerfish.

2006-03-13 08:02  edwin

	* src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
	Link class before accessing c->vftbl->arraydesc.

2006-03-13 07:06  edwin

	* src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We
	must not
	assume that the class is already linked, so we have to resolve the
	super class
	reference. This fixes a NPE bug with Jonas.

2006-03-12 23:23  twisti

	* src/vm/suck.c (suck_start): We really should close class files after
	reading it.

2006-03-11 21:34  edwin

	* src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
	reference types.

2006-03-11 20:41  edwin

	* src/vm/jit/codegen-common.c (codegen_finish): When setting the
	entrypoint of a method, be sure not to overwrite an already set
	entrypoint.

2006-03-11 20:34  edwin

	* src/vm/references.h (IS_XCLASSREF): Commented.

2006-03-11 20:32  edwin

	* src/vm/references.h (IS_XCLASSREF): Added.
	(CLASSREF_OR_CLASSINFO_NAME): Added.

2006-03-11 20:30  edwin

	* src/vm/class.c, src/vm/class.h (class_classref_print): Added.
	(class_classref_println): Added.

2006-03-11 16:06  edwin

	* src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
	compiled during static class initialization.

2006-03-11 15:03  edwin

	* src/vm/method.c (vim boilerplate): Added.

2006-03-11 15:01  edwin

	* src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the
	class, instead of on the method, where it is not set. Do not check
	ACC_ABSTRACT here, because non-interface ACC_ABSTRACT methods are
	looked up just like non-abstract non-interface methods.

2006-03-10 22:22  twisti

	* src/native/vm/VMRuntime.c (vm/options.h): Added.
	(nativeLoad): Print dlerror output when dlopen fails.

2006-03-09 16:13  twisti

	* autogen.sh: Fixed typo.

2006-03-09 13:51  twisti

	* src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed.
	(asm_calljavafunction_int): Likewise.
	(asm_calljavafunction2): Likewise.
	(asm_calljavafunction2int): Likewise.
	(asm_calljavafunction2long): Likewise.
	(asm_calljavafunction2float): Likewise.
	(asm_calljavafunction2double): Likewise.
	(_exceptionptr): Likewise.
	(asm_vm_call_method): Define added.
	(asm_vm_call_method_int): Likewise.
	(asm_vm_call_method_long): Likewise.
	(asm_vm_call_method_float): Likewise.
	(asm_vm_call_method_double): Likewise.

2006-03-09 13:46  twisti

	* src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
	instruction order on long fields.

2006-03-09 13:26  twisti

	* autogen.sh: Check for installed programs and exit if no proper one
	was found.
	* src/boehm-gc/autogen.sh: Use the programs found by top-level
	autogen.

2006-03-08 09:44  twisti

	* src/native/jni.c (PushLocalFrame): Implemented.
	(PopLocalFrame): Likewise.
	(DeleteLocalRef): Walk through all local frames.
	(NewLocalRef): Allocate a new local frame if the current frame is out
	of space.
	(EnsureLocalCapacity): Implemented.
	* src/vm/jit/codegen-common.c (codegen_finish_native_call): Release
	all local reference frames.

2006-03-07 20:44  twisti

	* src/native/vm/VMClassLoader.c (nativeGetResources): Check if
	resource is a directory and don't add it.

2006-03-07 19:32  twisti

	* src/vm/vm.c (usage): Small change.
	
	* src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to
	$JAVA_HOME/jre/lib/ext.

2006-03-07 18:18  twisti

	* src/cacaoh/headers.c (intrp_main_stack): Changed type.

2006-03-07 17:21  twisti

	test

2006-03-07 17:19  twisti

	test

2006-03-07 10:48  twisti

	* src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
	(CallBooleanMethodA): Implemented.

2006-03-07 10:36  twisti

	* src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException):
	Added.
	* src/vm/stringlocal.h: Likewise.
	
	* src/vm/exceptions.c
	(exceptions_new_stringindexoutofboundsexception): New function.
	(exceptions_throw_stringindexoutofboundsexception): Likewise.
	* src/vm/exceptions.h: Likewise.
	
	* src/native/jni.c (GetStringRegion): Implemented.

2006-03-07 09:40  twisti

	* src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
	* src/vm/vm.h (_Jv_jvm): Added.
	
	* src/native/jni.c (ptr_jvm): Removed.
	(ptr_env): Likewise.
	(CallStaticObjectMethodA): Implemented.
	(GetJavaVM): Return _Jv_jvm as vm.
	(AttachCurrentThread): Return _Jv_env as env.
	(GetEnv): Likewise.
	(JNI_JavaVMTable): Renamed to _Jv_JNIInvokeInterface.
	(JNI_JNIEnvTable): Renamed to _Jv_JNINativeInterface.
	(JNI_CreateJavaVM): Allocate a _Jv_JavaVM structure and set it up
	correctly, this fixes the usage in C++ programs.
	* src/native/jni.h (_Jv_JavaVM): Added.
	
	* src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to
	_Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface.

2006-03-06 18:45  christian

	* src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.

2006-03-06 13:03  twisti

	* src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as
	* this makes problems on darwin and actually we do not need to link
	* the configured libraries into convenience libraries.
	* src/vm/jit/powerpc/darwin/Makefile.am: Likewise.
	* src/vm/jit/powerpc/Makefile.am: Likewise.
	* src/vm/jit/alpha/linux/Makefile.am: Likewise.
	* src/vm/jit/alpha/Makefile.am: Likewise.
	* src/vm/jit/alpha/freebsd/Makefile.am: Likewise.
	* src/vm/jit/tools/Makefile.am: Likewise.
	* src/vm/jit/verify/Makefile.am: Likewise.
	* src/vm/jit/mips/linux/Makefile.am: Likewise.
	* src/vm/jit/mips/Makefile.am: Likewise.
	* src/vm/jit/mips/irix/Makefile.am: Likewise.
	* src/vm/jit/loop/Makefile.am: Likewise.
	* src/vm/jit/inline/Makefile.am: Likewise.
	* src/vm/jit/allocator/Makefile.am: Likewise.
	* src/vm/jit/i386/linux/Makefile.am: Likewise.
	* src/vm/jit/i386/Makefile.am: Likewise.
	* src/vm/jit/i386/freebsd/Makefile.am: Likewise.
	* src/vm/jit/schedule/Makefile.am: Likewise.
	* src/vm/jit/intrp/Makefile.am: Likewise.
	* src/vm/jit/x86_64/Makefile.am: Likewise.
	* src/vm/jit/profile/Makefile.am: Likewise.
	* src/vm/jit/Makefile.am: Likewise.
	* src/vm/Makefile.am: Likewise.
	* src/native/tools/Makefile.am: Likewise.
	* src/native/vm/Makefile.am: Likewise.
	* src/native/Makefile.am: Likewise.
	* src/toolbox/Makefile.am: Likewise.
	* src/mm/Makefile.am: Likewise.
	* src/threads/native/Makefile.am: Likewise.
	* src/fdlibm/Makefile.am: Likewise.
	
	* src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.

2006-03-06 00:30  twisti

	* src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
	(asm_calljavafunction2): Renamed to asm_vm_call_method.

2006-03-05 23:53  twisti

	* src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
	(asm_calljavafunction2): Renamed to asm_vm_call_method.

2006-03-05 23:35  twisti

	* src/vm/jit/codegen-common.c (codegen_init): Removed
	asm_calljavafunction.
	* src/vm/jit/i386/asmpart.S (asm_calljavafunction): Removed.
	(asm_calljavafunction2): Renamed to asm_vm_call_method.

2006-03-05 23:24  twisti

	* src/vm/vm.c (vm_call_method_intern): Removed.
	(vm_vmargs_from_valist): Added.
	(vm_vmargs_from_jvalue): Likewise.
	(vm_call_method): New function.
	(vm_call_method_valist): Likewise.
	(vm_call_method_jvalue): Likewise.
	(vm_call_method_vmarg): Likewise.
	(vm_call_method_int): Likewise.
	(vm_call_method_int_valist): Likewise.
	(vm_call_method_int_jvalue): Likewise.
	(vm_call_method_int_vmarg): Likewise.
	(vm_call_method_long): Likewise.
	(vm_call_method_long_valist): Likewise.
	(vm_call_method_long_jvalue): Likewise.
	(vm_call_method_long_vmarg): Likewise.
	(vm_call_method_float): Likewise.
	(vm_call_method_float_valist): Likewise.
	(vm_call_method_float_jvalue): Likewise.
	(vm_call_method_float_vmarg): Likewise.
	(vm_call_method_double): Likewise.
	(vm_call_method_double_valist): Likewise.
	(vm_call_method_double_jvalue): Likewise.
	(vm_call_method_double_vmarg): Likewise.
	* src/vm/vm.h: Likewise.
	
	* src/native/jni.c (_Jv_jni_fill_vmargs_from_vargs): Removed.
	(_Jv_jni_vmargs_from_args): Likewise.
	(_Jv_jni_CallObjectMethodA): New function.
	(_Jv_jni_CallObjectMethod): Use vm_call_method.
	(_Jv_jni_CallIntMethod): Likewise.
	(_Jv_jni_CallLongMethod): Likewise.
	(_Jv_jni_CallFloatMethod): Likewise.
	(_Jv_jni_CallDoubleMethod): Likewise.
	(_Jv_jni_CallVoidMethod): Likewise.
	(_Jv_jni_CallVoidMethodA): Likewise.
	(_Jv_jni_invokeNative): Likewise.
	(CallObjectMethodA): Implemented.
	
	* src/vm/loader.c (load_class_from_sysloader): Replaced
	vm_call_method_intern by vm_call_method.
	(load_class_from_classloader): Likewise.
	* src/vm/finalizer.c (finalizer_run): Likewise.
	* src/vm/initialize.c (initialize_class_intern): Likewise.
	* src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace):
	Likewise.
	* src/vm/exceptions.c (throw_exception_exit_intern): Likewise.
	(new_arrayindexoutofboundsexception): Likewise.
	* src/vm/properties.c (properties_system_add): Likewise.
	* src/cacao/cacao.c (setup_debugger_process): Likewise.
	(getmainclassnamefromjar): Likewise.
	(main): Likewise.
	* src/native/vm/VMClassLoader.c (nativeGetResources): Likewise.
	* src/native/native.c (native_new_and_init): Likewise.
	(native_new_and_init_string): Likewise.
	(native_new_and_init_int): Likewise.
	(native_new_and_init_throwable): Likewise.
	* src/threads/native/threads.c (threads_init): Likewise.
	(threads_startup_thread): Likewise.
	* src/cacaoh/headers.c: Likewise.
	
	* src/vm/jit/x86_64/asmpart.S (asm_calljavafunction): Removed.
	(asm_calljavafunction2): Renamed to asm_vm_call_method.
	* src/vm/jit/intrp/asmpart.c: Likewise.
	* src/vm/jit/asmpart.h: Likewise.

2006-03-05 23:05  twisti

	* tests/regression/native/testarguments.c (nlsub): Use %llx on all
	architectures.
	(ndsub): Likewise.

2006-03-05 21:54  christian

	* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
	Bugfix and reformatting.

2006-03-05 15:51  twisti

	* src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
	block is now in a2. Use new defines.

2006-03-04 18:35  twisti

	* src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
	vm_arg block is now in a2. Use new defines.

2006-03-04 18:01  twisti

	* src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
	vm_arg block is now in a2. Use new defines.

2006-03-04 17:19  twisti

	* src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed.
	(ASM_CALLJAVAFUNCTION_ADR): Likewise.
	(ASM_CALLJAVAFUNCTION_INT): Likewise.
	(ASM_CALLJAVAFUNCTION2): Likewise.
	(ASM_CALLJAVAFUNCTION2_ADR): Likewise.
	(ASM_CALLJAVAFUNCTION2_INT): Likewise.
	(ASM_CALLJAVAFUNCTION2_LONG): Likewise.
	(ASM_CALLJAVAFUNCTION2_FLOAT): Likewise.
	(ASM_CALLJAVAFUNCTION2_DOUBLE): Likewise.
	(asm_calljavafunction2int): Changed signature.
	(asm_calljavafunction2long): Likewise.
	(asm_calljavafunction2float): Likewise.
	(asm_calljavafunction2double): Likewise.

2006-03-04 17:15  twisti

	* src/vm/global.h (jni_callblock): Removed.
	
	* src/vm/vm.c (vm/vm.h): Added.
	(vm_call_method_intern): New function.
	(vm_call_method_intern_int): Likewise.
	(vm_call_method): Likewise.
	(vm_call_method_int): Likewise.
	(vm_call_method_long): Likewise.
	(vm_call_method_float): Likewise.
	(vm_call_method_double): Likewise.
	* src/vm/vm.h (vm_arg): Structure added.
	(vm_call_method_intern): New function.
	(vm_call_method_intern_int): Likewise.
	(vm_call_method): Likewise.
	(vm_call_method_int): Likewise.
	(vm_call_method_long): Likewise.
	(vm_call_method_float): Likewise.
	(vm_call_method_double): Likewise.
	
	* src/vm/jit/tools/genoffsets.c (vm/vm.h): Added.
	(sizejniblock): Renamed to sizevmarg.
	(offjniitemtype): Renamed to offvmargtype.
	(offjniitem): Renamed to offvmargdata.
	* src/vm/jit/x86_64/asmpart.S (asm_calljavafunction2): Pointer to
	vm_arg block is now in a2. Use new defines.
	
	* src/vm/jit/stacktrace.c (vm/vm.h): Added.
	(ASM_CALLJAVAFUNCTION): Replaced with vm_call_method_intern.
	* src/vm/exceptions.c: Likewise.
	* src/vm/properties.c: Likewise.
	* src/vm/loader.c: Likewise.
	* src/vm/finalizer.c: Likewise.
	* src/vm/initialize.c: Likewise.
	* src/cacao/cacao.c: Likewise.
	* src/native/vm/VMClassLoader.c: Likewise.
	* src/threads/native/threads.c: Likewise.
	
	* src/cacaoh/headers.c (asm_calljavafunction): Removed.
	(intrp_asm_calljavafunction): Likewise.
	(vm_call_method_intern): New function.
	
	* src/native/jni.c (fill_callblock_from_vargs): Renamed to
	_Jv_jni_vmargs_from_vargs.
	(fill_callblock_from_objectarray): Renamed to
	_Jv_jni_vmargs_from_objectarray.
	(_Jv_jni_vmargs_from_objectarray): New function.
	(_Jv_jni_CallVoidMethodA): Likewise.
	(ASM_CALLJAVAFUNCTION2): Replaced with appropriate vm_call_method
	function.
	(NewObjectA): Implemented.
	(CallVoidMethodA): Likewise.
	(CallNonvirtualVoidMethodA): Likewise.
	(CallStaticVoidMethodA): Likewise.

2006-03-03 00:00  twisti

	* src/vm/linker.c (link_class_intern): Handle miranda methods
	properly.
	* src/vm/global.h (ACC_MIRANDA): Defined.
	* src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda
	methods.

2006-03-01 17:00  twisti

	* src/vm/options.c: Renamed runverbose to opt_verbosecall.
	* src/vm/options.h: Likewise.
	* src/vm/jit/alpha/codegen.c: Likewise.
	* src/vm/jit/i386/codegen.c: Likewise.
	* src/vm/jit/intrp/codegen.c: Likewise.
	* src/vm/jit/mips/codegen.c: Likewise.
	* src/vm/jit/powerpc/codegen.c: Likewise.
	* src/vm/jit/x86_64/codegen.c: Likewise.
	* src/vm/jit/intrp/asmpart.c: Likewise.
	* src/vm/jit/intrp/dynamic-super.c: Likewise.
	* src/vm/jit/intrp/java.vmg: Likewise.
	
	* src/vm/builtin.c (builtin_trace_exception): Renamed runverbose to
	opt_verbosecall. Removed stacktrace printing code.
	* src/vm/exceptions.c (exceptions_handle_exception): Renamed
	runverbose to opt_verbosecall. Print exception stacktrace when caught.
	
	* src/vm/vm.c: Support Sun's commandline options and ignore them if
	not supported. Reordered options.
	
	* src/native/vm/VMObject.c (notify): Removed debug output.
	(notifyAll): Likewise.
	(wait): Likewise.
	* src/native/vm/VMThread.c (suspend): Likewise.
	(resume): Likewise.
	(nativeSetPriority): Likewise.
	(nativeStop): Likewise.
	(yield): Likewise.
	
	* src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t.

2006-02-23 14:08  twisti

	* src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
	(dynamic_super_init): Added disassembling of IADD, ILOAD and
	GETFIELD_INT.

2006-02-22 14:03  twisti

	* src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
	to _no_threads_exceptionptr.

2006-02-22 13:34  twisti

	* src/vm/jit/i386/codegen.c (mm/memory.h): Added.

2006-02-21 16:17  twisti

	* configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
	Added define.
	* src/vm/vm.c (version): Print configure options, compiler version and
	CFLAGS.

2006-02-21 16:06  twisti

	* src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
	dynamic-sized array (-fomit-frame-pointer).

2006-02-21 13:43  twisti

	* src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
	(vm/vm.h): Added.
	(createnativestub): Replaced ENABLE_STATICVM with
	WITH_STATIC_CLASSPATH and &env by _Jv_env.
	
	* src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by
	WITH_STATIC_CLASSPATH.
	* src/vm/jit/intrp/java.vmg: Likewise.
	
	* src/vm/vm.c (mm/memory.h): Added.
	(vm_create): Allocate the main thread interpreter stack on the Java
	heap.

2006-02-21 13:40  twisti

	* src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
	WITH_STATIC_CLASSPATH.

2006-02-21 13:39  twisti

	* src/cacao/cacao.c (main): Added main utf variable for better
	debugability.

2006-02-21 13:37  twisti

	* src/native/native.c: Small changes.

2006-02-21 13:35  twisti

	* src/vm/loader.c (load_class_from_classloader): Added name
	java.lang.String variable for better debugability.

2006-02-21 12:41  twisti

	* src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.

2006-02-21 10:47  twisti

	* src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.

2006-02-21 10:39  twisti

	* src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
	(vm/vm.h): Added.
	(createnativestub): Replaced ENABLE_STATICVM with
	WITH_STATIC_CLASSPATH and &env by _Jv_env.

2006-02-21 10:25  twisti

	* src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
	TAGS.

2006-02-21 09:34  twisti

	* src/vm/jit/i386/asmpart.S: Rewritten for PIC code.

2006-02-21 09:31  twisti

	* src/threads/native/threads.c (vm/vm.h): Added.
	(threads_startup_thread): Compiler warning fix.

2006-02-21 09:25  twisti

	* src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed
	to stacktrace_getCurrentClass and it returns the first Java method's
	class on the stack.
	* src/vm/jit/stacktrace.h (stacktrace_getCurrentClassLoader):
	Likewise.

2006-02-21 09:18  twisti

	* src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.

2006-02-21 09:14  twisti

	* configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.

2006-02-21 09:11  twisti

	* configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
	(ifconv): Added.
	(jni.h): Check for jni.h in GNU Classpath.
	(static-classpath): Added.
	
	* src/vm/vm.c, src/vm/vm.h: New files, contain the JVM startup code.
	* src/vm/Makefile.am (libvm_la_SOURCES): Added vm.[ch].
	
	* src/cacao/cacao.c: Removed JVM startup code.
	* src/cacao/cacao.h: Removed.
	* src/cacao/Makefile.am: Replaced ENABLE_STATICVM by
	WITH_STATIC_CLASSPATH.
	(ENABLE_STATICVM): Build a shared library when not defined.
	
	* src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h):
	Added.
	(native/jni.h): Added.
	(opt_ind): Renamed to opt_index.
	(opt_jar, opt_run, opt_method, opt_signature, opt_ifconv): Added.
	(get_opt): Renamed to options_get.
	(options_prepare): New method.
	
	* src/cacaoh/cacaoh.c (main): Use new option handling.
	
	* src/vm/jit/alpha/codegen.c, src/vm/jit/arm/codegen.c,
	src/vm/jit/i386/codegen.c, src/vm/jit/mips/codegen.c,
	src/vm/jit/powerpc/codegen.c (cacao/cacao.h): Removed.
	(vm/vm.h): Added.
	(createnativestub): Replaced ENABLE_STATICVM with
	WITH_STATIC_CLASSPATH and &env by _Jv_env.
	
	* src/vm/jit/patcher.h, src/vm/jit/alpha/patcher.c,
	src/vm/jit/arm/patcher.c, src/vm/jit/i386/patcher.c,
	src/vm/jit/mips/patcher.c, src/vm/jit/powerpc/patcher.c,
	src/vm/jit/x86_64/patcher.c: Replaced ENABLE_STATICVM by
	WITH_STATIC_CLASSPATH.
	
	* src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code.
	
	* src/vm/signal.c (cacao/cacao.h): Removed.
	(vm/vm.h): Added.
	(signal_handler_sigint): Use vm_* functions.
	
	* src/native/native.c: Replaced ENABLE_STATICVM by
	WITH_STATIC_CLASSPATH.
	(cacao/cacao.h): Removed.
	(native_resolve_function): Smaller changes.
	
	* src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by
	WITH_STATIC_CLASSPATH.
	(cacao/cacao.h): Removed.
	(vm/vm.h): Added.
	(execInternal): Removed.
	(exit): Use vm_shutdown.
	
	* src/native/native.h: Replaced ENABLE_STATICVM by
	WITH_STATIC_CLASSPATH.
	* src/native/Makefile.am: Likewise.
	* src/native/vm/VMSystemProperties.c: Likewise.
	
	* src/threads/native/threads.c (cacao/cacao.h): Removed.
	
	* src/native/jni.h: Removed our JNI stuff and include GNU Classpath's.
	* src/native/jni.c: Adapt to the new jni.h header.
	(Release<type>ArrayElements): Copy correct element type.
	(Get<type>ArrayRegion): Likewise.
	(Set<type>ArrayRegion): Likewise.

2006-02-20 23:35  twisti

	* src/vm/global.h: Sorted java_<type>array definitions.

2006-02-20 23:31  twisti

	* src/vm/linker.c (link_class_intern): Comment reformatted.

2006-02-20 15:19  twisti

	* src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.

2006-02-20 14:08  twisti

	* src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.

2006-02-19 22:27  christian

	* src/vm/jit/jit.h: added define STKEEP
	
	* src/vm/jit/simplereg.c (reg_free_tmp_func): SAVEDTMP and TMPARG
	flags are not cleared anymore from Stackslots.
	(reg_alloc_dup): TEMPVARs are not reused as SAVEDVARs anymore. This
	has to be checked for conflicts.
	(reg_mark_copy): Added. TEMPVAR Destination Stackslots are marked here
	with STCOPY, if they use a duplicated register/memory location. Not
	reused register/memory locations of TEMPVAR source Stacklots are freed
	again.
	(allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new
	reg_mark_copy.

2006-02-16 19:39  christian

	* src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for
	stackslots copied by DUPx and SWAP.
	(DUP) Likewise.
	* src/vm/jit/stack.c (analyse_stack): Copy elimination and needed
	conflict resolution was implemented as
	described in the CACAO paper. As "potential exception throwing
	instruction" for now only INVOKE*s are
	regarded. Conflict resolution over DUPx and SWAP should be refined to
	be less conservative.
	* src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0
	again, since no dummy stackslot is
	needed anymore for conflict resolution with XSTORE.
	* src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused
	float and int argument registers
	for interfaces, too.
	(reg_free_temp): Regard the new stackslot flag STCOPY, before freeing
	a register/memory location.
	(reg_alloc_dup): New function to allocate, if possible, the same
	register/memory location for stackslot
	copied by DUPx and SWAP.
	(allocate_scratch_registers): The new function reg_alloc_dup is used
	now for allocation at ICMD_DUPx and
	ICMD_SWAP, if possible.
	* src/vm/jit/jit.h: Added STCOPY as stackslot flag to mark
	simultanously live stackslots with same
	register after DUPx and SWAP.
	* doc/stack.txt: Updated invariants to show the change with IINC (no
	dummy stacklot anymore).

2006-02-14 20:27  edwin

	* src/native/jni.c (_Jv_jni_invokeNative): Cleanup.
	
	* src/native/jni.c (Changes): Added my name.
	
	* src/native/jni.c (vim boilerplate): Added.

2006-02-14 20:10  edwin

	* src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance
	methods
	in the vftbl.

2006-02-14 20:09  edwin

	* src/vm/linker.c (link_class_intern): Do not override
	package-private methods
	from other packages.
	
	* src/vm/linker.c (vim boilerplate): Added.

2006-02-14 15:53  edwin

	* src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
	they are resolved to the same class.

2006-02-14 15:34  edwin

	* src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.

2006-02-14 11:01  twisti

	* configure.ac (AC_INIT): Changed version number to 0.95+cvs.
	(CFLAGS): Changed optimization back to -O0.

2006-02-14 10:30  twisti

	* ChangeLog: Updated for release 0.95.

2006-02-14 10:14  twisti

	* configure.ac: Updated version to 0.95, set optimization level to
	-O2, some indent changes.
	* ChangeLog-2005: Removed 2006 entries.

2006-02-14 01:10  twisti

	* src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
	warning.

2006-02-14 01:05  twisti

	* src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
	methodinfo pointer in the same place as in the methodheader for
	compiled methods.

2006-02-14 00:41  twisti

	* src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
	methodinfo pointer in the same place as in the methodheader for
	compiled methods.

2006-02-14 00:33  twisti

	* contrib/svn2cl.xsl: New file.
	* THIRDPARTY (contrib/svn2cl.xsl): Added copyright message.

2006-02-14 00:05  twisti

	* NEWS: Updated 0.95 release notes.

2006-02-14 00:03  twisti

	* src/vm/loader.c (load_field): Removed f->xta.
	
	* src/vm/class.h (vm/method.h): Added.
	(vm/jit/inline/sets.h): Removed.
	
	* src/vm/method.h (vm/jit/inline/parseXTA.h): Removed.
	
	* src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise.
	(fieldinfo): Removed member xta.
	
	* src/lib/Makefile.am (EXTRA_DIST): Fixed typo.

2006-02-14 00:01  twisti

	* src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c,
	src/vm/jit/inline/parseRT.c, src/vm/jit/inline/parseRTflags.h,
	src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/sets.h,
	src/vm/jit/inline/parseRTstats.h, src/vm/jit/inline/parseRT.h,
	src/vm/jit/inline/parseXTA.c, src/vm/jit/inline/parseXTA.h: Removed.

2006-02-13 23:45  twisti

	* src/vm/class.c (class_findmethod_approx): Removed.
	* src/vm/class.h (class_findmethod_approx): Likewise.
	(class_resolvemethod_approx): Likewise.

2006-02-13 23:16  edwin

	* NEWS: Added JNI method resolution fix.

2006-02-13 18:55  twisti

	* src/vm/method.c (assert.h): Added.
	(vm/linker.h): Likewise.
	(vm/jit/methodheader.h): Likewise.
	(method_vftbl_lookup): New method.
	
	* src/vm/method.h (vm/linker.h): Added.
	(method_vftbl_lookup): New method.
	
	Fixes bug #17 and #18.
	* src/native/jni.c: Complete rewrite of Call*Method code.

2006-02-13 10:53  twisti

	* src/vm/utf8.c (utf_display): Some reformatting.
	(utf_display_classname): Likewise.

2006-02-13 00:12  twisti

	* src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
	pointer in the same place as in the methodheader for compiled methods.

2006-02-12 23:43  twisti

	* src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
	(md_codegen_findmethod): Use assert's directly.
	
	* src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise.
	(md_codegen_findmethod): Likewise.
	
	* src/vm/jit/alpha/codegen.c (createcompilerstub): Store the
	methodinfo pointer in the same place as in the methodheader for
	compiled methods and pass the pointer in REG_ITMP1.
	
	* src/vm/jit/alpha/md-asm.h (mptr): Defined.
	
	* src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
	pointer is passed via itmp1. Use md_assembler_get_patch_address to
	get the patch address.
	(asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
	via itmp1.

2006-02-12 23:22  twisti

	* src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
	methodinfo pointer in the same place as in the methodheader for
	compiled methods.
	
	* src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
	pointer is passed via itmp1.
	(asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
	via itmp1.

2006-02-12 22:08  edwin

	* src/threads/native/threads.c (threads_dump): Removed unused
	variable 'ee'.

2006-02-12 21:57  edwin

	* src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
	Cast to java_lang_Class in order to avoid compiler warning.
	
	* src/native/vm/VMClass.c (Changes): Added my name.
	
	* src/native/vm/VMClass.c (vim biolerplate): Added.

2006-02-12 21:47  edwin

	* src/threads/native/threads.c (allocLockRecordSimple): Fixed
	declaration
	after code error.

2006-02-12 16:28  twisti

	* src/vm/jit/i386/codegen.c (createcompilerstub): Store the
	methodinfo* in the same place as in the methodheader for compiled
	methods.

2006-02-12 16:24  edwin

	* NEWS: Added directory check bugfix.

2006-02-12 16:10  edwin

	* NEWS: Added two bugfixes.

2006-02-12 16:02  edwin

	* src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.

2006-02-12 13:11  twisti

	* src/vm/zip.c (zip_open): Don't add directories to the zipfile
	hashtable. We use the trailing `/' to identify a directory (i hope
	that's correct).

2006-02-12 12:59  christian

	* src/vm/jit/x86_64/md-abi.c (md_param_alloc): Regard use of A0 for
	returning float values.

2006-02-12 02:18  edwin

	* src/native/vm/VMClassLoader.c (vim boilerplate): Added.

2006-02-12 02:17  edwin

	* src/vm/classcache.c (classcache_store): Made classcache_store
	idempotent.
	
	* src/native/vm/VMClassLoader.c
	(Java_java_lang_VMClassLoader_defineClass):
	Store defined class with classcache_store instead of just with
	classcache_store_defined, so it an initiating loader is recorded for
	the
	class. This should solve problems with classes that are defined
	outside
	of a loadClass context (e.g. by java.lang.reflect.Proxy).

2006-02-12 00:30  twisti

	* src/native/vm/VMClass.c (getDeclaredMethods): Set the method's class
	in java.lang.reflect.Method.
	
	* src/native/vm/Method.c (toolbox/logging.h, vm/jit/stacktrace.h):
	Removed.
	
	* src/native/vm/VMSystem.c (identityHashCode): Use casts.

2006-02-12 00:25  twisti

	* src/vm/exceptions.c, src/vm/exceptions.h
	(exceptions_throw_nosuchmethoderror): New method.

2006-02-11 21:25  christian

	* src/vm/jit/stack.h (COPY) All copied stackslots set to TEMPVAR.
	This prevents conflicts with LOCALVAR
	and
	(DUP) Likewise.
	STACKVARS.

2006-02-07 23:18  edwin

	* src/vm/jit/stack.h (TYPE_VERIFYERROR): Converted most of body to a
	function.
	
	* src/vm/exceptions.c, src/vm/exceptions.h
	(exceptions_throw_verifyerror_for_stack): Added.
	
	* src/vm/exceptions.c, src/vm/exceptions.h (vim boilerplate): Added.

2006-02-07 21:27  edwin

	* src/vm/jit/stack.h (vim boilerplate): Fixed.

2006-02-07 21:15  twisti

	* NEWS: Added some stuff.

2006-02-07 17:28  edwin

	* src/vm/jit/intrp/codegen.c (createcalljavafunction):
	Removed t_inlining_globals.

2006-02-07 17:22  edwin

	* src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
	(codegen_setup):
	Removed t_inlining_globals argument.
	
	* src/vm/jit/codegen-common.c (codegen_finish): Prepared for inlined
	line
	number tables. References with line number <-3 will not be relocated.
	
	* src/vm/jit/codegen-common.c (codegen_createnativestub):
	Removed t_inlining_globals and inlining_setup.
	
	* src/vm/jit/codegen-common.h (Changes): Added my name to 'Changes'.
	
	* src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h: Ripped out
	old
	inliner.
	
	* src/vm/jit/jit.c: Removed inlining headers.
	
	* src/vm/jit/jit.c (INLINE_GOTO): Added instruction name to table.
	
	* src/vm/jit/jit.c (jit_compile_intern): Removed t_inlining_globals
	argument.
	
	* src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h,
	src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h (vim
	boilerplate):
	Added.

2006-02-07 16:52  edwin

	* src/vm/jit/i386/codegen.c (codegen): Prepared for inlining. The
	icmds
	ICMD_INLINE_START, ICMD_INLINE_END, ICMD_INLINE_GOTO were
	implemented, and
	at the start of exception handlers the indepth is no longer assumed
	to be 1.

2006-02-07 16:47  edwin

	* src/vm/jit/jit.h (Changes): Fixed tabs.

2006-02-06 21:06  twisti

	* src/threads/native/threads.c, src/threads/native/threads.h
	(sleepThread): Renamed to thread_sleep.

2006-02-06 21:01  twisti

	* src/cacao/cacao.c (vm/jit/profile.h): Changed to
	vm/jit/profile/profile.h.
	(main): profile_init and profile_start_thread calls added.

2006-02-06 18:50  twisti

	* configure.ac (AC_CONFIG_FILES): Added src/vm/jit/profile/Makefile.

2006-02-06 18:49  twisti

	* src/vm/jit/Makefile.am (DIST_SUBDIRS): Added profile.
	(PROFILE_LIB): Added.
	(PROFILE_SOURCES): Removed.

2006-02-06 18:48  twisti

	* src/vm/jit/profile/profile.c (profile_init): New method.
	(profile_thread): Likewise.
	(profile_start_thread): Likewise.
	* src/vm/jit/profile/profile.h (profile_init): Added.
	(profile_start_thread): Likewise.
	* src/vm/jit/profile/Makefile.am: New file.
	* src/vm/jit/profile/.cvsignore: Likewise.

2006-02-06 18:34  twisti

	* src/vm/jit/profile.h: Moved to src/vm/jit/profile/.

2006-02-06 18:33  twisti

	* src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
	* src/vm/jit/profile: Added.

2006-02-06 18:32  twisti

	* src/vm/jit/profile: Ooops.

2006-02-06 18:31  twisti

	* src/vm/jit/profile.c: Moved to src/vm/jit/profile/.

2006-02-06 18:14  twisti

	* src/vm/jit/allocator/Makefile.am: Use tabs instead of space.
	(INCLUDE): Renamed to AM_CPPFLAGS.

2006-02-06 08:22  edwin

	* doc/Makefile.am (EXTRA_DIST): Added inlining_stacktrace.txt and
	native_threads.txt.

2006-02-06 06:49  edwin

	* src/threads/native/threads.c: Minor cleanup.

2006-02-06 06:46  edwin

	* src/threads/native/threads.c: Uncuddled `else`s and other cleanup.

2006-02-06 06:16  edwin

	* doc/inlining_stacktrace.txt: Clarified, added entry after the
	inlined body
	for the rest of the line after the call.

2006-02-06 05:00  edwin

	* src/vm/jit/i386/machine-instr.h (compare_and_swap): Commented.

2006-02-06 04:50  edwin

	* doc/native_threads.txt: Added.

2006-02-06 04:46  edwin

	* src/threads/native/threads.c (allocLockRecordPool): Relink the free
	list
	of lock records when reusing a pool from the global_pool. This avoids
	cross-linking of lock record owned by different threads, and hopefully
	fixes our long-standing deadlock problem.
	
	* src/threads/native/threads.c (allocLockRecordSimple,
	recycleLockRecord)
	(initObjectLock): Temporarily added assertions to shake out possible
	further bugs in the free list handling.
	
	* src/threads/native/threads.c (monitorEnter, monitorExit): Commented.
	
	* src/threads/native/threads.c (Changes): Added my name to 'Changes'.
	
	* src/threads/native/threads.c (vim boilerplate): Added.

2006-02-06 01:28  edwin

	* src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Added.
	(stacktrace_add_method): Documented. Now uses
	stacktrace_add_method_intern.
	(stacktrace_getCurrentClassLoader): Documented.
	(stacktrace_dump_trace): Removed unused variable.
	(Changes): Added my name to 'Changes'.

2006-02-06 01:08  edwin

	* src/vm/jit/verify/typecheck.c (verify_basic_block): Teach the
	verifier
	about the new inline instructions ICMD_INLINE_START, ICMD_INLINE_END,
	and ICMD_INLINE_GOTO.

2006-02-06 01:02  edwin

	* src/vm/jit/stack.c (analyse_stack): Set bptr->stack for each visited
	block.
	(show_icmd): Implemented printing of new inline instructions.

2006-02-06 00:02  edwin

	* src/vm/jit/allocator/simplereg.c (ICMD_INLINE_GOTO): Added.
	(Changes): Added my name to 'Changes'.
	(vim boilerplate): Added.

2006-02-05 23:34  edwin

	* src/vm/jit/allocator/lsra.c, src/vm/jit/allocator/lsra.h (lsra,
	lsra_init):
	Removed t_inlining_globals argument.
	(Changes): Added my name to 'Changes'.
	(vim boilerplate): Added.
	
	* src/vm/jit/jit.c (lsra): Removed t_inlining_globals argument.

2006-02-05 23:24  edwin

	* src/vm/jit/jit.c (reg_setup): Removed t_inlining_globals argument.
	
	* src/vm/jit/codegen-common.c (reg_setup): Removed t_inlining_globals
	argument.
	
	* src/vm/jit/reg.c, src/vm/jit/reg.h (reg_setup): Removed
	t_inlining_globals
	argument.
	(Changes): Added my name to 'Changes'.
	(vim boilerplate): Added.

2006-02-05 23:09  edwin

	* src/vm/jit/jit.h (Changes): Added my name to 'Changes'.

2006-02-05 23:07  edwin

	* src/vm/jit/jit.h (ICMD_INLINE_GOTO): Added. Not used, yet.
	
	* src/vm/jit/jit.h (basicblock): Added 'stack' field. Not used, yet.
	
	* src/vm/jit/jit.h, src/vm/jit/jit.c (vim boilerplate): Added.

2006-02-05 23:02  edwin

	* src/vm/jit/parse.c (parseRT.h, parseXTA.h, inline.h,
	parseRTprint.h):
	No longer included.
	(parse): Removed t_inlining_globals * from arguments.
	
	* src/vm/jit/jit.c (parse): Removed t_inlining_globals * from
	arguments.

2006-02-05 22:47  edwin

	* src/vm/jit/parse.c, src/vm/jit/parse.h (inline_env): Removed most
	occurences.
	(bound_check1): Renamed to bound_check_exclusive.

2006-02-05 22:22  edwin

	* src/vm/jit/parse.c (useinlining): Removed.

2006-02-05 17:36  edwin

	* doc/inlining_stacktrace.txt: Added warning about signedness.
	Fixed copy&paste errors.

2006-02-05 15:26  edwin

	* doc/inlining_stacktrace.txt: Added.
	
	* src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Added.
	(dseg_addlinenumber_inline_end): Added.
	(dseg_addlinenumber): Commented.
	(vim boilerplate): Added.
	
	* src/vm/jit/dseg.h (linenumberref): Changed for inlining stacktraces.
	Made targetmpc a ptrint, made linenumber s4, reordered fields.
	(dseg_addlinenumber_inline_start): Added.
	(dseg_addlinenumber_inline_end): Added.
	(vim boilerplate): Added.

2006-02-05 13:52  stefan

	* src/threads/native/threads.h: waiting is correctly typed now
	(previous checkin was wrong).

2006-02-05 13:39  stefan

	* src/threads/native/threads.c: Let's see if this improves the dead
	lock situation (waiter handling changed slightly).

2006-02-05 12:22  twisti

	* tests/regression/native/.cvsignore (*.h, *.so): Added.

2006-02-05 12:20  twisti

	* tests/regression/native/Makefile.am,
	tests/regression/codepatching/Makefile.am,
	tests/regression/Makefile.am (JAVAFLAGS): Use VM_ZIP_STRING and
	GLIBJ_ZIP_STRING.

2006-02-05 12:03  twisti

	* src/vm/jit/powerpc/asmpart.S, src/vm/jit/alpha/asmpart.S,
	src/vm/jit/mips/asmpart.S, src/vm/jit/i386/asmpart.S,
	src/vm/jit/x86_64/asmpart.S, src/vm/jit/arm/asmpart.S: Disable
	executable stacks, this is required for Gentoo and we actually don't
	need them.

2006-02-05 00:40  twisti

	* src/vm/jit/stacktrace.c (stacktrace_create): Get the value of
	_no_threads_stackframeinfo, since it's a pointer, not a structure.
	(stacktrace_print_trace): Check for NULL value and return.
	* src/vm/exceptions.c (exceptions_handle_exception): Compiler warning
	fixed.
	(exceptions_print_exception): Check for NULL value, print it and
	return.

2006-02-05 00:16  twisti

	* src/mm/memory.h (string.h): Moved after config.h.
	(OFFSET): Use internal datatypes.
	(NEW, MNEW): Use the proper GC macro when Gc is disabled.

2006-02-05 00:13  twisti

	* src/mm/nogc.c (config.h): Moved in front of system headers.
	(heap_allocate): Call exceptions_throw_outofmemory_exit.
	(nogc_init): Likewise.

2006-02-05 00:01  twisti

	* src/threads/none/: New.
	* src/threads/none/threads.h: New file. We need this one for
	e.g. stacktrace.c where we use thread stuff in the code.

2006-02-04 23:59  twisti

	* src/vm/access.c (assert.h): Move after config.h.
	* src/vm/properties.c (mm/memory.h): Added.
	* src/vm/jit/stacktrace.c (mm/memory.h): Likewise.
	(threads.h): Added.
	(stacktrace_create): Handle stackframeinfo when threads disabled
	properly.

2006-02-04 23:56  twisti

	* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
	Generate an exception instead of exiting.
	* src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates):
	Likewise.

2006-02-04 20:15  twisti

	* src/vm/jit/stacktrace.h (stacktrace_getCallingClassLoader): Renamed
	to stacktrace_getCurrentClassLoader.
	
	* src/cacaoh/headers.c (nativelyoverloaded): Fixed compiler warning.

2006-02-04 19:09  twisti

	* src/native/native.c (native_resolve_function): Print failed is the
	symbol was not found.

2006-02-04 19:08  twisti

	* src/vm/jit/stacktrace.h (STACKTRACE_CAPACITY_DEFAULT)
	(STACKTRACE_CAPACITY_INCREMENT): Changed default from 40 to 80, seems
	this is what eclipse and tomcat want.
	(stacktracebuffer): Changed entries from an array to a pointer.

2006-02-04 19:04  twisti

	* src/vm/jit/stacktrace.c (stacktrace_add_entry): Reallocate to
	stb->entries.
	(stacktrace_create): Do two dump and heap allocs, does not affect
	performance.
	(stacktrace_getCallingClassLoader): Renamed to
	stacktrace_getCurrentClassLoader.
	
	* src/native/jni.c (FindClass): Renamed
	stacktrace_getCallingClassLoader to stacktrace_getCurrentClassLoader.
	
	* src/native/vm/VMStackWalker.c (getCallingClassLoader): Revert to old
	implementation.

2006-02-04 17:39  edwin

	* doc/stack.txt: Typos fixed.

2006-02-04 17:31  edwin

	* doc/stack.txt: Expanded tabs.
	* doc/Makefile.am (stack.txt): Added EXTRA_DIST entry for stack.txt.

2006-02-04 17:25  edwin

	* doc/stack.txt: Added. This file describes some details about the
	stack representation.

2006-02-04 00:43  twisti

	* src/native/Makefile.am (CLEANFILES): Always clean nativetable.inc.
	($(srcdir)/native.c): Moved inside if ENABLE_STATICVM where it
	belongs! Dammit!

2006-02-04 00:33  twisti

	* src/native/Makefile.am: Accidentally moved the library into if
	ENABLE_STATICVM.
	* src/native/include/Makefile.am: Enable accidentally removed
	dependencies.

2006-02-04 00:13  edwin

	* src/vm/jit/verify/typecheck.c (logging): Adapted to new logging API.

2006-02-04 00:08  edwin

	* src/vm/jit/stack.h (MARKREACHED): Use BBREACHED for readability.
	(vim boilerplate): Added.

2006-02-04 00:04  edwin

	* src/vm/method.h (methodinfo): Fixed copy&paste error in comment.
	(vim boilerplate): Added.

2006-02-04 00:00  edwin

	* src/vm/jit/stacktrace.c (vim boilerplate): Added.

2006-02-03 22:57  twisti

	* configure.ac (VM_ZIP_STRING): Added.
	(GLIBJZ): Renamed to GLIBJ_ZIP_STRING.
	* src/vm/global.h (CACAO_VM_ZIP_PATH): Use GLIBJ_ZIP_STRING.
	* src/lib/Makefile.am (GLIBJ_ZIP): Likewise.
	* src/native/include/Makefile.am, src/native/Makefile.am (VM_ZIP): Use
	VM_ZIP_STRING.
	(GLIBJ_ZIP): Use GLIBJ_ZIP_STRING.
	* contrib/setenvinstalled.in, contrib/setenvsource.in: Likewise.

2006-02-03 22:53  twisti

	* src/native/vm/VMRuntime.c (nativeLoad): #ifdef ENABLE_STATICVM
	warning fix.

2006-02-03 22:24  twisti

	* src/vm/global.h (CACAO_VM_ZIP_PATH): Removed accidentally commited
	VM_ZIP_FILE.
	* src/native/Makefile.am (VM_ZIP): Likewise.
	* src/native/include/Makefile.am (VM_ZIP): Likewise.

2006-02-03 22:03  twisti

	* src/vm/global.h (CACAO_VM_ZIP_PATH): Set correctly for ifndef
	ENABLE_ZLIB.
	* src/lib/Makefile.am (JAVA_VM_FILES): Renamed to VM_JAVA_FILES.
	(VM_CLASS_FILES): Added.
	(pkgdata_DATA): Set to class files for ifndef ENABLE_ZLIB.
	* src/native/include/Makefile.am (VM_ZIP): Set correctly for ifndef
	ENABLE_ZLIB.
	* src/native/Makefile.am (VM_ZIP): Likewise.

2006-02-03 21:58  twisti

	* src/vm/suck.c (suck_add): Fixed compiler warning with #ifndef
	ENABLE_ZLIB.

2006-02-03 21:51  twisti

	* src/native/tools/.cvsignore (TAGS): Added.

2006-02-03 20:54  twisti

	* src/native/Makefile.am (VM_ZIP, GLIBJ_ZIP, CLASSPATH): Added.

2006-02-03 20:53  twisti

	* src/native/tools/gennativetable.c (main): Don't free bootclasspath,
	do proper initalization of subsystems, don't link classes.

2006-02-03 19:44  twisti

	* src/native/Makefile.am (nativetable.inc): Pass classpath on
	commandline, environment variable support was removed.

2006-02-03 19:42  twisti

	* src/native/tools/gennativetable.c: Updated to work again.

2006-02-03 19:27  twisti

	* src/cacao/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
	(CLASSPATH_PREFIX): Renamed to CLASSPATH_LIBDIR.

2006-02-03 18:45  twisti

	* configure.ac (ENABLE_SOFTFLOAT): Added.
	(NDEBUG): Bugfix for AM_CONDITIONAL.

2006-02-03 14:14  twisti

	* src/vm/jit/stacktrace.c (stacktrace_entry): Wrong return value,
	added some checks.

2006-02-03 13:19  twisti

	* src/vm/jit/stacktrace.c, src/vm/jit/stacktrace.h
	(lineNumberTableEntry): Renamed to linenumbertable_entry.
	(addEntry): Renamed to stacktrace_add_entry.
	(stacktrace_fillInStackTrace_methodRecursive): Removed.
	(stacktrace_fillInStackTrace_method): Renamed to
	stacktrace_add_method.
	(cacao_stacktrace_fillInStackTrace): Renamed to stacktrace_create.
	(stackTraceCollector): Removed.
	(cacao_stacktrace_NormalTrace): Renamed to
	stacktrace_fillInStackTrace.
	(classContextCollector): Removed.
	(cacao_createClassContextArray): Renamed to
	stacktrace_getClassContext.
	(stacktrace_classLoaderCollector): Removed.
	(cacao_currentClassLoader): Renamed to
	stacktrace_getCallingClassLoader.
	(getStackCollector): Removed.
	(cacao_getStackForVMAccessController): Renamed to stacktrace_getStack.
	
	* src/native/jni.c (jni_init): Use new GCNEW.
	(FindClass): Renamed cacao_currentClassLoader to
	stacktrace_getCallingClassLoader.
	
	* src/native/vm/VMAccessController.c (getStack): Renamed
	cacao_getStackForVMAccessController to stacktrace_getStack.
	
	* src/native/vm/VMStackWalker.c (getClassContext): Renamed
	cacao_createClassContextArray to stacktrace_getClassContext.
	(getCallingClass): Likewise.
	(getCallingClassLoader): Call stacktrace_getCallingClassLoader.
	
	* src/native/vm/Method.c (config.h): Added.
	(invokeNative): Renamed cacao_createClassContextArray to
	stacktrace_getClassContext.
	
	* src/native/vm/Field.c (config.h): Added.
	(cacao_get_field_address): Renamed cacao_createClassContextArray to
	stacktrace_getClassContext. Check for CLASS_INITIALIZED.
	
	* src/native/vm/VMThrowable.c
	(native/include/gnu_classpath_Pointer.h): Added.
	(fillInStackTrace): Call stacktrace_fillInStackTrace.
	(getStackTrace): Adapted.
	
	* src/mm/memory.h (GCNEW): Use only 1 parameter, like NEW.
	(GCMNEW): Added.

2006-02-03 12:46  twisti

	* src/threads/native/threads.h (THREADOBJECT): Don't cast to
	java_lang_VMThread*, we don't need that.

2006-02-03 12:38  twisti

	* src/vm/method.c (method_printflags, method_print): Check for NULL.
	* src/vm/field.c (field_printflags, field_print) Likewise.
	(stdio.h): Added.
	* src/vm/class.c (class_printflags, class_print): Likewise.

2006-02-02 09:16  twisti

	* configure.ac (AC_PROG_JAR): Added.
	* m4/ac_prog_jar.m4: New file.
	* src/lib/Makefile.am (VM_ZIP): Added.
	(vm.zip): Check if $(JAR) is zip or jar type.

2006-02-02 08:51  twisti

	* src/vm/loader.c (loader_load_all_classes): Added missing #ifde
	ENABLE_ZLIB.

2006-02-02 08:45  twisti

	* configure.ac (NDEBUG): Added missing WITH_BINUTILS_DISASSEMBLER
	conditional.
	(zlib): Fixed handling.

2006-01-31 23:54  twisti

	* src/vm/jit/i386/codegen.c (codegen): Added basic block frequency
	count code.

2006-01-31 23:45  twisti

	* src/vm/jit/profile.c ("mm/memory.h,vm/options.h): Added.
	(list_method_entry): Likewise.
	(profile_printstats): Sort methods into a list and print it sorted,
	added basic block frequency output.

2006-01-31 23:43  twisti

	* src/vm/method.h (methodinfo): Renamed executioncount to
	frequency. Added bbfrequency and cycles.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Added cycle profiling code.
	
	* src/vm/jit/x86_64/codegen.h (M_FMOV): Added.
	(M_IADD_MEMBASE, M_IADC_MEMBASE, M_ISUB_MEMBASE, M_ISBB_MEMBASE):
	Likewise.
	(M_RDTSC, PROFILE_CYCLE_START, PROFILE_CYCLE_STOP): Likewise.
	
	* src/vm/jit/x86_64/emitfuncs.c (x86_64_inc_membase)
	(x86_64_incl_membase): Fixed.
	(emit_rdtsc): Added.
	
	* src/vm/jit/jit.c (jit_compile): Free m->bbfrequency memory.
	(jit_compile_intern): Allocate m->bbfrequency memory.
	
	* src/vm/jit/jit.h: Reformatting.

2006-01-31 23:29  twisti

	* src/vm/statistics.c, src/vm/jit/inline/inline.c: Removed inlining
	statistics stuff.

2006-01-31 23:27  twisti

	* src/vm/options.c, src/vm/options.h (opt_rt, opt_xta, opt_vta):
	Removed.
	(opt_prof_bb): Added.
	* src/cacao/cacao.c: Likewise.
	(OPT_PROF_OPTION): Added.

2006-01-31 22:31  twisti

	* src/vm/jit/stack.c (show_icmd_block): Print the basic block type.

2006-01-31 22:27  twisti

	* src/toolbox/list.c, src/toolbox/list.h (list_add_before): Added.

2006-01-31 15:41  twisti

	* src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
	src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen): Use
	CLASS_IS_OR_ALMOST_INITIALIZED macro, saves some code space.

2006-01-31 15:35  twisti

	Fixes Debian bug #350729
	* src/vm/jit/i386/asmpart.S (asm_md_init): Added, puts the FPU to
	64-bit precision mode.
	* src/vm/jit/i386/md.c (md_init): Call asm_md_init.
	
	* src/vm/jit/asmpart.h (asm_md_init): Added.
	(has_no_x_instr_set): Removed.
	* src/vm/options.c, src/vm/options.h (has_ext_instr_set): Removed.
	* src/vm/jit/jit.c (jit_init): Removed has_no_x_instr_set call.
	* src/vm/jit/alpha/asmpart.S (has_no_x_instr_set): Renamed to
	asm_md_init.
	* src/vm/jit/alpha/md.c (has_ext_instr_set): Added.
	(md_init): Call asm_md_init.
	* src/vm/jit/alpha/md.h (has_ext_instr_set): Added.

2006-01-31 15:18  edwin

	* src/vm/classcache.c: Added a formal description of the classcache.

2006-01-31 14:24  twisti

	* src/vm/signal.c (signal_handler_sigint): Typo, reported by Chris
	Burdess on irc.

2006-01-30 16:25  twisti

	* src/vm/jit/i386/codegen.c (codegen): Added profiling code.
	(ICMD_IINC): Use macros.
	* src/vm/jit/i386/codegen.h (ucontext.h): Removed.
	(thread_restartcriticalsection): Likewise.
	(M_IADD_IMM_MEMBASE): Added.

2006-01-30 15:44  twisti

	* src/vm/options.h, src/vm/options.c (opt_prof): Added.
	* src/cacao/cacao.c (OPT_PROF): Added.
	(exit_handler): Added profile_printstats when opt_prof is enabled.
	
	* src/vm/class.h (classinfo): Members classUsed and impldBy removed.
	* src/vm/loader.c (load_class_from_classbuffer): Likewise.
	* src/vm/linker.c (link_primitivetype_table): Likewise.
	(link_class_intern): Likewise.
	* src/vm/jit/inline/inline.c: Likewise.
	
	* src/vm/method.h (methodinfo): Added member executioncount.
	
	* src/vm/jit/x86_64/codegen.c (codegen): Added profiling code. Some
	code reordering, using more macros and save some code space.
	* src/vm/jit/x86_64/codegen.h (M_ILD32, M_LLD32, M_IST_IMM, M_IST32)
	(M_LST32, M_IST32_IMM, M_LST32_IMM32, M_IINC_MEMBASE, M_ITEST)
	(M_CMP_IMM_MEMBASE, M_ICMP, M_ICMP_IMM, M_ICMP_IMM_MEMBASE, M_CMOVEQ)
	(M_CMOVNE, M_CMOVLT, M_CMOVLE, M_CMOVGE, M_CMOVGT, M_CMOVB, M_CMOVA)
	(M_CMOVP, M_CLR): Added.
	
	* src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ifcc): Use macros.
	(x86_64_call_mem): Changed mem argument to ptrint type.
	* src/vm/jit/x86_64/emitfuncs.h (x86_64_call_mem): Likewise.
	
	* src/vm/jit/profile.c, src/vm/jit/profile.h: New files.
	* src/vm/jit/Makefile.am (DISASS_OBJ): Renamed to DISASS_SOURCES.
	(PROFILE_SOURCES): Added.

2006-01-30 14:24  christian

	* src/vm/jit/allocator/simplereg.c (interface_regalloc): Used
	m->parseddesc->arg[int|flt|adr]reguse to enable use of unused
	argumentregisters in leadmethods.
	(local_regalloc): Likewise.
	(reg_init_temp): Likewise.

2006-01-30 11:26  christian

	* src/vm/jit/allocator/simplereg.c: Ensured proper alignment of all
	doubles and longs if ALIGN_[DOUBLES|LONGS]_IN_MEMORY is defined.
	(local_regalloc): Fixed error for HAS_ADREDD_REGISTER_FILE - else was
	missing. Ensured use of unused argument register in leafmethod before
	use of saved registers. Regarded PACK_REGS for
	SUPPORT_COMBINE_INTEGER_REGISTER archs for unused integer argument
	registers.
	* src/vm/jit/i386/arch.h: Added defines for
	ALIGN_[DOUBLES|LONGS]_IN_MEMORY.
	* src/vm/jit/powerpc/arch.h: Likewise.

2006-01-29 17:27  twisti

	* src/vm/jit/stack.c (show_icmd): Fixed ICMD_ELSE_ICONST output.

2006-01-28 14:42  twisti

	* src/vm/jit/powerpc/linux/md-abi.c,
	src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
	m->parseddesc->paramcount instead of m->paramcount.
	* src/vm/jit/schedule/schedule.c (schedule_init): Likewise.
	
	* src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
	src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen):
	Removed first MCODECHECK since it not required.
	
	* src/vm/jit/methodheader.h: Added comment.

2006-01-28 14:25  twisti

	* src/vm/jit/x86_64/.cvsignore: Added TAGS.

2006-01-28 14:21  twisti

	* src/vm/loader.c (load_method): Removed reference to
	nativelyoverloaded, monoPoly, subRedefs, subRedefsUsed, xta.
	(load_newly_created_array): Removed reference to monoPoly.

2006-01-28 14:18  twisti

	* src/vm/method.c (method_descriptor2types): Removed.
	* src/vm/method.h (methodinfo): Removed members returntype,
	returnclass, paramcount, paramtypes, paramclass, xta, methodXTAparsed,
	methodUsed, monoPoly, subRedefs, subRedefsUsed, and
	nativelyoverloaded, this saves about 3.2MB of classinfo memory for
	-all.
	(method_descriptor2types): Removed.
	
	* src/vm/jit/inline/inline.c (inlining_analyse_method): Use
	m->parseddesc->paramcount instead of m->paramcount.
	* src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
	* src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
	
	* src/vm/jit/jit.c (jit_compile): Removed RT_jit_parse and
	XTA_jit_parse calls.
	(jit_compile_intern): Removed method_descriptor2types call.
	
	* src/cacaoh/cacaoh.c (main): Call string_init. Removed
	nativemethod_chain and nativeclass_chain stuff.
	
	* src/cacaoh/headers.c (nativemethod_chain): Removed.
	(nativeclass_chain): Likewise.
	(printmethod): Use m->isleafmethod instead of m->nativelyoverloaded.
	(headerfile_generate): Likewise.

2006-01-28 11:26  twisti

	* src/vm/jit/inline/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
	(libinline_la_SOURCES): Don't build RTA/XTA stuff.

2006-01-28 11:24  twisti

	* Makefile.am (EXTRA_DIST): Added THIRDPARTY.

2006-01-27 19:05  stefan

	* src/threads/native/threads.c: Removed a superfluous (I hope) NULL
	check.

2006-01-27 18:53  stefan

	* src/threads/native/threads.c: Repaired thread_getself.

2006-01-27 17:35  twisti

	* src/toolbox/logging.c, src/toolbox/logging.h (log_start): Added.
	(log_vprint): Likewise.
	(log_print): Likewise.
	(log_println): Likewise.
	(log_finish): Likewise.
	(log_plain): Removed.
	(log_nl): Removed.
	(log_flush): Likewise.
	(dolog_plain): Likewise.
	(get_logfile): Likewise.
	(log_utf): Likewise.
	(log_plain_utf): Likewise.
	(log_text): Removed but added a define until we have ported all files.
	(dolog): Likewise.
	* src/vm/statistics.c (print_stats): Started to use new logging
	functions. Print some ratios.

2006-01-27 16:32  twisti

	* src/native/vm/VMSystemProperties.c (preInit): Don't add . to
	java.library.path per default.

2006-01-27 12:43  twisti

	* NEWS: Added powerpc fixes found by javver.

2006-01-24 19:09  twisti

	* src/vm/jit/powerpc/codegen.h (var_to_reg_dbl): Added.
	(M_COPY): Handle doubles properly.

2006-01-24 13:52  twisti

	* src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Added.
	(var_to_reg_lng): Likewise.
	(M_COPY): Support longs. This was actually never implemented and never
	worked, grrr.

2006-01-24 10:30  twisti

	* src/vm/jit/stacktrace.c (cacao_stacktrace_fillInStackTrace): Use
	method_print. Fixed typo.
	* src/vm/jit/powerpc/md.c (md_codegen_findmethod): Handle 2
	instruction returns properly.

2006-01-24 10:28  twisti

	* src/vm/builtin.c (builtin_f2i): Enable for interpreter.
	(builtin_d2i): Likewise.
	* src/vm/jit/stack.c (icmd_print_stack): Fixed for ENABLE_INTRP and
	SUPPORT_COMBINE_INTEGER_REGISTERS.

2006-01-23 16:03  twisti

	* src/vm/jit/stack.c (show_icmd_method): Fixed basic block count
	output.
	
	* src/vm/jit/i386/codegen.c (codegen): Use disp instead of a. Usage of
	some more macros.
	* src/vm/jit/i386/codegen.h (M_BLT): Added.
	(M_BLE): Likewise.
	(M_BGE): Likewise.
	(M_BGT): Likewise.
	(M_BBE): Likewise.
	(M_BAE): Likewise.

2006-01-23 01:12  twisti

	* configure.ac (AC_INIT): Changed version number to 0.94+cvs.
	(CFLAGS): Changed optimization back to -O0.

2006-01-23 01:01  twisti

	* ChangeLog: Updated for 0.94 release.

2006-01-22 23:42  twisti

	* configure.ac (AC_INIT): Changed version number to 0.94.
	(CFLAGS): Changed optimization to -O2.

2006-01-22 23:33  twisti

	* Updated header: Added 2006. Changed address of FSF. Changed email
	address.

2006-01-22 23:16  twisti

	* Updated svn:ignore propset.

2006-01-22 23:00  twisti

	* src/vm/jit/intrp/Makefile.am (EXTRA_DIST): Added gray.fs and
	BUILT_SOURCES.

2006-01-22 22:46  twisti

	* tests/regression/extest.java: Typo.

2006-01-22 22:36  twisti

	* NEWS: Added releases 0.90, 0.91, 0.92, 0.93, 0.94.

2006-01-22 22:34  twisti

	* README: Updated.

2006-01-22 21:42  twisti

	* src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Revert edwin's
	bugfix, but we can't use ffi_type_slong as it's defined as 64-bit
	value on 32-bit machines.

2006-01-22 21:40  twisti

	* src/native/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
	(libnative_la_SOURCES): Removed nativecalls.inc.

2006-01-22 21:39  twisti

	* tests/Makefile.am (SUBDIRS): Removed native.

2006-01-22 21:38  twisti

	* tests/regression/native/testarguments.output: Updated.
	* tests/regression/native/Makefile.am: Made it work with distcheck.
	* tests/regression/codepatching/Makefile.am: Likewise.
	* tests/regression/Makefile.am: Likewise.
	
	* tests/regression/extest.java: Comment changed.

2006-01-22 21:22  twisti

	* configure.in: Renamed to configure.ac.

2006-01-22 21:21  twisti

	* configure.in (AC_CONFIG_FILES): Removed tests/native/Makefile, added
	tests/regression/native/Makefile.

2006-01-22 20:21  twisti

	* tests/native: Moved to tests/regression/native.

2006-01-22 20:00  twisti

	* src/vm/jit/asmpart.h (asm_handle_exception)
	(asm_handle_nat_exception): #ifdef ENABLE_JIT.

2006-01-22 19:59  twisti

	* src/vm/jit/jit.c (jit_compile_intern): Use
	CLASS_IS_OR_ALMOST_INITIALIZED to check uninitialized.

2006-01-22 19:57  twisti

	* src/vm/jit/stacktrace.c (stacktrace_create_inline_stackframeinfo):
	Compiler warning fix.

2006-01-22 19:56  twisti

	* src/vm/jit/intrp/java.vmg: Some reformatting.

2006-01-22 19:55  twisti

	* src/vm/jit/intrp/asmpart.c (vm/loader.h): Added.
	(intrp_asm_calljavafunction_intern): Use u1* instead of entrypoint.
	(jni_invoke_java_intern): Likewise.

2006-01-22 19:50  twisti

	* .cvsignore, src/toolbox/.cvsignore, src/vm/jit/inline/.cvsignore,
	src/vm/jit/allocator/.cvsignore: TAGS added.

2006-01-22 19:37  twisti

	* src/boehm-gc/.cvsignore, src/boehm-gc/include/.cvsignore,
	src/vm/.cvsignore, src/vm/jit/tools/.cvsignore,
	src/vm/jit/verify/.cvsignore, src/vm/jit/loop/.cvsignore,
	src/vm/jit/.cvsignore, src/vm/jit/intrp/.cvsignore,
	src/cacao/.cvsignore, src/native/vm/.cvsignore,
	src/native/include/.cvsignore, src/native/.cvsignore,
	src/mm/.cvsignore, src/threads/native/.cvsignore,
	src/threads/.cvsignore, src/fdlibm/.cvsignore, src/.cvsignore,
	src/cacaoh/.cvsignore: TAGS added.

2006-01-22 19:29  edwin

	* src/vm/jit/intrp/codegen.c (nativecall): Fixed calculation of the
	stackframeinfo address.

2006-01-22 14:44  twisti

	* src/vm/jit/codegen-common.c (codegen_addreference): The last fix was
	not correct if only the intrp is built.

2006-01-22 14:39  twisti

	* src/vm/class.c (class_showmethods): Use class_printflags.
	* src/vm/loader.c, src/vm/loader.h (fprintflags): Removed.
	(printflags): Likewise.
	* src/vm/jit/inline/sets.c (printFldSet): Use field_println instead of
	field_display.
	* src/vm/field.c, src/vm/field.h (field_display): Removed.
	(field_printflags): Added.
	(field_print): Likewise.
	(field_println): Likewise.

2006-01-22 00:45  edwin

	* src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Use ffi_type_sint
	for
	values of TYPE_INT. This fixes the interpreter on i386, though I'm not
	sure if it is a correct and complete solution.

2006-01-21 21:46  edwin

	* src/vm/jit/codegen-common.c (codegen_addreference): Fixed bug when
	both ENABLE_INTRP and ENABLE_JIT were defined.

2006-01-21 20:22  edwin

	* src/vm/jit/verify/typecheck.c (typestack_copy,
	typestack_separable_with)
	(typestack_separable_from, verify_basic_block): Comment-only changes.
	(verify_basic_block): Small typo fix in string.

2006-01-20 14:49  twisti

	* src/native/jni.c (fill_callblock_from_objectarray): Fixed typo.
	(jni_method_invokeNativeHelper): Major code rewrite and speed
	improvement, renamed to _Jv_jni_invokeNative.
	(cacao_jni_CallVoidMethod): Fixed interpreter bug, renamed to
	_Jv_jni_CallVoidMethod.
	(callLongMethod): Renamed to _Jv_jni_CallLongMethod.
	* src/native/jni.h (jni_method_invokeNativeHelper): Renamed to
	_Jv_jni_invokeNative.
	* src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
	Renamed jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
	* src/native/vm/Constructor.c: Updated includes.
	(Java_java_lang_reflect_Constructor_constructNative): Renamed
	jni_method_invokeNativeHelper to _Jv_jni_invokeNative.

2006-01-20 13:41  twisti

	* tests/regression/Makefile.am (EXTRA_DIST): Made it more readable.

2006-01-20 13:40  twisti

	* src/vm/jit/intrp/intrp.h (ffi.h): Removed, not required in this
	file.
	* src/vm/jit/intrp/codegen.c (nativecall): Removed unused big-endian
	code.
	* src/vm/jit/intrp/asmpart.c (asm_calljavafunction_intern): Renamed to
	intrp_asm_calljavafunction_intern, just to be sure.

2006-01-20 13:33  twisti

	* src/vm/jit/mips/irix/md-os.c (md_signal_handler_sigsegv): Missed the
	actal rename from the previous commit.

2006-01-20 13:28  twisti

	* src/vm/signal.c (vm/signallocal.h): Added.
	* src/vm/signallocal.h (md_signal_handler_sigfpe): #ifdef for i386 and
	x86_64.

2006-01-20 13:25  twisti

	* src/vm/jit/powerpc/linux/md-os.c, src/vm/jit/powerpc/darwin/md-os.c,
	src/vm/jit/alpha/linux/md-os.c, src/vm/jit/alpha/freebsd/md-os.c,
	src/vm/jit/mips/linux/md-os.c, src/vm/jit/mips/irix/md-os.c
	(signal_handler_sigsegv): Renamed to md_signal_handler_sigsegv.
	* src/vm/jit/i386/linux/md-os.c, src/vm/jit/i386/freebsd/md-os.c,
	src/vm/jit/x86_64/md.c (signal_handler_sigsegv): Renamed to
	md_signal_handler_sigsegv.
	(signal_handler_sigfpe): Renamed to md_signal_handler_sigfpe.
	* src/vm/signal.c (signal_init): Renamed signal_handler_sigsegv to
	md_signal_handler_sigsegv and signal_handler_sigfpe to
	md_signal_handler_sigfpe respectively.
	* src/vm/signallocal.h (md_signal_handler_sigsegv): Added.
	(md_signal_handler_sigfpe): Likewise.

2006-01-20 13:19  twisti

	* src/vm/jit/alpha/codegen.h (ucontext.h): Removed.
	(thread_restartcriticalsection): Removed.

2006-01-20 13:06  twisti

	* src/vm/jit/x86_64/disass.c (dis-asm.h): Added.
	(vm/global.h): Likewise.
	(mm/memory.h): Removed.

2006-01-20 13:05  twisti

	* src/vm/class.c, src/vm/class.h (class_printflags): Added.
	(class_print): Likewise.
	(class_println): Likewise.

2006-01-20 12:58  twisti

	* src/vm/jit/i386/disass.c (disassinstr): Set the read_memory_func in
	disassemble_info to disass_buffer_read_memory.
	(disassemble): Removed.

2006-01-20 12:57  twisti

	* src/vm/jit/stack.c (show_icmd_method): Print basic blocks count and
	better basic block header output.
	ICMD_MULTIANEWARRAY: Changed iptr->target and iptr->val.a value.
	ICMD_IFLE_ICONST, ICMD_ELSE_ICONST: Print values better.

2006-01-20 12:01  twisti

	* src/vm/jit/powerpc/disass.c (disassinstr): Set the read_memory_func
	in disassemble_info to disass_buffer_read_memory.
	(disassemble): Removed.

2006-01-20 11:38  twisti

	* src/vm/jit/disass-common.c, src/vm/jit/disass.h: Added
	disassemble_info and disass_initialized.
	(disassemble): Added.
	(buffer_read_memory): Renamed to disass_buffer_read_memory.
	* src/vm/jit/x86_64/disass.c (disassinstr): Set the read_memory_func
	in disassemble_info to disass_buffer_read_memory.
	(disassemble): Removed.

2006-01-20 10:15  twisti

	* regression/extest.java: Removed asmpart exceptions as they are now
	checked with codepatching.
	* regression/extest.2output: Regenerated.
	* regression/extest_clinit.java: Added.

2006-01-20 10:08  twisti

	* src/vm/jit/alpha/md.c (md_init): Moved #include and extern's to the
	top of the file, since this broke compilation on debian unstable.

2006-01-19 23:40  edwin

	* src/vm/jit/parse.h: Added vim boilerplate.

2006-01-19 23:35  edwin

	* src/vm/jit/stack.c: Added vim boilerplate.

2006-01-19 22:21  twisti

	* configure.in (AC_CONFIG_FILES): Removed tests/codepatching/Makefile
	and added tests/regression/codepatching/Makefile.
	* tests/Makefile.am (SUBDIRS): Removed codepatching.
	* tests/regression/Makefile.am (SUBDIRS) Added with codepatching.
	* tests/regression/codepatching/Makefile.am (JAVAFLAGS): Added.

2006-01-19 22:11  edwin

	* src/vm/jit/parse.c (parse): Removed inlining code.

2006-01-19 22:06  edwin

	* src/vm/options.c, src/vm/options.h (useinliningm): Removed.

2006-01-19 22:05  twisti

	* tests/codepatching: Moved to tests/regression/codepatching.

2006-01-19 21:31  edwin

	* src/vm/jit/jit.c (jit_compile): Removed the INAFTERMAIN hack.

2006-01-19 21:27  edwin

	* src/vm/jit/inline/inline.c (inlining_setup): Removed INAFTERMAIN
	hack.

2006-01-19 21:26  edwin

	* src/cacao/cacao.c (main): Disabled useinlining and useinliningm.

2006-01-19 20:56  twisti

	* src/vm/jit/intrp/codegen.c, src/vm/jit/intrp/java.vmg (FALOAD)
	(FASTORE): Added, required for big-endian machines.
	* src/vm/jit/intrp/engine.c (access_array_float): Likewise.

2006-01-19 20:53  twisti

	* src/vm/global.h (java_floatarray): Typo.

2006-01-19 20:28  edwin

	* src/vm/jit/parse.c (parse, fillextable): Removed debugging code.
	Minor cleanup.

2006-01-19 20:13  edwin

	* src/vm/jit/parse.c (parse): Removed commented out debugging code.

2006-01-19 20:03  twisti

	* src/vm/class.c (class_showmethods): Replaced method_display with
	method_println.

2006-01-19 20:00  twisti

	* src/vm/jit/inline/inline.c, src/vm/jit/inline/sets.c,
	src/vm/jit/inline/parseRTstats.c, src/vm/jit/inline/parseRT.c,
	src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/parseXTA.c:
	Replaced method_display and method_display_w_class calls with
	method_println.

2006-01-19 19:49  twisti

	* src/vm/method.c, src/vm/method.h (method_display): Removed.
	(method_display_w_class): Likewise.
	(method_printflags): Added.
	(method_print): Likewise.
	(method_println): Likewise.
	Removed. --This line, and those below, will be ignored--
	
	M method.c
	M method.h

2006-01-19 17:02  twisti

	* src/vm/jit/powerpc/linux/Makefile.am (INCLUDES): Renamed to
	AM_CPPFLAGS.
	* src/vm/jit/powerpc/Makefile.am (AM_CPPFLAGS): Added missing
	$(OS_DIR) include.

2006-01-19 16:02  twisti

	* INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
	as this is more common these days.

2006-01-19 11:58  edwin

	* alpha, mips, nat: removed obsolete directories resurrected by svn
	migration

2006-01-19 09:47  twisti

	* INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
	as this is more common these days.

2006-01-18 21:41  edwin

	* havoc.class: fix corruption by svn eol-style conversion

2006-01-18 15:43  twisti

	* AC_CHECK_HEADER: Added ansidecl.h, symcat.h, bfd.h and zconf.h.

2006-01-18 15:41  twisti

	* main: Call nogc_init for DISABLE_GC.

2006-01-17 18:51  twisti

	* Removed extern stuff that was removed from the lib.

2006-01-17 18:37  twisti

	* Updated to new classpath configure options.

2006-01-17 18:24  twisti

	* CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.

2006-01-17 17:06  twisti

	* CACAO_INSTALL_PREFIX: Renamed to CACAO_PREFIX.
	* NDEBUG: Check for libintl on cygwin and darwin.
	* --with-classpath-install-dir: Renamed to --with-classpath-prefix.
	* --with-classpath-libdir: Added to support 64-bit platforms where the
	libdir may be /usr/lib64.

2006-01-17 16:59  twisti

	* main: Removed CACAO_INSTALL_PREFIX and CLASSPATH_INSTALL_DIR since
	CACAO_VM_ZIP_PATH and CLASSPATH_GLIBJ_ZIP_PATH are now full paths.

2006-01-17 16:58  twisti

	* Java_gnu_classpath_VMSystemProperties_preInit: Renamed
	CACAO_INSTALL_PREFIX to CACAO_PREFIX.

2006-01-17 16:57  twisti

	* CACAO_VM_ZIP_PATH: Prepend CACAO_PREFIX.
	* CLASSPATH_GLIBJ_ZIP_PATH: Prepend CLASSPATH_PREFIX.
	* CLASSPATH_LIBRARY_PATH: Prepend CLASSPATH_LIBDIR.

2006-01-17 16:55  twisti

	* CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.

2006-01-17 16:53  twisti

	* Added.

2006-01-17 16:51  twisti

	* m4/as-ac-expand.m4: Added.

2006-01-16 00:07  twisti

	* jni_init: Fixed small typo.

2006-01-16 00:04  twisti

	* Java_gnu_classpath_VMSystemProperties_preInit: Use the same os.arch
	property values as SUN and others do, so we are compatible (e.g.
	jogl had
	some problems), file.encoding removed as it's set by GNU Classpath,
	hardcode values for gnu.cpu.endian.

2006-01-15 23:32  twisti

	* utf_java_nio_DirectByteBufferImpl_ReadWrite: Removed.
	* utf_gnu_classpath_Pointer{32,64}: Likewise.
	* class_java_nio_Buffer: Added, load and link this class in
	jni_init().
	* class_java_nio_DirectByteBufferImpl: Likewise.
	* NewDirectByteBuffer: Removed debug output.
	* GetDirectBufferAddress: Added instanceof check.
	* GetDirectBufferCapacity: Likewise.

2006-01-15 14:12  twisti

	* native_new_and_init: Ooops, reverting last change and added an
	explaining
	comment.

2006-01-15 13:32  twisti

	* CLASSPATH_LIBRARY_PATH, CLASSPATH_GLIBJ_ZIP_PATH: Temporary bugfix.

2006-01-15 12:28  twisti

	* native_findfunction: #ifdef ENABLE_STATICVM.
	* native_new_and_init: Fixed return value.

2006-01-15 01:56  twisti

	* math.h: Added for isnan.

2006-01-15 00:37  twisti

	* JAVAC: Removed.

2006-01-15 00:36  twisti

	* Java_gnu_classpath_VMSystemProperties_preInit: Set user.country
	instead
	of user.region, set en_US if none is defined,
	java.protocol.handler.pkgs
	removed.

2006-01-14 20:02  twisti

	* builtin_trace_args: Added callcount to verbose call output.

2006-01-14 17:19  edwin

	* src/native/vm/Method.c (invokeNative): check class access rights

2006-01-13 19:37  twisti

	* codegen_setup: #ifdef datareferences.

2006-01-13 18:51  twisti

	* This class does not differ from the GNU classpath upstream version.

2006-01-13 18:49  twisti

	* defineClassWithTransformers: Added, updated to generics version.

2006-01-13 15:29  twisti

	* codegendata: #ifdef datareferences member.
	* codegen_finish: Moved data segment reference resolving into
	dseg_resolve_datareferences.

2006-01-13 15:28  twisti

	* dseg_resolve_datareferences: Added.

2006-01-13 15:27  twisti

	* Small reformatting.

2006-01-13 10:47  twisti

	* src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}: Removed.
	* src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}: Likewise.
	* m4/{ac_prog_javac.m4,ac_prog_javac_works.m4}: Added.

2006-01-13 10:42  twisti

	* ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.

2006-01-13 10:11  twisti

	* codegen.h: Added when ENABLE_JIT defined.
	* codegen_addpatchref: Set lastmcodeptr when ENABLE_JIT is defined
	and the
	architecture requires it.

2006-01-13 10:09  twisti

	* ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.

2006-01-12 23:54  twisti

	* ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.

2006-01-12 23:33  twisti

	* arch.h: Added.
	* GC_test_and_set: Removed 64-bit version since the 32-bit seems to be
	sufficient and works.

2006-01-12 23:31  twisti

	* show_icmd: Use CLASS_IS_OR_ALMOST_INITIALIZED.
	* initialize_class: Use CLASS_IS_OR_ALMOST_INITIALIZED.

2006-01-12 23:30  twisti

	* CLASS_IS_OR_ALMOST_INITIALIZED: Added.

2006-01-12 23:27  twisti

	* GETSTATIC_FLOAT, PUTSTATIC_FLOAT, GETFIELD_FLOAT, PUTFIELD_FLOAT:
	Added.
	* PATCHER_GETSTATIC_FLOAT, PATCHER_PUTSTATIC_FLOAT,
	PATCHER_GETFIELD_FLOAT,
	PATCHER_PUTFIELD_FLOAT: Likewise.
	* TRACENATIVECALL: Removed codegen_findmethod, use methodinfo* from
	threaded code stream.
	* TRACECALL, TRACERETURN, TRACELRETURN: Likewise.

2006-01-12 23:23  twisti

	* Some 64-bit big-endian bugfixes.
	* Use CLASS_IS_OR_ALMOST_INITIALIZED macro.

2006-01-12 23:21  twisti

	* 64-bit big-endian bugfix: replace s4 with ptrint.

2006-01-12 23:10  twisti

	* Imported for the interpreter.

2006-01-12 23:09  twisti

	* Added powerpc64 target.

2006-01-12 23:08  twisti

	* intrp_disassinstr, intrp_disassemble: Added.

2006-01-12 23:07  twisti

	* vm/options.h: Added.

2006-01-12 23:05  twisti

	* config.h, vm/types.h: Added.

2006-01-12 23:03  twisti

	* Use ASM_CALLJAVAFUNCTION* macros.

2006-01-12 22:42  twisti

	* thread_addstaticcritical: Quick hack: #ifdef ENABLE_JIT
	asm_criticalsections.
	* sigsuspend_handler: Quick hack: #ifdef ENABLE_JIT
	thread_restartcriticalsection.

2006-01-12 22:41  twisti

	* vm/options.h: Added.
	* descriptor_pool_parse_method_descriptor: #ifdef ENABLE_JIT
	md_param_alloc
	call.
	* descriptor_params_from_paramtypes: Likewise.

2006-01-12 22:40  twisti

	* Fixed a lot of compiler warnings (functionptr -> u1*).

2006-01-12 22:39  twisti

	* regs: Removed.
	* disassinstr, disassemble: Prefixed with intrp_.

2006-01-12 22:38  twisti

	* ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.

2006-01-12 22:37  twisti

	* builtin_gen_table: #if function according to arch.h.
	* codegen: Prefixed with intrp_, usage of iptr->val.a and iptr->target
	changed.
	* codegen_createlinenumbertable: Renamed to
	dseg_createlinenumbertable.
	* createcompilerstub: Prefixed with intrp_.
	* createnativestub: Likewise.

2006-01-12 22:35  twisti

	* verify_multianewarray: Usage iptr->val.a and iptr->target changed.
	* JAVA_MULTIANEWARRAY: Pass c in iptr->val.a and cr in iptr->target.

2006-01-12 22:34  twisti

	* codegen_createnativestub: #ifdef ENABLE_JIT md_param_alloc call.
	* codegen_disassemble_nativestub: Use DISASSEMBLE macro.

2006-01-12 22:32  twisti

	* analyse_stack: #ifdef ENBALE_JIT md_return_alloc call.
	* icmd_print_stack: Print regs correctly for jit.
	* show_icmd_method: Likewise.

2006-01-12 21:55  twisti

	* builtintable_internal: Removed ICMD_CHECKCAST.

2006-01-12 21:39  twisti

	* Prefixed functions with intrp_.
	* md_init, md_stacktrace_get_returnaddress: Prefixed with intrp_.
	* thread_restartcriticalsection, md_param_alloc, md_return_alloc:
	Removed.

2006-01-12 21:38  twisti

	* Prefix functions with intrp_.

2006-01-12 21:37  twisti

	* Use ptrint instead of s8 in some places.

2006-01-12 21:36  twisti

	* Use DISASSINSTR macro.

2006-01-12 21:36  michi

	* Comment updated (for asm_cacheflush)

2006-01-12 21:35  twisti

	* intrp_createcompilerstub, intrp_createnativestub, intrp_codegen:
	Added.
	* codegen.h: Include only for some archs.
	* md-abi.h: Include only for arm.
	* codegen_init: Changed #ifdef to ENABLE_JIT.
	* codegen_createnativestub: Call reg_setup only for jit, #ifdef
	createnativestub to support interpreter.

2006-01-12 21:30  twisti

	* intrp_md_stacktrace_get_returnaddress: Added.
	* cacao_stacktrace_fillInStackTrace: #ifdef
	md_stacktrace_get_returnaddress
	to support interpreter.

2006-01-12 21:29  twisti

	* Seperate ENABLE_JIT and ENABLE_INTRP.

2006-01-12 21:17  twisti

	* config.h: Added.
	* intrp_patcher_get_putstatic, intrp_patcher_get_putfield,
	intrp_patcher_aconst, intrp_patcher_builtin_multianewarray,
	intrp_patcher_builtin_arraycheckcast,
	intrp_patcher_invokestatic_special,
	intrp_patcher_invokevirtual, intrp_patcher_invokeinterface,
	intrp_patcher_checkcast_instanceof, intrp_patcher_resolve_native:
	Likewise.

2006-01-12 21:16  twisti

	* jit_compile_intern: #ifdef codegen call to support interpreter, use
	DISASSEMBLE macro.

2006-01-12 21:15  twisti

	* DISASSINSTR, DISASSEMBLE: Added.

2006-01-12 21:14  twisti

	* Use ASM_CALLJAVAFUNCTION macro.

2006-01-12 21:13  twisti

	* Use ASM_CALLJAVAFUNCTION_INT macro.

2006-01-12 21:11  twisti

	* intrp_asm_calljavafunction, intrp_createcompilerstub,
	intrp_asm_getclassvalues_atomic: Added.

2006-01-12 21:08  twisti

	* Use ASM_CALLJAVAFUNCTION macros.
	* main: #ifdef md_init call to support interpreter.
	* link_class_intern: #ifdef createcompilerstub call to support
	interpreter.

2006-01-12 21:07  twisti

	* Use ASM_CALLJAVAFUNCTION macros.

2006-01-12 21:06  twisti

	* Use ASM_CALLJAVAFUNCTION_ADR macro.
	* Use ASM_CALLJAVAFUNCTION macro.

2006-01-12 21:04  twisti

	* intrp_md_init: Added.

2006-01-12 20:57  twisti

	* Check explicitly for isnan.

2006-01-12 18:25  twisti

	* print_dynamic_super_statistics: Added from intrp.

2006-01-12 18:09  michi

	* Included md-abi.h (needed for REG_SPLIT on Arm)

2006-01-12 17:52  twisti

	* We have to use a machine dependent arch.h.

2006-01-11 12:16  twisti

	* vm/jit/codegen.inc.h: Removed.
	* Fixed compiler warnings.

2006-01-11 10:35  twisti

	* ICMD_F2I, ICMD_D2I, ICMD_F2L, ICMD_D2L: #if 0.

2006-01-11 10:01  twisti

	* SUPPORT_FMOD: Removed.
	* SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
	SUPPORT_L2F,
	SUPPORT_L2D.
	* SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
	* SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.

2006-01-10 22:44  twisti

	* SUPPORT_FMOD: Removed.
	* SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
	SUPPORT_L2F,
	SUPPORT_L2D.
	* SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
	* SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.

2006-01-10 22:38  twisti

	* SUPPORT_FMOD: Removed.
	* SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
	SUPPORT_L2F,
	SUPPORT_L2D.
	* SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
	* SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.

2006-01-10 22:22  twisti

	* EXTRA_DIST: Added ChangeLog-2005.

2006-01-10 22:18  twisti

	* SUPPORT_FMOD: Removed.
	* SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
	SUPPORT_L2F,
	SUPPORT_L2D.
	* SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
	* SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.

2006-01-10 22:11  twisti

	* asm_getclassvalues_atomic: Replaced with ASM_GETCLASSVALUES_ATOMIC.
	* SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
	* SUPPORT_FICVT: Replaced with SUPPORT_F2I.
	* SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F.
	* SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.

2006-01-10 22:09  twisti

	* ASM_CALLJAVAFUNCTION, ASM_CALLJAVAFUNCTION_ADR,
	ASM_CALLJAVAFUNCTION_INT,
	ASM_CALLJAVAFUNCTION2, ASM_CALLJAVAFUNCTION2_ADR,
	ASM_CALLJAVAFUNCTION2_INT, ASM_CALLJAVAFUNCTION2_LONG,
	ASM_CALLJAVAFUNCTION2_FLOAT, ASM_CALLJAVAFUNCTION2_DOUBLE: Macros
	added,
	these macros hide the selection between jit and intrp functions.
	* ASM_GETCLASSVALUES_ATOMIC: Likewise.
	* intrp_asm_calljavafunction, intrp_asm_calljavafunction_int: Added.
	* intrp_asm_calljavafunction2, intrp_asm_calljavafunction2int,
	intrp_asm_calljavafunction2long, intrp_asm_calljavafunction2float,
	intrp_asm_calljavafunction2double: Likewise.
	* intrp_asm_getclassvalues_atomic: Likewise.

2006-01-10 21:58  twisti

	* SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
	* SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
	* SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2I, SUPPORT_F2L or
	SUPPORT_D2I,
	SUPPORT_D2L.

2006-01-10 21:11  twisti

	* exceptions_throw_negativearraysizeexception: Use
	* builtin_throw_exception: #ifndef NDEBUG.
	* builtin_trace_exception: Likewise.
	* builtin_trace_args: Likewise.
	* builtin_displaymethodstop: Likewise.
	* builtin_*: #if the function regarding the defines in arch.h.

2006-01-10 20:57  twisti

	* exceptions_throw_classformaterror,
	exceptions_throw_arrayindexoutofboundsexception,
	exceptions_throw_illegalargumentexception,
	exceptions_throw_negativearraysizeexception,
	exceptions_throw_nullpointerexception: Added.
	* exceptions_print_exception: #ifndef NDEBUG.

2006-01-10 20:56  twisti

	* exceptions_throw_classformaterror: Use this function.

2006-01-10 20:55  twisti

	* exceptions_throw_nullpointerexception: Use this function.

2006-01-10 20:50  twisti

	* exceptions_throw_nullpointerexception,
	exceptions_throw_arrayindexoutofboundsexception: Use these
	functions.

2006-01-10 20:48  twisti

	* exceptions_throw_nullpointerexception,
	exceptions_throw_illegalargumentexception: Use these functions.

2006-01-10 20:46  twisti

	* exceptions_throw_illegalargumentexception,
	exceptions_throw_negativearraysizeexception,
	exceptions_throw_arrayindexoutofboundsexception,
	exceptions_throw_nullpointerexception: Use these functions.

2006-01-10 20:44  twisti

	* exceptions_throw_classformaterror,
	exceptions_throw_negativearraysizeexception,
	exceptions_throw_nullpointerexception: Added.

2006-01-10 15:52  twisti

	* Not required anymore.

2006-01-10 15:50  twisti

	* use_class_as_object, create_property, copy_vftbl, create_methodsig:
	Removed.
	* classMeth, nativeCall, methodCall, nativeMethod, nativeCompCall,
	methodCompCall, nativeCompMethod: Likewise.
	* natcall2utf, printNativeCall, markNativeMethodsRT: Likewise.

2006-01-10 15:48  twisti

	* nativeCalls, nativeCompCalls: Removed.
	* copy_vftbl, create_methodsig: Likewise.
	* printNativeCall, printCompNativeCall, findNativeMethodCalls,
	findNativeClassCalls, utfNativeCall, natcall2utf: Likewise.

2006-01-10 10:59  twisti

	* codegen_ncode_increase: Typo.

2006-01-09 20:52  twisti

	* disass_buf: Fixed typo.

2006-01-09 20:28  twisti

	* disass_printf: Ooops, #ifdef was wrong.

2006-01-09 20:19  twisti

	* Removed, we now link against libbfd and libopcodes.
	* stdarg.h, string.h, assert.h, vm/jit/powerpc/dis-asm.h: Removed.
	* dis-asm.h, stdio.h, vm/jit/disass.h: Added.
	* myprintf, buffer_read_memory, perror_memory, generic_print_address,
	generic_symbol_at_address, bfd_getb32, bfd_getl32, sprintf_vma:
	Removed.
	* Use disass-common.c stuff.

2006-01-09 20:15  twisti

	* libarch_la_SOURCES: Removed dis-asm.h, ppc-dis.c, ppc-opc.c and
	ppc.h.

2006-01-09 19:21  twisti

	* assert.h, stdarg.h, vm/jit/x86_64/dis-asm.h: Removed.
	* stdio.h, vm/jit/disass.h: Added.
	* myprintf, buffer_read_memory, generic_symbol_at_address,
	generic_print_address, perror_memory: Likewise.
	* Use disass-common.c stuff.

2006-01-09 16:37  twisti

	* string.h, vm/jit/i386/dis-asm.h: Removed.
	* mylinebuf, mylen: Likewise.
	* myprintf, buffer_read_memory, generic_symbol_at_address,
	generic_print_address, perror_memory: Likewise.
	* Use disass-common.c stuff.

2006-01-09 16:36  twisti

	* WITH_BINUTILS_DISASSEMBLER: Added, define DISASS_OBJ.
	* noinst_LTLIBRARIES: Added DISASS_OBJ.

2006-01-09 16:30  twisti

	* This file contains the common functions required when we use the
	binutils
	disassembler.

2006-01-09 16:29  twisti

	* WITH_BINUTILS_DISASSEMBLER: Added.
	* disass_printf: Added.

2006-01-09 16:26  twisti

	* WITH_BINUTILS_DISASSEMBLER: Added.

2006-01-09 12:12  twisti

	* Removed, we now link against libbfd and libopcodes.

2006-01-09 12:10  twisti

	* libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c.

2006-01-09 10:37  twisti

	* AC_CHECK_HEADER checks for ansidecl.h, bfd.h and symcat.h removed.
	* AC_CHECK_HEADER check for dis-asm.h added.
	* AC_CHECK_LIB checks for libbfd and libopcodes added.

2006-01-09 10:35  twisti

	* Removed, we now link against libbfd and libopcodes.
	* libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c, we now link
	against
	libbfd and libopcodes.

2006-01-08 23:37  twisti

	* Updated from GNU Classpath:
	
	2005-12-17 Guilhem Lavaux <guilhem@kaffe.org>
	
	* native/fdlibm/fdlibm.h
	(isnan): Define explicitly isnan if it is not a macro.

2006-01-08 23:00  twisti

	* loader_load_all_classes: Print exception when loading failed.

2006-01-08 22:38  twisti

	* SUCK_xx_xx: We can only optimize little endian loads on i386 and
	x86_64
	machines. All others have problems with alignment.

2006-01-08 22:12  twisti

	* Ignore *.class files.

2006-01-08 22:11  twisti

	* java-assert.h: Unused, removed.

2006-01-08 22:01  twisti

	* Added VM interface change to be consistent:
	
	2005-11-13 Archie Cobbs <archie@dellroad.org>
	
	* vm/reference/gnu/classpath/VMStackWalker.java (getClassLoader()):
	added to fix an infinite loop bug.
	* NEWS: note VM interface change.

2006-01-08 21:32  twisti

	* suck_add: Check for lce != NULL before adding it to the list, since
	zip_open can return NULL.

2006-01-08 19:14  twisti

	* JAVAC: Removed.

2006-01-08 19:13  twisti

	* SOURCE_FILES: Added.
	* JAVAC: Removed.
	* checkall: Renamed to check.

2006-01-08 19:12  twisti

	* Use $(mkdir_p), $(JAVAC) and $(ZIP) variables.

2006-01-08 19:11  twisti

	* AM_PROG_MKDIR_P: Added.
	* Added headers checks for ansidecl.h, bfd.h, and symcat.h if we have
	debugging enabled.
	* AC_PROG_JAVAC: Added.
	* AC_PATH_PROG: Added check for zip.

2006-01-08 19:09  twisti

	* Macros to check for a Java compiler, taken from
	http://ac-archive.sourceforge.net/.

2006-01-04 09:35  twisti

	* Removed src/toolbox/avl.[ch] copyright.

2006-01-04 09:34  twisti

	* avl_dump: Only print node->data.

2006-01-03 23:46  twisti

	* Use new avl tree code.
	* Rewritten.

2006-01-03 23:44  twisti

	* exit_handler: Removed print_dynamic_super_statistics.
	* print_stats: Added print_dynamic_super_statistics.

2006-01-03 23:43  twisti

	* threads.h: Added.
	* builtin.h: Likewise.

2006-01-03 23:08  twisti

	* CallNonvirtualBooleanMethodA: Added missing ;.

2006-01-03 23:05  twisti

	* ENABLE_STATISTICS: Fixed typo.

2006-01-02 21:01  christian

	typeing error

2006-01-02 17:13  twisti

	* nregdescint, nregdescfloat: Moved to md-abi.c.

2006-01-02 17:12  twisti

	* nregdescint, nregdescfloat: Added.

2006-01-02 17:11  twisti

	* noinst_HEADERS: Removed md-abi.inc.

2006-01-02 16:40  twisti

	* signal_handler_sigsegv: Replaced functionptr with u1*.

2006-01-02 16:18  twisti

	* nregdescint, nregdescfloat: Moved to md-abi.c.

2006-01-02 16:17  twisti

	* nregdescint, nregdescfloat: Added.
	* noinst_HEADERS: Removed md-abi.inc.

2006-01-02 16:12  twisti

	* INCLUDES: Added OS_DIR, some archs have their md-abi.* files in the
	os
	directory.

2006-01-02 16:08  christian

	*** empty log message ***

2006-01-02 16:04  twisti

	* nregdescint, nregdescfloat: Moved to md-abi.c.

2006-01-02 16:03  twisti

	* nregdescint, nregdescfloat: Added.
	* noinst_HEADERS: Removed md-abi.inc.

2006-01-02 14:32  christian

	Removed old debug message

2006-01-02 14:26  twisti

	* md-abi.inc: Removed.

2006-01-02 14:25  twisti

	* nregdescint, nregdescfloat: Moved to md-abi.c.

2006-01-02 14:24  twisti

	* nregdescint, nregdescfloat: Added.
	* noinst_HEADERS: Removed md-abi.inc.

2006-01-02 14:11  christian

	Corrected \"\" to \<\> for system header include

2006-01-02 14:07  twisti

	* nregdescint, nregdescfloat: Moved to md-abi.c.
	* noinst_HEADERS: Removed md-abi.inc.

2006-01-02 14:06  twisti

	* nregdescint, nregdescfloat: Added.
	* disassinstr: Some code improvement.

2006-01-02 14:05  twisti

	* md-abi.inc: Removed.

2006-01-02 13:05  christian

	Changed register allocator .inc to .c files and moved them to
	src/vm/jit/allocator

2006-01-02 12:59  christian

	Changed register allocator .inc to .c files and moved them to
	src/vm/jit/allocator

2006-01-02 12:22  twisti

	* Fixed result message for debug.

2006-01-02 12:10  twisti

	* Typo.

2006-01-02 12:04  twisti

	* Added ltdl.h check.

2006-01-02 11:34  twisti

	* Fixed ltdl.h include path.

2006-01-02 01:34  twisti

	* Fixed ltdl.h include path.

2006-01-02 01:15  twisti

	* I don't think we really need them, but they are still in Attic.

2006-01-02 01:10  twisti

	* Generated changelog for 2005.

2006-01-02 01:05  twisti

	* unzip.[ch], libffi, libltdl: Removed.

2006-01-01 21:53  twisti

	* Removed libltdl.

2006-01-01 21:38  twisti

	* We now use the system libltdl.

2006-01-01 21:32  twisti

	* Changed text of kaffe's stuff, dalibor pointed this out.

2006-01-01 21:29  twisti

	* AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed.
	* AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF.

2006-01-01 21:22  twisti

	* m4 macros have a different copyright header.

2006-01-01 21:13  twisti

	* Lists all third party software we use. This list contains all
	stuff we
	used in 0.93. Stuff that has been ripped will be deleted after that
	commit, this is for the records.

2006-01-01 20:55  twisti

	* Not required.

2006-01-01 19:39  twisti

	* Removed libltdlc.la.
	* DIST_SUBDIRS: Removed libltdl.
	* SUBDIRS: Likewise.

2006-01-01 19:38  twisti

	* Added libltdl check.
	* AC_CONFIG_SUBDIRS: Removed src/libltdl.

2006-01-01 18:39  twisti

	* libarch_la_SOURCES: Removed symcat.h.

2006-01-01 18:34  twisti

	* Use system one.

2006-01-01 18:33  twisti

	* libarch_la_SOURCES: Removed symcat.h.

2006-01-01 18:30  twisti

	* generic_symbol_at_address: Print only 8 bytes.

2006-01-01 18:21  twisti

	* Use system ones.
	* generic_symbol_at_address: Added, they were implemented in dis-buf.c
	which was removed.
	* generic_print_address: Likewise.
	* perror_memory: Likewise.

2006-01-01 18:20  twisti

	* libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
	* config.h, vm/jit/codegen-common.h: Added.

2006-01-01 16:40  twisti

	* Changed include to use system headers.

2006-01-01 16:39  twisti

	* Use system ones.
	* generic_symbol_at_address: Added, they were implemented in dis-buf.c
	which was removed.
	* generic_print_address: Likewise.
	* perror_memory: Likewise.

2006-01-01 16:37  twisti

	* libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.

2006-01-01 16:35  twisti

	* DEC OSF cc only defines __alpha.

2006-01-01 16:34  twisti

	* class_resolvefield: Renamed except to throwexception since some
	compilers
	have a builtin except macro (like DEC OSF cc).
	* class_resolveclassmethod: Likewise.
	* class_resolveinterfacemethod: Likewise.

2006-01-01 16:31  twisti

	* zip_open: Handle compiler error with DEC OSF's cc.
