2003-08-22  Stephen Crawley <crawley@dstc.edu.au>
	* Makefile.am: put glib.zip and classes.zip into the bootclasspath
	(not the regular classpath) when compiling Java test code.

2003-08-23  Stephen Crawley <crawley@dstc.edu.au>	
	* doc/BUILDING: updating for the next release.
	* doc/TESTING: ditto
	* doc/index.html: ditto
	* Makefile.am: minor fixes to a couple of targets 
	
2003-08-21  Stephen Crawley <crawley@dstc.edu.au>
	* doc/BUILDING: updating for the next release.
	* Makefile.am: added rules for {trivial,helloworld}.class
	
2003-08-20  Stephen Crawley <crawley@dstc.edu.au>
	* README: updating for the next release.

2003-08-06  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/VMClassLoader.c (...resolveClass): 
	implemented this native method (as a no-op).

2003-07-26  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/VMSystem.c : fix bounds checking
	in arraycopy to deal with the cases where pos + length wraps
	to a negative value.

2003-07-16  Mark Wielaard <mark@klomp.org>

	* vm/native/table.c: include java_lang_VMFloat.h, replaces
	java_langFloat.h. Likewise for Double (although commented out).
	* vm/native/java_lang_Double_natives.h (doubleToLongBits): Moved
	to VMDouble_natives.
	(doubleToRawLongBits): Likewise.
	(longBitsToDouble): Likewise.
	* vm/native/java_lang_Float_natives.h: Removed, moved to VMFLoat.
	* vm/native/java_lang_VMDouble_natives.h: New file.
	* vm/native/java_lang_VMFloat_natives.h: New file.
	* Makefile.am (noinst_HEADERS): Remove java_lang_Float_natives.h,
	add vm/native/java_lang_VMDouble_natives.h and
	vm/native/java_lang_VMFloat_natives.h.

2003-07-17  Stephen Crawley <crawley@dstc.edu.au>
	* vm/thread.c : if Thread.sleep(...) or Object.wait(...) is 
	called when Thread.interrupted() is true, the (native) methods must
	throw InterruptedException and clear the interrupted flag.
	* vm/locks.c : ditto

2003-07-15  Stephen Crawley <crawley@dstc.edu.au>
	* vm/thread.c : when a thread exits, remove it from its group

2003-06-20  Stephen Crawley <crawley@dstc.edu.au>
	This group of changes fix a problem in loading the 'inner class'
	table of bytecode files.  Kissme was incorrectly expecting the
	inner classes to be ref'd by a Utf8 constPool entry (as Jikes
	version 1.16 emits) instead of a ClassInfo entry as the JVM spec
	requires, and more recent versions of Jikes emit.
	* vm/structs/struct_tclassfil.h : removed u16ConstPoolRealCount
	* lib/indigenous/java.lang/VMClassLoader.c : ditto
	* vm/classfil.c : handle inner class refs correctly.  Tidied
	  up code to use the CONSTTAG / CONST macros
	* vm/classfile_internal.c : fixed to handle the last constPool
	  entry if its a ClassInfo.  Tidied up code to use the CONSTTAG / 
	  CONST macros
	* vm/classfile_methods.h : constPool indexes should be unsigned.
	  Defined CONSTSET macro
	* vm/classloader_tuple.c : as above (variously)

2003-06-07  Stephen Crawley <crawley@dstc.edu.au>	
	* lib/indigenous/java.lang/Class.c (getDeclaredClasses) : added
	  assertions to check that the inner class info has been
	  resolved
	* lib/indigenous/java.lang/VMClassLoader.c (defineClass) : call
	  CLASSFILE_CompleteClass to finish the defined class
	* vm/jni.c (DefineClass) : ditto
	* sys_linux_host/kissme_classload.c (getFromZipLoader) : ditto
	* vm/classfile_internal.c : tweak traceprints
	* vm/classfile_methods.h : make CLASSFILE_CompleteClass non-static
	* vm/classloader_tuple.c : ditto
	

2003-06-04  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/VMSecurityManager.c (getClassContext) :
	  bug fix in the code that finds the posn of the SessionManager
	  stack frame
	* vm/classloader_tuple.c : traceprint tweak 

2003-05-24  Stephen Crawley <crawley@dstc.edu.au>
	* vm/interp/load_and_store.h : fixed bugs in daload and dastore
	  instructions

2003-05-23  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/VMSecurityManager.c (currentClassLoader) :
	  bug fixed to check for PrivilegedAction and to look at >>all<<
	  'initial stacks' if necessary.
	* lib/indigenous/java.lang/VMSystem.c : reindented, etcetera
	
2003-05-22  Stephen Crawley <crawley@dstc.edu.au>
        * Makefile.am : mauve for kissme doesn't need CLASSPATH to be set,
	  now that kissme deals with the bootstrap classpath correctly
	* classes/kissme/vm/loaders/FileClassLoader.java : new file
	* classes/java/lang/DefaultClassLoader.java : moved code for
	  loading from a file to FileClassLoader.java.  added findResource
	  and findResources methods.
	* classes/java/lang/VMClassLoader.java : added java implementations
	  of getResource and getResources.
	* classes/vm/loaders/JarClassLoader.java : added getResourceUrl
	* classes/vm/loaders/ZipClassLoader.java : ditto
	* lib/indigenous/java.lang/VMSecurityManager.c : fixed the
	  native implementation for getClassContext
	
2003-05-20  Stephen Crawley <crawley@dstc.edu.au>
	* vm/kissme_main.c : remove empty classpath entries

2003-05-18  Stephen Crawley <crawley@dstc.edu.au>
	* classes/java/lang/VMClassLoader.java : starting to implement
	  getResource and getResources
	* config.h : tidying up dead code
	* lib/indigenous/java.lang/VMClassLoader.c : ditto
	* vm/startup.c : ditto
	* vm/lib/minizip/unzip.c : ditto
	* vm/sys_linux_host/kissme_classload.c : ditto

2003-05-16  Stephen Crawley <crawley@dstc.edu.au>
	This checkin separates the bootstrap and user classpaths and class
	loading.  User classes are now loaded by a new DefaultClassLoader
	class.  There are still bugs with resource loading.
	* classes/java/lang/DefaultClassLoader.java : new class
	* classes/java/lang/VMClassLoader.java : make loadClass native,
	  and use DefaultClassLoader as the system classloader (by default)
	* lib/indigenous/java.lang/Class.c : use the context class when
	  doing an interal 'forName'
	* lib/indigenous/java.lang/Class.h : ditto
	* lib/indigenous/java.lang/Class_Reflection.c : ditto
	* lib/indigenous/java.lang/Runtime.c : put user and bootstrap
	  classpaths into separate properties
	* lib/indigenous/java.lang/VMClassLoader.c : implement the
	  VMClassLoader.loadClass native method
	* lib/indigenous/java.lang/VMClassLoader.h : ditto
	* vm/native/java_lang_VMClassLoader_natives.h : ditto
	* vm/classfil.c : separate boot and user classpath data structs
	* vm/classfile_methods.h : ditto
	* vm/kissme_main.c : parse and build separate user and boot 
	  classpath data structures
	* vm/startup.c : load the 'main' class using the user classpath
	  and the system class loader object
	* vm/classloader_tuple.c : use the correct classloader
	  when FindOrLoad et al search for an array class.
	* vm/sys_linux_host/kissme_classload.c : the bootstrap class
	  loading methods use the boot classpath
	

2003-05-14  Stephen Crawley <crawley@dstc.edu.au>
	* vm/cptuplelist.c : reformatting
	* classes/kissme/vm/loaders/JarClassLoader.java : ditto
	* classes/kissme/vm/loaders/ZipClassLoader.java : ditto
	* vm/interp/method_invocation.h : output calling class and
	  line number in all traceCall calls

2003-05-09  Stephen Crawley <crawley@dstc.edu.au>
	* classes/kissme/vm/loaders/JarClassLoader.java : reformatting
	* classes/kissme/vm/loaders/ZipClassLoader.java : ditto
	* classes/kissme/vm/loaders/JavaClassLoader.java : ditto

2003-05-06  Stephen Crawley <crawley@dstc.edu.au>
	* vm/struct/struct_tclassfil.c : added bIsInnerClass field
	* vm/classfile_internal.c (CLASSFILE_NewTuple) : ditto
	* vm/classloader_tuple.c (CLASSLOADER_TUPLE_ResolveInnerClasses) :
	  set bIsInnerClass for inner classes
	* lib/indigenous/java.lang/Class.c (..._getModifiers) : get the
	  declared modifiers for an inner class from InnerClassInfo table
	* lib/indigenous/java.lang/Class.c (..._getDeclaredClasses) : 
	  optimise based on pstClass->bIsInnerClass
	* lib/indigenous/java.lang/VMClassLoader.c (...makePrimitiveType) :
	  use CLASSFILE_NewTuple to allocate and preinitialize the
	  class data structures.  (Avoids bugs / inconsistencies)

2003-05-06  Stephen Crawley <crawley@dstc.edu.au>
	* vm/classfile_internal.c (CLASSFILE_ArrayClassCreate) : set the
	  access flags for an array class.  (Fixes getSupertype behaviour 
	  for array classes)
	* lib/indigenous/java.lang/VMClassLoader (...makePrimitiveType) :
	  set the 'final' flag on class objects for primitive types

2003-05-05  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/VMObject.c : fix 'out of memory' 
	  handling for array creation, and use the preallocated OOM 
	  exception object.
	* vm/jni.c : ditto
	* vm/startup.c : ditto
	* vm/interp/loop.c : ditto
	* vm/newobject.h : ditto
	* vm/newobject.c : ditto + fix for signature mangling bug in
	  INTERP_NewArray

2003-05-03  John Leuner  <jewel@debian.org>

	* Makefile.am: Added -f to rm commands which otherwise 
	cause build to fail.

2003-05-04  Stephen Crawley <crawley@dstc.edu.au>
	* vm/garbage/garbage.c (FinalizationThread) : fix deadlock that
	  occurs if allocating the finalization thread object triggers
	  garbage collection.
	* vm/garbage/garbage.c : (cosmetic) replaced integer literal 
	  values for pstHeap->wantGC with symbolic values.

2003-05-02  Stephen Crawley <crawley@dstc.edu.au>
	* Makefile.am : fixed the Java build and zip rules to avoid
	  incorporating any stray .class files.

2003-04-30  Stephen Crawley <crawley@dstc.edu.au>
	* vm/classfile_internal.c (readMethodsInfo) : fix bug in code
	  for skipping unknown method attributes.  (Bug 725779)
	* vm/garbage/garbage.c (FinalizationThread) : use FindMethodInVT
	  (not FindMethod) to get the finalize method.
	* vm/startup.c : if persistence is not enabled, don't initialise
	  the RPOT
	* vm/garbage/allocator.c (ALLOCATOR_MarkReachableFromRPOT) : 
	  allow for case where there is no RPOT table
	* lib/indigenous/java.lang.reflect/Method.c (...invokeNative) :
	  fix the argument type test.  (Fixes mauve test failures)
	* vm/interp/interp.c : cosmetic (comment)

2003-04-29  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni.c : fixed more endianness bugs with Long methods.
	  Fixed getStaticMethodID to check that the method is static.

2003-04-28  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/Class.c (getComponentType) : fixed
	  bug in memory management leading to segfaults
	* vm/jni.c : rewrote LocalRefs management to remove memory
	  leaks, inefficiencies and bugs
	* vm/jni_data.h : ditto
	* vm/jni_native_call.c : ditto

2003-04-25  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni.c (GetArgsFromVaList) : push jlong onto the opstack correctly
	* vm/jni.c (ExceptionCheck) : implemented
	* vm/interp/get_and_put.h : removed a couple of old eprintfs
	* vm/classfil.h : comsmetic (indentation)

2003-04-23  Stephen Crawley <crawley@dstc.edu.au>
	The following files have been changed to track changes in the
	Classpath Class/VMClass APIs.
	* lib/indigenous/java.lang/VMClass.h : new file
	* vm/native/java_lang_VMClass_natives.h : new file
	* classes/java/lang/VMClass.java : new file
	* vm/native/table.c : include new table entries
	* Makefile.am : added new files
	* lib/indigenous/java.lang/java_lang_Class.h : removed
        * lib/indigenous/java.lang/Class.c : many changes
	* lib/indigenous/java.lang/Class)Reflection.c : many changes
	* lib/indigenous/java.lang/Class.h : changed APIs for
	  getting/setting VM state for Class and VMClass objects
	* lib/indigenous/java.lang/Class_Reflection.h : mostly cosmetic
	* lib/indigenous/java.lang/VMClassLoader.c : use CLASSLOADER_TUPLE
	  API to make objects rather than doing it ourselves
	* lib/indigenous/java.lang/VMClassLoader.h : cosmetic
	* lib/indigenous/java.lang/VMSecurityManager.c : debug code
	* lib/indigenous/java.lang/VMThrowable.c : change #include
	* lib/indigenous/java.lang.reflect/Field.c : change #include
	* lib/indigenous/java.lang.reflect/Method.c : track Class.h changes
	* vm/structs/struct_tclassloadertuple.h : add a new field
	* vm/classfile_internal.c : initialise new tclassloadertuple field
	* vm/classloader_tuple.c : change internal state management
	  for new Class/VMClass stuff
	* vm/jni.c : implement / use Class.h state management APIs
	* vm/initialize.c : replaced VM internal implementation of static
	  initialization with VMClass callbacks.
	* vm/newobject.c : check that pstVMClassType is initialised
	* vm/startup.c : tweak the bootstrap sequence
	* vm/interp/method_invocation.h : outdated sanity check
	* vm/jvmdi/reflection.c : leave '<><><>' marks to flag places
	  that need attention ... if this file ever gets used again.
	
	* config.h : added a flag for enabling stack frame guard words
	* vm/interp.h : ditto
	* vm/interp_methods.h : ditto
	* vm/jni_native_call.c : added guard checks and JNI tracing
	* vm/interp/methodstacks.c : ditto
	* vm/interp/loop.c : remove irrelevant eprintf

	* lib/indigenous/java.io/VMObjectStreamClass.h : new file for
	  new Classpath native method (not implemented yet)
	* vm/native/java_io_VMObjectStreamClass_natives.h : ditto
	
	* vm/garbage.c : fixed a finalization deadlock problem
	* vm/garbage/allocator.c : ditto
	* vm/garbage/garbage.c : tweak a sanity check

	* vm/structs/struct_tobject.h : cosmetic - indentation etc
	* lib/indigenous/java.lang.reflect/Array.c : ditto
	* vm/jni_data.h : ditto
	* vm/interp/interp.c : ditto
	* vm/native/natives_init.c : cosmetic - document 'isSafe'
	
2003-04-08  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni_native_call.c : added more 'jni' tracing + tidyups
	* lib/indigenous/java.lang/Class_Reflection.c : cosmetic tidyups

2003-04-04  Stephen Crawley <crawley@dstc.edu.au>	
	* classes/java/lang/VMSystem.java : merging changes from Classpath
	* classes/java/lang/reflect/Field.java : ditto
	* classes/java/lang/VMClassLoader.java : ditto
	* classes/java/lang/Runtime.java : removed.  We can use the Classpath 
	implementation now
	* classes/java/lang/Throwable.java : ditto
	* classes/gnu/classpath/Configuration.java : ditto
	* lib/indigenous/java.lang/Runtime.c (...execInternalexec) : make
	native method signature the same as in the Classpath version
	* lib/indigenous/java.lang/Runtime.h : ditto
	* vm/native/java_lang_Runtime_natives.h : ditto
	* lib/indigenous/java.lang/java_lang_Runtime.h : ditto

2003-04-03  Stephen Crawley <crawley@dstc.edu.au>
	* classes/java/lang/Thread.java : removed.  We can use the Classpath 
	implementation now
	* classes/java/lang/reflect/Constructor.java: removed.  Ditto
	* classes/java/lang/VMSecurityManager.java: removed.  Ditto
	* vm/classfile_internal.c (ClassHasFinalizer) : removed debug print

2003-04-02  Stephen Crawley <crawley@dstc.edu.au>	
	* classes/java/lang/VMObject.java : merged javadoc from Classpath
	reference implementation
	* classes/java/lang/Class.java : removed.  We can use the Classpath 
	implementation now.
	* vm/classfil.c (CLASSFILE_ResolveMethodref) : replaced an assert(0)
	with a traceprint

2003-04-02  Stephen Crawley <crawley@dstc.edu.au>
	* classes/java/lang/Class.java (newInstance) : 
	Hamlet, Prince of Denmark: Act 1 Scene 4 ... :-)

2003-04-01  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang.reflect/Field.c : replace some typecasts
	  of int32->float / int64->double with 'conversions'
	* vm/jni.h : added / extended conversion typedefs
	* vm/stdtypes.h : added typedefs for int64 and uint64
	
2003-03-31  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/Runtime.c : implementing finalization
	* vm/classfile_internal.c : ditto
	* vm/garbage.c : ditto
	* vm/garbage.h : ditto
	* vm/garbage_defs.h : ditto
	* vm/newobject.c : ditto
	* vm/startup.c : ditto
	* vm/thread.c : ditto
	* vm/garbage/allocator.c : ditto
	* vm/garbage/garbage.c : ditto
	* vm/garbage/heap_type.h : ditto
	* vm/garbage/oldheap.c : ditto
	* vm/garbage/public_methods.h : ditto
	* vm/garbage/mark/mark.c : ditto
	* vm/structs/struct_tclassfil.h : ditto
	
2003-03-13  Stephen Crawley <crawley@dstc.edu.au>
	* useful_scripts/mauve-kissme : disabled the setSocketImplFactory
	test because it breaks following tests that use sockets

2003-03-11  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/VMClassLoader.c (defineClass) :
	return the defined class (duh!)

2003-03-10  Stephen Crawley <crawley@dstc.edu.au>
	These changes fix remaining problems related to bug #693636.
	* vm/interp/loop.c (Interpret) : adjust opstack top when Interpret
	is called for static native methods so args get passed correctly.
	* lib/indigenous/java.lang/VMClassLoader.c (defineClass) :
	call CLASSFILE_ClassCreate with a non-null class name, and don't
	call CPTUPLELIST_Insert on the result
	* lib/indigenous/java.lang/VMClassLoader.c : cosmetic
	* vm/interp/interp.c : cosmetic
	* vm/jni_native_call.c : cosmetic

2003-03-05  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/interp/loop.c (Interpret) : if Interpret is applied to
	a native method, get the thrown exception from the right place.
	Fixes bug #693636.
	* lib/indigenous/java.lang/VMClassLoader.c 
	(java_lang_VMClassLoader_defineClass) : minor OOM bug
	* lib/indigenous/java.lang.reflect/Method.c 
	(java_lang_reflect_Method_invokeNative) : assertion tweak

2003-02-27  Stephen Crawley <crawley@dstc.edu.au>
	* classes/java/lang/reflect/Method.java : removed file - this
	was an out-of-date copy of the Classpath vm reference class. 

2003-02-26  Stephen Crawley <crawley@dstc.edu.au>
	* vm/classfile_internal.c (AddInterfaceMethods) : didn't realloc
	the VTable before adding interface method -> memory corruption(?)
	* vm/sys_linux_host/kissme_classload.c: cosmetic - indentation
	
2003-02-25  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/Class_Reflection.c
	(Java_java_lang_Class_getMethod) : treat a null parameter type 
	array correctly.  Also fixed some indentation.
	* lib/indigenous/java.lang/Class_Reflection.c
	(CLASS_GetSigFromClassArray) : support null parameter type arrays

2003-02-24  Stephen Crawley <crawley@dstc.edu.au>
	* vm/classfil.c (ResolveFieldrefHelper): new method
	* vm/classfil.c (ResolveFieldref): search superinterfaces when
	resolving a static field
	* vm/classfile_methods.h: defined CONSTGET_StatField macro
	* vm/interp/get_and_put.h: in getStatic & putStatic, use 
	CONSTGET_StatField to resolve the static field

2003-02-23  Stephen Crawley <crawley@dstc.edu.au>
	* vm/interp_methods.h: add ThrowNoSuchFieldError and fix
	ThrowNoSuchMethodError
	* vm/interp/interp.h : ditto
	* vm/interp/get_and_put.h: 'getstatic' instruction threw wrong
	exception if it couldn't resolve the field.
	* vm/interp/invocation_method.h: 'invokestatic' instruction - added
	message when throwing NoSuchMethodError

2003-02-22  Stephen Crawley <crawley@dstc.edu.au>
	* hitme.tests: Added Raif's testcase as a hitme test
	* hitme/basic/lang/Invocation.java: new file - Raif's testcase
	* hitme/basic/lang/invocation/AbstractSuperclass.java: ditto
	* hitme/basic/lang/invocation/ConcreteClass.java: ditto
	* hitme/basic/lang/invocation/IPackagePrivateInterface.java: ditto
	* hitme/basic/lang/invocation/IPublicInterface.java: ditto

2003-02-22  Stephen Crawley <crawley@dstc.edu.au>
	These changes fix the underlying method resolution problem
	revealed by Raif's testcase.
	* vm/classfil.c (CLASSFILE_ResolveMethodref): combines old
	CLASSFILE_ResolveMethodrefVirual and NonVirtual.  In the non-
	virtual case, we search the class and superclass method tables.
	In the virtual case, we search the classes VTable.
	* vm/classfile_internal.c (AddInterfaceMethods): new method
	* vm/classfile_internal.c (readMethodsInfo): initialise each
	methods VTIndex to -1.
	* vm/classfile_internal.c (BuildVirtualTable): add shadow entries
	to an abstract class'es VTable for interface methods.
	* vm/classfile_internal.c (CLASSFILE_ClassCreate): don't build 
	the virtual table for an interface.
	* vm/classfile_methods.h: internal API changes
	* vm/interp/method_invocation.h: tracking internal API changes
	* vm/sys_linux_host/wrappers.h: added sys_realloc
	* vm/sys_linux_host/wrappers.c: ditto
	
2003-02-12  Stephen Crawley <crawley@dstc.edu.au>
	* vm/interp/method_invocation.h: Fix for previous fixes.  (I've
	finally worked it out folks!)
	* vm/interp/interp.c (CatchExceptionHelper): add some tracing,
        and make sure that pstCurrFrame->pstException is cleared for
	an uncaught exception on the main thread
	* vm/classfil.c (CLASSFILE_ResolveMethodrefVirtual): ifdef'd out

2003-02-09  Stephen Crawley <crawley@dstc.edu.au>
	* vm/rpot.c (RPOT_InRPOT): Return 0 if there is no RPOT table
	* vm/interp/loop.c (StackInspect): Fix for segfault(s) which 
	occur when you run kissme with "-t all"

2003-02-07  Stephen Crawley <crawley@dstc.edu.au>
	* vm/interp/method_invocation.h: Fixed the other invoke* instructions
	that I noted were probably broken.
	* vm/classfil.c (CLASSFILE_ResolveMethodrefVirtual): Noted bug
	in this method, which I don't think is currently used.

2003-02-06  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/classloader_tuple.c: remove some commented out code.
	* vm/interp/method_invocation.h: try again ... sigh.  
	Added XXX comments for other invoke* instructions that look to be 
	similarly broken.
	
2003-02-04  Stephen Crawley <crawley@dstc.edu.au>
	* vm/interp/method_invocation.h: possible fix for a segfault
	problem reported by Raif Naffah.  In 'invokevirtual', deal with
	any exception thrown by CONSTGET_MethodNonVirtual before trying
	to use the method descriptor it returns.

2003-01-29  Stephen Crawley <crawley@dstc.edu.au>
	* vm/interp/loop.c: cosmetic fix for an old compilation warning

2003-01-27  John Leuner  <jewel@debian.org>

	* config.h: Changed version to 0.0.29
	* Makefile.am: Added missing header files

2003-01-26  Stephen Crawley <crawley@dstc.edu.au>
	* vm/newobject.c (INTERP_NewArray): Throw OutOfMemoryError (not
	InternalError) if an array requires >= 2^32 bytes
	(INTERP_MultiNewArray): Check subarray sizes
	even if an array size is zero.
	* vm/interp/loop.c:  Throw InternalError (not OutOfMemory) if
	the 'dimensions' operand of a 'multinewarray' instruction is zero.

2003-01-19  Mark Wielaard  <mark@klomp.org>

	* lib/indigenous/java.lang.reflect/Field.c (getDouble): Use tDConv
	for converting long to double.

	* Makefile.am (noinst_HEADERS): Remove ObjectOutputStream.h.
	* vm/native/table.c: Remove ObjectOutputStream .h files.
	* vm/native/java_io_ObjectOutputStream_natives.h: Removed.
	* vm/native/java_io_ObjectInputStream_natives.h: Removed non-native
	methods.

2003-01-19  Mark Wielaard  <mark@klomp.org>

	* lib/indigenous/java.lang.reflect/Field.c (setBoolean): Implement.
	(setByte): Likewise.
	(setShort): Likewise.
	(setChar): Likewise.
	(setInt): Likewise.
	(setLong): Likewise.
	(setFloat): Likewise.
	(setDouble): Likewise.

2003-01-14  Mark Wielaard  <mark@klomp.org>

	* vm/thread.h (THREAD_ID_BITS): Define as 15, not 16.

2003-01-11  Stephen Crawley <crawley@dstc.edu.au>
	This checkin fixes (I hope) a long standing problem where the
	VM would sometimes load multiple copies of classes, leading to
	panics; e.g. in java.io.ObjectInputOutput.InputTest, etcetera

	* vm/classfile_internal.c: restructuring code so that a class
	  loader tuple can be added to the cptuple list as soon as it
	  created.
	* vm/classfile_methods.h: ditto
	* vm/classloader_tuple.c: ditto
	* useful_scripts/mauve-kissme: reebabled tests which used to
	  give class loading panics.
	
2003-01-05  Stephen Crawley <crawley@dstc.edu.au>	
	* useful_scripts/mauve-kissme: java.io.ObjectInputOutput.InputTest
	  triggers a class loading panic 
	
2003-01-03  Stephen Crawley <crawley@dstc.edu.au>
	* useful_scripts/mauve-kissme: the StringWriter test now compiles
	
2002-12-30  Stephen Crawley <crawley@dstc.edu.au>
	* useful_scripts/mauve-kissme: the new StringWriter test does
	  not compile

2002-12-27  Stephen Crawley <crawley@dstc.edu.au>	
	This checkin refactors Kissme specific native API calls into
	a "KNI" interface vector that you get via the GetEnv call on
	the JNIInvocation interface.
	
	* vm/invocation.c: new file
	* vm/invocation.h: new file
	* vm/kni.c: new file
	* vm/kni.h: new file
	* vm/kni_methods.h: new file
	* Makefile.am: add above files
	* lib/indigenous/java.lang/Runtime.c: GetHeap is now in KNI
	* vm/garbage.c: ditto
	* vm/newobject.c: ditto
	* vm/thread.c: ditto
	* vm/interp/interp.c: ditto
	* vm/jni.c: refactoring
	* vm/jni.h: ditto
	* vm/jni_data.h: ditto
	
	* useful_scripts/mauve-kissme: the BigInteger.modInverse takes
	too long.

2002-12-24  Stephen Crawley <crawley@dstc.edu.au>	
	* useful_scripts/mauve-kissme: Some of the new mauve tests are
	  causing problems.

2002-12-18  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/newobject.c (INTERP_NewObject): change message printed
	  when static initializer throws an exception into a trace
	  print on the exceptions channel.

2002-12-18  John Leuner  <jewel@debian.org>

	* portability.h.in: some auto change
	* config.in: version to 0.0.28
	* classes/java/lang/VMSystem.java: copied new Classpath code
	* classes/java/lang/VMClassLoader.java: copied new Classpath code
	* vm/native/java_lang_VMSystem_natives.h: regenerated sigs
	* lib/indigenous/java.lang/VMObject.c: Fix for arraycopy name change
	* lib/indigenous/java.lang/VMSystem.h: regenerated sigs
	* lib/indigenous/java.lang/VMSystem.c: changed to accomodate Classpath
	  change

2002-12-18  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni.c (JNI_Init): be more careful when fetching the field
	  offsets for java.lang.Class

2002-12-13  Stephen Crawley <crawley@dstc.edu.au>
	* vm/classfile_internal.c (readAttributesInfo): don't chatter about
	unrecognized attributes
	
2002-12-13  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/newobject.c (INTERP_NewStringFromAsciz): bug fix - don't use
	  CallObjectMethod to invoke String.intern() because we are
	  not in a JNI call at this point.
	
	These changes are mostly about allowing the GC to run while Kissme
	is executing a native call; e.g. during a blocking I/O operation.
	Currently, this does NOT apply to native methods implemented in
	Kissme VM itself.
	* jni_ext-kissme.h: new file
	* Makefile.am: altered the run-hitme rule to create/remove fifos 
	* hitme.tests: added hitme.basic.lang.GCAndIO test
	* portability.h.in: regenerated 
	* lib/indigenous/java.lang/Class_Reflection.c: include "vm/jni_data.h"
	* lib/indigenous/java.lang/VMSecurityManager.c: ditto
	* vm/rpot.c: ditto
	* vm/garbage/oldheap.c: ditto
	* vm/thread.h: ditto
	* lib/indigenous/java.lang/Runtime.c: ditto + GetHeap capitalization
	* lib/indigenous/java.lang/VMClassLoader.c: DefinePrimitiveClass is
	  no longer a Kissme-specufic JNI call.
	* useful_scripts/mauve-kissme: java.net.Socket.SocketTest works
	* vm/classfil.c: NATIVES_InitNatives() API change
	* vm/natives.h: ditto
	* vm/classfil.h: new struct for representing native methods with
	  an isSafe flag
	* vm/interp_methods.h: use new native method struct
	* vm/structs/struct_tclassfil.h: ditto
	* vm/garbage.c: GetHeap capitalization
	* vm/interp/interp.c: ditto
	* vm/jni.c (DefinePrimitiveClass): removed
	* vm/jni.c (DefineClass): made signature JNI compliant
	* vm/jni.c (GetByteArrayElements, ReleaseByteArrayElements):
	  change to copy array contents to a malloc'd buffer and back.
	* vm/jni.c (RegisterNatives): set isSafe to 1 for registered methods
	* vm/jni.c (UnregisterNatives): simplified
	* vm/jni.c (EnterGCPoint, EnterGCRegion, ExitGCRegion): 
	  new Kissme-specific JNI methods
	* vm/jni.c (functiontable): swapped NewObjectA <-> NewObjectV and
	  added EnterGCPoint, EnterGCRegion, ExitGCRegion
	* vm/jni.h: preparation for using Classpath version of jni.h
	* vm/jni_native_call.c: if native method is "safe" execute it
	  within a GC region
	* vm/thread.c (java_lang_Thread_sleep): use Kissme JNI EnterGCRegion /
	  ExitGCRegion methods
	* vm/garbage/garbage.c: bug fix to the handling of threadsPresent
	  counter.  Don't just zero the count after GC in case a thread is
	  still in a GC region.
	* vm/native/natives_init.c (NATIVES_InitNatives): deal with isSafe

2002-12-07  Mark Wielaard  <mark@klomp.org>

	* classes/java/lang/VMClassLoader.java (getResource): Return null.
	(getResources): Return EmptyEnumeration.

2002-11-20  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni_data.h: new file
	* hitme/basic/lang/GCAndIO.java: ditto
	* hitme/basic/lang/ThreadStorm.java: ditto
	* .cvsignore: added kissmebin and mauve flotsam files

2002-11-29  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/Class_Reflection.c (Java_java_lang_Class_getMethod): 
	added code to search superinterfaces
	* lib/indigenous/java.lang/Class_Reflection.c (Java_java_lang_Class_getMethod): 
	added checked for method name that had somehow been removed
	* classes/java/lang/reflect/Method.java (makeName): new method
	* classes/java/lang/reflect/Method.java (toString): 
	changed to format arguments more like JDK
	* classes/java/lang/reflect/Method.java (equals): 
	Added reference equals() implementation
	* lib/indigenous/java.lang/Class_Reflection.c (Java_java_lang_Class_getMethod): 
	Fixed check for public and static method flags
	* vm/interp/loop.c (Interpret): Added check for negative array dimensions
	* lib/indigenous/java.lang/VMClassLoader.c (java_lang_VMClassLoader_makePrimitiveType): 
	fixed error where wrapperClassObject was incorrectly assigned

2002-11-24  Stephen Crawley <crawley@dstc.edu.au>
	* useful_scripts/mauve-kissme: tweaking tests.  A couple of the
	java.net tests run now, but java.net.URLClassLoader.getResourceRemote
	hangs.

2002-11-20  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/garbage/allocator.c (ALLOCATOR_MarkReachableFromMachine): 
	Examine the types of static fields to decide if they contain
	array or object handle before marking.  (Previously, we just
	used ALLOCATOR_ISHANDLE to distinguish pointers.  This was
	failing when a scalar had a value that aliases a handle.)

2002-11-13  Stephen Crawley <crawley@dstc.edu.au>
	* vm/thread.c: implement THREAD_dumpThreads
	* useful_scripts/mauve-kissme: disable all java.net tests for
	now.  At least one of them is leaving a thread doing an accept
	which is blocking GC.

2002-11-12  Stephen Crawley <crawley@dstc.edu.au>
	* vm/garbage/garbage.c: minor cosmetic stuff + added a DEBUG
	hook for dumping the threads when GC entry stalls.
	* vm/thread.h: ditto	
	* vm/thread.c: ditto + added code to free dead Thread data
	structures.
	* vm/jni.c: ditto
	* vm/startup.c: ditto

2002-11-10  Brian Jones <cbj@gnu.org>
	* useful_scripts/kissme.in: use exec to run the kissme binary

2002-11-11  Mark Wielaard  <mark@klomp.org>
	* vm/jni.c (SetObjectArrayElement): Use ThrowNew.
	* lib/indigenous/java.lang/Class.c
	(Java_java_lang_Class_getModifiers): Arrays have the modifiers of
	their component type but are always final and abstract but never an
	interface.
	* lib/indigenous/java.lang/Class_Reflection.c
	(Java_java_lang_Class_getConstructors_Helper): Return empty array for
	interfaces, primitive types and arrays.
	(Java_java_lang_Class_getMethods_Helper): Likewise.
	(Java_java_lang_Class_getMethod): Check ACC_PUBLIC flag.
 
2002-11-10  Stephen Crawley <crawley@dstc.edu.au>
	* vm/classfil.c: remove incorrect panic in DEBUG code
	* vm/wrappers.h: added system_cond_timedwait_nogc
	* vm/sys_linux_host/locks.c: ditto
	* vm/garbage/garbage.c: added a watchdog timer on GC entry.
	If DEBUG is set and GC entry takes >30 secs, you get an error
	message.

2002-11-08  Stephen Crawley <crawley@dstc.edu.au>
	* vm/locks.c: bug fix for yesterdays bug ...
	* hitme/basic/types/FloatType.java: removed old traceprints

2002-11-07  Stephen Crawley <crawley@dstc.edu.au>
	* vm/lock.c: bug fixes.  Problem with incorrect "monitor state"
	exceptions should now be fixed.  Object.notifyAll() should now 
	notify all relevant thread threads, not just one.
	
	* hitme.tests: commented out hitme.basic.lang.ThreadInterrupts
	test to avoid confusion

2002-11-05  Stephen Crawley <crawley@dstc.edu.au>
	* vm/thread.c: bug fix - I forgot to call THREAD_initThreadIds
	* vm/locks.c: bug fix - silly bit-bashing bugs in yesterday's checkin
	* vm/sys_linux_host/wrappers.c: added DEBUG hook for looking at
	what sys_current_thread() returns
	* vm/sys_linux_host/wrappers.c: ditto

2002-11-04  Stephen Crawley <crawley@dstc.edu.au>
	* vm/locks.c: implement (16-bit) threadID allocation/deallocation.
	Changed object lock_word and related fields to use threadIds
	instead of pthread values.
	* vm/jni.h: ditto
	* vm/locks.h: ditto
	* vm/startup.c: ditto
	* vm/thread.c: ditto
	* vm/thread.h: ditto
	* vm/threadinfo.c: ditto
	* vm/threads_native.h: ditto

2002-11-02 (Mark Wielaard) <mark@klomp.org>
	* vm/jni.c (ThrowNew): Fix to clean up 	ugly Exception creation

	* lib/indigenous/java.lang/Class_Reflection.c 
	(Java_java_lang_Class_getDeclaredFields): Return all fields not only
	  the public ones.

2002-11-01  Stephen Crawley <crawley@dstc.edu.au>
        * vm/garbage_native_source.h: removed
	* Makefile.am: vm/garbage_native_source.h removed
	
	* vm/wrappers.h: change 'int thread_id' to 'pthread_t pthread'
	* vm/locks.c: ditto
	* vm/thread.c: ditto
	* vm/thread.h: ditto
	* vm/threadinfo.c: ditto
	* vm/threadinfo.h: ditto
	* vm/threads_native.h: ditto
	* vm/garbage/mark/mark.c: ditto
	* vm/sys_linux_host/locks_alt.c: ditto
	
	* vm/garbage2.h (GARBAGE_EnterGCPoint): get rid of redundant
	thread_id argument
	* vm/garbage/garbage.c: ditto
	* vm/interp/comparison_and_branches.h: ditto
	* vm/interp/method_invocation.h: ditto

2002-10-30  John Leuner  <jewel@debian.org>
	* vm/sys_linux_host/kissme_classload.c (getClassData): 
	set error code to 0 when method successful

2002-10-31  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni.c: replace the nativeJNITable array with a hash table
	so that we don't need to assume that pthread_t is 16 bits.  Add
	routines for iterating over the table contents.
	* vm/jni.h: ditto
	* vm/startup.c: initialise the JNI table before any threads are
	created.
	* vm/garbage/allocator.c (ALLOCATOR_MarkReachableFromMachine): 
	use JNI_{first,next}JNIData to iterate over the native threads.

2002-10-30  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni.h: cosmetic - indentation, etcetera
	* vm/jni.c: ditto
	* vm/hash.h: ditto
	* vm/hash.c: ditto

2002-10-29  Stephen Crawley <crawley@dstc.edu.au>
	* vm/newobject.c (INTERP_NewArray): correct a bug in the test
	for arrays too large to represent.  (Fixes the crash triggered
	by mauve testcase 'java.lang.reflect.Array.newInstance'.)
	* useful_scripts/mauve-kissme: enable above testcase.

2002-10-28  Stephen Crawley <crawley@dstc.edu.au>
        * useful_scripts/mauve-kissme: enabled some previously disabled
	java.sql and java.lang.reflect tests.

2002-10-27  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni.c (NewGlobalRef): fixed memory corruption bug (mea culpa)
	* lib/indigenous/java.lang/Class_Reflect.c: fixed getField to
	only return public fields, and look in interfaces/superclasses.

2002-10-23  Stephen Crawley <crawley@dstc.edu.au>
	* configure.ac, acinclude.m4, useful_scripts/kissme.in: The
	GNU Classpath source and build areas can now be different dirs.
	The ./configure script now allows you to select them independently.
	* doc/BUILDING: documented changed --with options for above.

	* vm/classloader_tuple.c: patch the tClass descriptor for an array 
	class to say it implements Cloneable & Serializable.

2002-10-22  Stephen Crawley <crawley@dstc.edu.au>	
	* lib/indigenous/java.lang/Class.c: fixed bug in getClasses
	for an inner class within an inner class.

2002-10-19  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/Class.c: fixed compilation errors (!)

2002-10-18  Stephen Crawley <crawley@dstc.edu.au>
	* lib/indigenous/java.lang/Class.c: implemented java.lang.Class
	native methods getDeclaringClass(), getDeclaredClasses() and 
	getClasses()
	* vm/struct/struct_classfil.h: data structure changes for
	representing inner class information
	* lib/indigenous/java.lang/VMClassLoader.c: tracking changes
	in struct_classfil.h
	* vm/classfil.h: ditto + tidyups
	* vm/classfile_internal.c: read inner class info from class file
	* vm/classloader_tuple.c: resolve class refs for inner classes
	* vm/classloader_tuple.h: ditto

2002-10-11  Stephen Crawley <crawley@dstc.edu.au>	
	* lib/indigenous/java.lang/java_lang_Class.h: change 3 unimplemented
	native java.lang.Class methods to throw InternalError
	* lib/indigenous/java.lang/java_lang_Class.h: ditto
	* vm/native/java_lang_Class_natives.h: ditto
	
	* config.h: expose the CLASSFILE_TRACE flag
	
	* vm/classfile_internal.c: preparing to handle "InnerClass" attribute
	* vm/structs/struct_tclassfil.h: ditto
	* lib/indigenous/java.lang/VMClassLoader.c: ditto

2002-10-10  John Leuner  <jewel@debian.org>

	* vm/classfile_internal.c: cleanups
	* vm/classfil.c: cleanups
	* vm/hash.c: cleanups
	* vm/startup.c: cleanups
	* vm/thread.c: deleted unused stuff
	* vm/threads_native.h (THREAD_InitMainThread): 
	removed NATIVE_THREAD define
	* vm/garbage_native_source.h: ditto
	* vm/native/table.c: ditto
	* vm/thread.h: ditto

2002-10-10  John Leuner  <jewel@debian.org>

	* classes/java/lang/Class.java: added nativeForName
	* lib/indigenous/java.lang/java_lang_Class.h: hand-modified for nativeForName
	* vm/native/java_lang_Class_natives.h (tool): ditto
	* lib/indigenous/java.lang/Class_Reflection.c (Java_java_lang_Class_nativeForName): 
	modified to take classloader object (but still unused)

2002-10-11  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni_native_call.c: fixed bug in yesterday's fix ... duh!

2002-10-10  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni_native_call.c: fixed bug in calls to native methods that
	return float.  [An incorrect cast of a function pointer resulted
	in values being left in the (x86) FPU stack.  This lead to incorrect
	computations later on; e.g. segfaults in java.lang.Double.toString()]]
	
	* vm/interp/comparison_and_branches.h: added debugging for
	dcmpl / dcmpg instructions

2002-10-08  John Leuner  <jewel@debian.org>

	* lib/indigenous/jos.system/machine.c: Made this code dependent 
	on TEASEME flag
	* vm/native/table.c: ditto

2002-10-04  John Leuner  <jewel@debian.org>

	* vm/startup.c: modified to not print stack trace (is done already)

	* lib/indigenous/java.lang/VMThrowable.c 
	(java_lang_VMThrowable_fillInStackTrace): new implementation 
	by Mark Wielaard
	* lib/indigenous/java.lang/VMThrowable.h: ditto
	* vm/native/java_lang_VMThrowable_natives.h: ditto
	* vm/native/table.c (pstNewNativeLookupTable): modified for above

	* lib/indigenous/java.lang/Throwable.h: removed
	* lib/indigenous/java.lang/Throwable.c: removed

	* Makefile.am: Adapted for above

	* classes/java/lang/VMThrowable.java: New VM class for kissme
	* classes/java/lang/Throwable.java: Borrowed from libgcj/Classpath 
	for a while

	* kissme_test/StackTrace.java: Test printing top level stack trace
	* kissme_test/StackTrace2.java: Test printing of wrapped exception 
	traces
	
2002-10-05  Stephen Crawley <crawley@dstc.edu.au>
	* hitme/basic/types/FloatType.java: Added a subtest that exercised
	a VM bug (fixed)
	* lib/indigenous/java.lang/Runtime.c: The traceInstructions()
	and traceMethodCalls() methods now enable/disable some relevant
	trace channels.
	* vm/interp/comparison_and_branches.h: tweaked trace/debug prints
	* vm/interp/loop.c: ditto

2002-10-02  John Leuner  <jewel@debian.org>
	* vm/thread.c (java_lang_Thread__initC): Moved code around 
	to work with older gcc
	* Makefile.am (bin_PROGRAMS): Changed to make kissmebin 
	instead of kissme
	* useful_scripts/kissme: ditto

2002-09-27  Stephen Crawley <crawley@dstc.edu.au>
	* vm/classfil.h (ResolveFieldref): removed a spurious panic that
	occurs in code compiled using recent jikes compilers.  Also
	simplified the logic.

2002-09-26  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/interp/primitive_conversion.h: fixed rounding bug in f2l,
	d2i and d2l instructions.

2002-09-25  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/interp/loop.c: fixed cast bug in ldc_w for 'float' constants.
	Used Sun standard names for ldc, ldc_w and ldc2_w instructions.
	* vm/interp/primitive_conversion.h: fixed rounding bug in f2i.

	* vm/disass.c: used Sun standard names for ldc, ldc_w, ldc2_w
	* vm/opcodes.h: ditto
	* vm/interp/comparison_and_branches.h: added float debugging
	* config.h: added DEBUG_FLOAT flag
	* hitme/basic/types/FloatType.java: added more subtests

2002-09-22  Stephen Crawley <crawley@dstc.edu.au>
        * vm/classfile_internal.c (setupConstantPool): rewrite float constant
	loading to handle NaNs correctly.
	* vm/interp_methods.h: added isJavaFloatNaN & isJavaDoubleNaN because
	standard isnan() might not detect all possible NaN values
	* vm/interp/interp.c: ditto
	* vm/interp/interp.c: ditto
	
2002-09-17  Stephen Crawley <crawley@dstc.edu.au>
	* hitme.tests: added hitme tests to look at NaN constant expressions
	* hitme/basic/types/DoubleType.java: (new) ditto
	* hitme/basic/types/FloatType.java: (new) ditto

	* vm/classloader_tuple.c: fixed dubious code to load static consts
	with type 'float'
	* vm/interp/comparison_and_branches.h: fixed dubious code in 
	fcmpl and fcmpg instructions.

	* useful_scripts/mauve-kissme: revisit java.net tests: some
	can now be enabled

2002-09-15  Stephen Crawley <crawley@dstc.edu.au>		
	* classes/java/lang/reflect/Field.java: removed old debug prints
	* lib/indigenous/java.lang/VMSecurityManager.c: ditto

2002-09-14  Stephen Crawley <crawley@dstc.edu.au>
	* useful_scripts/mauve-kissme: java.io.RandomAccessFile.raf
	test have been fixed (in Mauve CVS) to avoid infinite loop
	
        * vm/thread.c: java.lang.Thread.setPriority cannot be honoured
	by Kissme on Linux.  Implement it as a no-op.

2002-09-13  Stephen Crawley <crawley@dstc.edu.au>
        * vm/thread.c: implement daemon thread behaviour
	* vm/thread.h: ditto
	* vm/threadinfo.c: ditto
	* vm/threads_native.h: ditto
	* vm/startup.c: ditto

	* Makefile.am: added standalone HitMe tests for daemon thread
	behaviour.  (They test what happens to other threads when the main 
	threads exit.)
	* hitme/basic/lang/DaemonThreads.java: ditto
	* hitme/basic/lang/DaemonThreads2.java: ditto
	
	* hitme/basic/lang/ThreadInterrupts.java: added subtest for interrupt
	to a thread doing blocking I/O.  (Currently it fails ...)

2002-09-11  Stephen Crawley <crawley@dstc.edu.au>
        * vm/jni.c(NewGlobalRef,DeleteGlobalRef): fixed a memory overwrite
	bug in NewGlobalRef.  Rewrote both procs to improve efficiency and
	clarity.

	* useful_scripts/mauve-kissme: fixed the Heisenbug (see above)

	* lib/indigenous/java.lang/Class_Reflection.c: minor cosmetic stuff
	* vm/newobject.c: ditto

	* classes/java/lang/Thread.java: javadoc changes from Classpath

2002-09-10  Stephen Crawley <crawley@dstc.edu.au>	
	* useful_scripts/mauve-kissme: disabled a couple of tests that
	tickle a Heisenbug ... sigh.

2002-09-09  Stephen Crawley <crawley@dstc.edu.au>
        * useful_scripts/mauve-kissme: the java.io.ObjectInputOutput
	and java.io.ObjectStreamClass tests now 'work'
	
	* hitme/basic/lang/WaitNotify.java: exercise timed wait and
	wait interrupts

	* lib/indigenous/java.lang/Runtime.c: only respect calls to
	java.lang.Runtime.gc() if kissme is invoked with "-gc"
	* vm/kissme_main.c: ditto
	
	* Makefile.am: hitme needs the '-gc' flag

2002-09-08  Stephen Crawley <crawley@dstc.edu.au>
	* classes/java/lang/Runtime.java: javadoc change.  (Note: need
	to merge in other javadoc changes from GNU Classpath)

	* classes/java/lang/Thread.java: use GNU Classpath version, with
	a minor change to allow creation of the first Thread.

	* vm/thread.c: changed native methods to match GNU Classpath 
	java.lang.Thread implementation.  Implemented interrupt() and
	associated behaviour for Thread.sleep and Object.wait.
	* vm/thread.h: ditto
	* vm/threadinfo.c: ditto
	* vm/threadinfo.h: ditto
	* vm/locks.c: ditto
	* vm/locks.h: ditto
	* vm/threads_native.h: ditto
	* vm/interp/interp.c: ditto
	* vm/native/java_lang_Thread_natives.h: ditto
	* vm/sys_linux_host/locks.c: ditto

	* vm/startup.c: tracking kissme internal API changes
	* vm/garbage/mark/mark.c: ditto
	* vm/interp/method_return.h: ditto
	
	* vm/garbage/garbage.c: added GARBAGE_{Enter,Exit}GCRegion. 
	Various changes to logging.
	
	* lib/indigenous/java.lang/Runtime.c: cosmetic tidyups
	* lib/indigenous/java.lang/Throwable.c: ditto
	
	* useful_scripts/mauve-kissme: PipedStream.close test "works", now
	that java.lang.Thread.interrupt() is implemented.

	* hitme/basic/lang/WaitNotify.java: new test
	* hitme.tests: incorporated new tests into test list

2002-09-07  Stephen Crawley <crawley@dstc.edu.au>
	* vm/jni.c (JNI_Init): fix to remove compilation warning messages
	
	* hitme/basic/lang/GCAndThreads.java: test for GC / thread synchro

2002-09-01  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/sys_linux_host/kissme_classload.c: added trace prints
	for ZIP loader directory caching.
	
	* vm/classfil.c (CONSTGET_Class): cosmetic simplification
	
	* hitme/basic/lang/ThreadInterrupts.java,
	  hitme/basic/lang/Threads.java: tests for Thread native calls

	* vm/garbage/garbage.c vm/garbage2.h: added prototypes for new
	GARBAGE_{Enter,Exit}GCRegion methods, and (re-)documented the
	GC entry protocols.
	
2002-08-28  John Leuner  <jewel@debian.org>

	* useful_scripts/mauve-kissme: verified that 
	CASE_INSENSITIVE_ORDER test works

2002-08-28  John Leuner  <jewel@debian.org>

	* useful_scripts/mauve-kissme: reenabled some tests which don't
	hang or crash

2002-08-27  John Leuner  <jewel@debian.org>

	* vm/classfil.c (CLASSFILE_UidInstFieldOffset): Changed to
	not panic when field not found

	* vm/jni.c (JNI_Init): added check for error in loading
	special fields of j.l.Class class

2002-08-27  John Leuner  <jewel@debian.org>

	* Updated configure.ac and config.h to 0.0.27
	* Removed config.in

2002-08-26  John Leuner  <jewel@debian.org>

	* lib/zip/zextract.c: ugly fix for endian problem when checking
	zip magic header

2002-08-26  Stephen Crawley <crawley@dstc.edu.au>

	* vm/native/natives_init.c (NATIVES_InitNatives): panic if we
	find more native methods than the class declares.  This avoids
	an array overrun that trashes the malloc heap.
	
	* vm/diag.*, vm/initialize.c: new trace channel for class
	static initialization

2002-08-22  John Leuner  <jewel@debian.org>

	* vm/jni_native_call.c (JNI_CallNativeMethod): 
	return longs correctly on big-endian
	must still fix doubles

2002-08-21  John Leuner  <jewel@debian.org>

	* vm/interp/loop.c (Interpret): added powerpc check for ldc2w
	of longs

	* vm/garbage/garbage.c: Changed code to use katomic_set
	* vm/locks.c (THREAD_SynchroniseEnter): added powerpc assembly for
	compare and swap
	* util/katomic.c: added powerpc katomic_compare and katomic_set.
	
	* vm/classloader_tuple.c (CLASSLOADER_TUPLE_InitializeConstants): Changed
	to use CONSTGET_Int. Couldn't create test for endian issues.

	* vm/classfile_methods.h (CONSTGET_Long_High): removed these long accessors

2002-08-19  John Leuner  <jewel@debian.org>

	* acinclude.m4: reverted previous change for Classpath test

2002-08-19  John Leuner  <jewel@debian.org>

	* vm/kissme_main.c (scanConfigFile): Fixes to parse config 
	without failing

	* configure.ac: Changed version to 0.0.26

	* acinclude.m4: Changed GNU Classpath test to work for 
	installed classpath.

	* Makefile.am: added missing header file to noinst_HEADERS

2002-08-16  Stephen Crawley <crawley@dstc.edu.au>

	* vm/interp/comparison_and_branches.h: fix the implementation
	of the fcmpl, fcmpg, dcmpl and dcmpg instructions to use isnan() 
	to test for NaN values.

	* useful_scripts/mauve-kissme: get rid of the exclusion of
	testcase 'gnu.testlet.java.lang.Float.FloatTest.

2002-08-15  Stephen Crawley <crawley@dstc.edu.au>	
	* vm/interp/interp.c: fixed a buggy call to panic.
	
	* vm/jni_native_call.c: JNI_CallNativeMethod has to push the
	thrown Exception when it calls (*env)->Throw(...) directly;
	e.g. when it can't find a native method.  This fixes a panic
	in 'gnu.testlet.java.lang.Class.reflect'.

	* useful_scripts/mauve-kissme: get rid of the exclusion of
	testcase 'gnu.testlet.java.lang.Class.reflect'.

2002-08-14  Stephen Crawley <crawley@dstc.edu.au>	
	* lib/indigenous/java.lang.reflect/Field.c: implemented the
	'java.lang.reflect.Field.getXXX' methods for primitive types.

	* useful_scripts/mauve-kissme: get rid of the exclusion of the 
	mauve testcases 'java.lang.String.CASE_INSENSITIVE_ORDER' and 
	'java.util.HashMap.AcuniaHashMapTest'.  The corresponding fatal bugs
	have been fixed in the Classpath and Kissme CVS respectively.

	* useful_scripts/mauve-kissme: add an exclusion for the new testcase
	'java.io.RandomAccessFile.raf' which goes into an infinite loop.
	
2002-08-13  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/Class.c: added checks for interface 
	and primitive types to getSuperclass()

2002-08-10  Stephen Crawley <crawley@dstc.edu.au>

	* vm/classloader_tuple.c: removed a couple of eprintfs

2002-07-30  Stephen Crawley <crawley@dstc.edu.au>	

	* Makefile.am: tweak the mauve regression rule to only force the
	recompilation of the mauve test-cases when necessary.

	* useful_scripts/mauve-kissme: reenabled some mauve test cases 
	that no longer crashes (with fixes below).
	
	* vm/classloader_tuple.c: added CLASSLOADER_TUPLE_GetClassObject that
	gets the class object with lazy initialization.  Added an assert
	to CLASSLOADER_TUPLE_MakeClassObject to trap attempts to create
	the class object twice.
	* vm/classloader_tuple.h: ditto
	
	* lib/indigenous/java.lang/Class_Reflection.c: replace calls to
	CLASSLOADER_TUPLE_MakeClassObject with ..._GetClassObject.  This
	fixes bugs (e.g. segmentation faults) where NULL class objects 
	were being used.  It also avoids creating the class object over
	and over.
	* lib/indigenous/java.lang/VMSecurityManager.c: ditto
	* lib/indigenous/java.lang.reflect/Method.c: ditto
	

2002-07-29  Stephen Crawley <crawley@dstc.edu.au>

	* useful_scripts/mauve-kissme: excluded a couple more Mauve
	tests that cause kissme crashes
	
2002-07-28  Stephen Crawley <crawley@dstc.edu.au>

	* vm/garbage/allocator.c: fix GC bug.  The collector was not
	marking the Class objects for the primitive types.  This was
	causing them to get trashed.
	* lib/indigenous/java.lang/VMClassLoader.h: ditto
	* lib/indigenous/java.lang/VMClassLoader.c: ditto
	
	* vm/interp/loop.c: integrate tracing of opcodes, opstacks and
	locals with the DIAG subsystem
	* lib/indigenous/java.lang/VMSystem.c: ditto

2002-07-25  Stephen Crawley <crawley@dstc.edu.au>	

	* lib/indigenous/java.lang/Class_Reflection.c: fixed bug in the
	  four java.lang.Class.getConstructor methods.  A missing class
	  in one of the constructor signatures would result in a SEGV.
	  Added a panic to CLASS_CreateReflectedMethodArguments for a
	  similar case. 

2002-07-25  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/Class_Reflection.c 
	  (Java_java_lang_Class_getMethod): fixed compilation error

2002-07-24  Stephen Crawley <crawley@dstc.edu.au>

	* vm/garbage/oldheap.c (OLDHEAP_SweepAndCompact): GC bug fix.
	  When IN_PLACE_CONDITION is enabled, an object that is moved,
	  by the compacter must fix its condVariable pointer.
	* vm/jni_native_call.c: fixed compilation error that occured
	  when DEBUG is enabled.

2002-07-21  Stephen Crawley <crawley@dstc.edu.au>

	* vm/startup.c (STARTUP_startup): if the "main" class load fails,
	  check the exception is non-null before calling printStackTrace.

2002-07-19  Stephen Crawley <crawley@dstc.edu.au>

        * Makefile.am: fixing bugs in the mauve rules

2002-07-17  Stephen Crawley <crawley@dstc.edu.au>

        * Makefile.am, useful_scripts/mauve-kissme: Added Mark Wielaard's
	  mauve-kissme keys and an associated make rule
	
2002-07-16  John Leuner  <jewel@debian.org>

	* vm/interp/loop.c: Removed debugging statement
	* vm/interp/get_and_put.h: Added initialization check
	  to putstatic to match getstatic

2002-07-16  John Leuner  <jewel@debian.org>

	* configure.ac, useful_scripts/buildtest.sh.in,
	  useful_scripts/mauveTest.sh.in:  Contribution from Alex Lau for 
	  building mauve tests.

2002-07-17  Stephen Crawley <crawley@dstc.edu.au>

	* Makefile.am:  Added rule to run mauve-kissme regression test.
	  This relies on a 'mauve-kissme' file in the mauve directory.

	* lib/indigenous/java.lang/Class.c: fixing compilation warnings.
	* lib/indigenous/java.lang/Class.h: ditto
	* lib/indigenous/java.lang/Class_Reflection.c: ditto
	* lib/indigenous/java.lang/VMClassLoader.c: ditto
	* lib/indigenous/java.lang/VMSystem.c: ditto
	* lib/indigenous/java.lang.reflect/Field.c: ditto
	* lib/indigenous/java.lang.reflect/Method.c: ditto
	* vm/classfile_internal.c: ditto
	* vm/classloader_tuple.c: ditto
	* vm/classloader_tuple.h: ditto
	* vm/jni.c: ditto
	* vm/jni_native_call.c: ditto
	* vm/newobject.c: ditto
	* vm/interp/get_and_put.h: ditto
	* vm/interp/interp.c: ditto
	* vm/interp/loop.c: ditto

2002-07-15  John Leuner  <jewel@debian.org>

	* vm/initialize.h, vm/initialize.c: Added new file to contain 
	  new initialization code

2002-07-15  John Leuner  <jewel@debian.org>

	* Makefile.am classes/java/lang/Class.java: Lots of work to refactor 
	  the way that class initialization is done. Some cases still 
	  unimplemented, not much testing done yet.
	
	* kissme_test/FrameTest.java lib/indigenous/java.lang/Class.c: idem
	* lib/indigenous/java.lang/Class_Reflection.c: idem
	* lib/indigenous/java.lang/Class_Reflection.h: idem
	* lib/indigenous/java.lang/Runtime.c: idem
	* lib/indigenous/java.lang/VMClassLoader.c: idem
	* lib/indigenous/java.lang/VMObject.c: idem
	* lib/indigenous/java.lang/VMSecurityManage: idemr.c
	* lib/indigenous/java.lang/VMSystem.c: idem
	* lib/indigenous/java.lang.reflect/Field.c: idem
	* lib/indigenous/java.lang.reflect/Method.c vm/classfil.c: idem
	* vm/classloader_tuple.c vm/jni.c vm/jni_native_call.c: idem
	* vm/newobject.c vm/newobject.h vm/startup.c: idem
	* vm/interp/get_and_put.h vm/interp/interp.c vm/interp/loop.c: idem
	* vm/interp/method_invocation.h: idem
	* vm/sys_linux_host/kissme_classload.c: idem
	* vm/sys_linux_host/kissme_classload.h vm/sys_linux_host/locks.c: idem

2002-07-14  Stephen Crawley <crawley@dstc.edu.au>

	* various: removed the old .makeme files

2002-07-13  John Leuner  <jewel@debian.org>

	* vm/interp/load_and_store.h: Added checks for array index >= 0 
	  in array store opcodes

2002-07-14  Stephen Crawley <crawley@dstc.edu.au>

	* vm/classfil.c, vm/persist.c, vm/uid.c, vm/interp/interp.c,
	  vm/disass.c, vm/jni.c, vm/jutils.c, 
	  lib/indigenous/java.lang/Runtime.c
	  replacing exit(1) calls

	* vm/diag.c (DIAG_FatalError, DIAG_FatalError0)
	  really call exit()
	
2002-07-12  Stephen Crawley <crawley@dstc.edu.au>

	* vm/interp_methods.h, vm/interp/*: use per-exception methods
	  to throw exceptions/errors from the main interpretter loop.
	  Replaced calls to exit(1) in interpretter loop with panic().

2002-07-08  Stephen Crawley <crawley@dstc.edu.au>	

	* various files: more replacing #ifdef'ed eprintf calls with
	  calls to trace methods.  

2002-07-05  Stephen Crawley <crawley@dstc.edu.au>

	* various files: more replacing #ifdef'ed eprintf calls with
	  calls to trace methods.  Replaced TRACESTORE with a new
	  flag PERSIST_VERBOSE to enable voluminous traceprints.

	* doc/PERSISTENCE: note about memory mapping the store file.

2002-07-03  Stephen Crawley <crawley@dstc.edu.au>

	* various files: more replacing #ifdef'ed eprintf calls with
	  calls to trace methods.  Replaced SHOWLOADING with a new
	  flag LOADING_VERBOSE to enable less useful traceprints.
	
	* vm/classloader_tuple.c (CLASSFILE_LoadAndLink): after loading
	  a class, if a tuple is already in the CPLIST check that it is
	  the tuple we've just loaded.

2002-07-02  Stephen Crawley <crawley@dstc.edu.au>

	* various files: replacing #ifdef'ed eprintf calls with
	  calls to trace methods.

2002-06-30  Stephen Crawley <crawley@dstc.edu.au>	

	* vm/diag.c, vm/diag.h: completed impl'n and defined channels
	* vm/kissme_main.c: added "-t" command-line option for enabling 
	  tracing, etcetera.
	* many files: removed "#include <assert.h>".
	  Replaced "assert(1==2)" with more informative "panic" calls.
	  Started replacing printf/eprintf trace prints with calls to
	    the relevant trace<Channel>(...) calls.

2002-06-29  John Leuner  <jewel@debian.org>

	* doc/index.html: Updated for 0.25 release 
	* README: Updated for 0.25 release. Tagged release.

2002-06-28  John Leuner  <jewel@debian.org>

	* AUTHORS: added Russell Smyth

2002-06-29  Stephen Crawley <crawley@dstc.edu.au>

	* Makefile.am: added trivial.java and helloworld.java to 
	  the EXTRA_DIST list.  (doc/BUILDING refers to them.)
	
        * acinclude.m4: renamed --with-kissme-classpath to --with-kcp.
	  Improved ./configure's error messages.  Fixed to work when 
	  KCP and/or GNU Classpath build dirs are not found.  Fixed 
	  other bugs in the dependency checking.
	
	* doc/BUILDING: removed recommendations against using ZIP files,
	  added trouble-shooting hints, --with-kcp.
	
	* doc/index.html, doc/previous-releases.html: new versions,
	  different dependencies & build instructions.
	
	* AUTHORS: added yours truly ...

2002-06-28  Stephen Crawley <crawley@dstc.edu.au>

	* Makefile.am, configure.ac: reinstated KCP build rules, added
	  'hitme' to the list of stuff in the distro, and fixed 'hitme'
	  build rule bug.

2002-06-26  John Leuner  <jewel@debian.org>

	* lib/zip/zextract.c: fixed compiler warnings.

2002-06-26  Stephen Crawley <crawley@dstc.edu.au>

	* vm/diag.c, vm/diag.h: added more methods and fixed bugs.

2002-06-25  John Leuner  <jewel@debian.org>

	* vm/sys_linux_host/kissme_classload.c (getClassData): modified 
	  .jar case to use native zip loader

2002-06-25  John Leuner  <jewel@debian.org>

	* vm/sys_linux_host/kissme_classload.c (getFromFileSystem): moved 
	  SHOWLOADING code to fix compile error

2002-06-25  John Leuner  <jewel@debian.org>

	* vm/kissme_main.c (checkClasspathEntry): added check for .jar suffix

	* vm/classfile_internal.c: Added checked for deprecated field 
	  attribute (ignored)

2002-06-24  John Leuner  <jewel@debian.org>

	* vm/jni.c (NewGlobalRef): Fixed bug where lock wasn't being released 
	  in the case where reference already existed

2002-06-20  John Leuner  <jewel@debian.org>

	* vm/sys_linux_host/kissme_classload.c (getFromFileSystem): fixed
	  memory leak

	* vm/sys_linux_host/kissme_classload.c (getFromZipLoader): Added 
	  caching of zip files via a Hashtable.
	  Added caching of zip file directory entries via a hash table.
	  Probably not the cleanest, most memory efficient code, but it
	  seems to work and seems fast.

2002-06-20  Stephen Crawley <crawley@dstc.edu.au>

	* vm/diag.c, vm/diag.h: first cut at systematic diagnostics
	  routines and macros.

2002-06-19  Stephen Crawley <crawley@dstc.edu.au>

	* vm/interp/interp.c: tidied indentation and #ifdef'd out some
	  unused "INTERP_Run*_with_native_stack" routines.
	* useful_scripts/merge_kissme_classpath.sh.in: no need to
	  include .uni files.  Classpath no longer uses them.

2002-06-17  Stephen Crawley <crawley@dstc.edu.au>

	* Makefile.am: change run-muave to propagate TESTFLAGS
	* doc/BUILDING: document above change

2002-06-15  Stephen Crawley <crawley@dstc.edu.au>	

	* doc/BUILDING: updated documentation for running tests, etcetera
	* Makefile.am, configure.ac: added rules for Mauve, and renamed 
	  rules with underscores to minus; e.g. build_kcp => build-kcp

2002-06-14  John Leuner  <jewel@debian.org>

	* oldheap.c: Faster initializer
	* uid.c, hash.h: changed order of includes

2002-06-13  Stephen Crawley <crawley@dstc.edu.au>

	* vm/jni.c: cosmetic changes
	* doc/BUILDING: note that native ZIP loading works now

2002-06-12  Stephen Crawley <crawley@dstc.edu.au>	
	
	* Makefile.am: was building ZIP files the wrong way, resulting
	  in the ZIP contents having the wrong filenames.
	* vm/classloader_tuple.c: suppressed more misleading trace prints

2002-06-11  Stephen Crawley <crawley@dstc.edu.au>

	* vm/sys_linux_host/kissme_classload.c: suppressed some misleading
	  trace printing.
	* acinclude.m4: fixed bugs in configuring kcp merging / building 
	* useful_scripts/merge_kissme_classpath.sh.in: ditto

2002-06-10  Stephen Crawley <crawley@dstc.edu.au>	

        * Makefile.am, acinclude.m4, configure.ac, useful_scripts/kissme.in:
	  added support for building zip files and using glibj.zip for
	  bootstrapping.
	* doc/BUILDING: documented new configure options, etcetera.

---Many changes not logged---

2001-10-06  John Leuner <jewel@debian.org>

	* many files: made changes to run java-gnome
	* interp.c: changes to run native static method as first method of
	  interpreter loop
	* jni.c and jni.h: changes to support proper JNI function table 
	  (added fns and changed order)
	
2001-09-22  John Leuner  <jewel@debian.org>

	* lib/classpath/awt/gnu_java_awt_peer_gtk_GtkImagePainter.c: removed 
	  method call to unknown method

	* lib/classpath/awt/gnu_java_awt_image_GdkPixbufDecoder.c 
	  (area_updated): removed block of code to allow this file to compile
	

Fri Aug 10 23:43:32 2001  John Leuner  <jewel@debian.org>

	* vm/interp/method_invocation.h 
	  (invokenonvirtual): added check for non-static method
	  (invokestatic:): added check for static method
	  (invokevirtual:): added check for non-static method

Thu Aug  9 15:00:41 2001  John Leuner  <jewel@debian.org>

	* classes/java/lang/Class.java: Imported getComponentType() from
	  Classpath

	* vm/newobject.c (INTERP_NewArray): Added test for negative array size
	added check for overflow when calculating memory to be allocated

Sun Aug  5 02:08:34 2001  John Leuner  <jewel@debian.org>

	* README : Release 0.17

	* vm/classfile_internal.c (buildClassInfo): now returns an error if
	  an interface isn't found

	* vm/classfil.c (ResolveMethodrefNonVirtual): changed Throw to 
	  ThrowNew and added an error message

	* lib/indigenous/java.lang/VMSystem.c: Added more checks in arraycopy

Fri Aug  3 01:24:47 2001  John Leuner  <jewel@debian.org>
	
	* vm/native/teaseme_console_curses_CursesConsole_natives.h: added
	  new entries

	* lib/curses/CursesConsole.c 
	  (Java_teaseme_console_curses_CursesConsole_native_1clrtoeol): Added 
	  new methods to this interface

	* vm/garbage/oldheap.c (OLDHEAP_SweepAndCompact): added a + 1 to sweep
	  the last block of the heap

	* vm/newobject.c (NewStringFromAsciz): Added GlobalRef lines to
	  preserve handles in GC

Sun Jul 29 23:33:42 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/Class_Reflection.c 
	  (Java_java_lang_Class_getMethods_Helper): changed NewArray to 
	  NewObjectArray to prevent GC bugs

	* vm/classfil.c (CLASSFILE_ResolveMethodExceptions): Added check for 
	  case when exception class is already resolved

Thu Jul 26 14:36:19 2001  John Leuner  <jewel@debian.org>

	* vm/jvmdi/monitors.c: Created implementations for all these methods,
	  used existing lock framework

Wed Jul 25 22:12:24 2001  John Leuner  <jewel@debian.org>

	* vm/thread.c: changed _join to throw an InternalError (in place of 
	  false assertion)

	* vm/interp/loop.c: changed the code that runs an initial native
	  method to work correctly with CallNativeMethod

Fri Jul 20 19:16:57 2001  John Leuner  <jewel@debian.org>

	* vm/sys_linux_host/locks.c (sys_condition_wait): changed this to 
	  call EnterGCPoint periodically
	  (sys_condition_wait_nogc): created this for the GC to use

	* vm/thread.c(yield): removed assertion

	* lib/indigenous/java.lang/Class_Reflection.c 
	  (CLASS_UnwrapObject): Added case for Boolean
	  (Java_java_lang_Class_getDeclaredMethod): Created uidName properly,
	    moved testsig out of array, got class correctly, created method 
	    object properly.

Wed Jul 11 15:29:10 2001  John Leuner  <jewel@debian.org>

	* vm/native/java_io_RandomAccessFile_natives.h: created entries with 
	  HeaderParser

	* vm/native/java_io_File_natives.h: created entries with HeaderParser

	* vm/jni.c (CreateLocalRef): returns if obj == NULL

Mon Jul  2 13:02:02 2001  John Leuner  <jewel@debian.org>

	* vm/jni.c (NewObjectArray): changed to allocate an array of arrays
	  when necessary

Sun Jun  3 14:00:20 2001  John Leuner  <jewel@debian.org>

	* README: Release 0.14

Mon May 28 11:42:54 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/Class_Reflection.c 
	  (Java_java_lang_Class_getMethods_Helper): added this method
	  (Java_java_lang_Class_getDeclaredMethods): changed to use above
	  (Java_java_lang_Class_getMethods): changed to use above

	* lib/indigenous/java.lang/VMSystem.c (arraycopy): Changed memcpy to 
	  memmove for same array case

Fri May 18 09:21:17 2001  John Leuner  <jewel@debian.org>

	* README: Release 0.13

Thu May 17 14:19:20 2001  John Leuner  <jewel@debian.org>

	* useful_scripts/make_classpath_dist.sh: Created this script to build 
	  releases

	* vm/kissme_main.c (ProcessArgs): Fixed bug with incorrect number of 
	  arguments passed to Java program
	  (ProcessArgs): changed -classpath to be the same as -cp and added
	    -bootclasspath

	* vm/sys_linux_host/kissme_classload.c: Changed to take a pointer to 
	  the mutex, uses new methods
	  (getClassDataFromFileSystem) added this method, loads a class from 
	    local fs
	  (getClassFromByteArray): calls ClassCreate on an array of bytes
	  (getClassDataFromJavaLoader): invokes the JavaClassLoader to load 
	    a class from a zip or jar file	

Thu May 17 14:18:04 2001  John Leuner  <jewel@debian.org>

	* many vm files: Made changes to migrate from tClass to 
	  tClassLoaderTuple

Thu May 17 12:37:25 2001  John Leuner  <jewel@debian.org>

	* vm/classfil.c (ResolveClass): Now returns NULL when a field has
	  a type which can't be loaded

	* vm/interp/loop.c (getstatic): Changed to accomodate change below

	* vm/interp/loop.c (putstatic): idem

	* vm/classfile_methods.h 
	  (CONSTGET_Field): Changed from CONSTGET_FieldClass

	* vm/classfil.c (CLASSFILE_ResolveMethodExceptions): added this 
	  method to resolve handled exception types for a method

	* classes/kissme/vm/loaders/ZipClassLoader.java: Created this file
	  (getClassData) added this method
	
	* classes/kissme/vm/loaders/JarClassLoader.java: Created this file
	  (getClassData) added this method
	
	* classes/kissme/vm/loaders/JavaClassLoader.java: Created this file
	  added three constant types, JAR, ZIP and HTTP
	  added method getClassData which handles JAR and ZIP types

	* vm/classfile_internal.c: Created this file with methods from 
	  classfil.c
	  (setupConstantPool): removed CONSTANT_Unicode case
	  (readMethodsInfo): enabled loading of caught exceptions list

Tue May  1 20:38:48 2001  John Leuner  <jewel@debian.org>

	* vm/classfil.c: Added check to see if class loaded has the correct 
	    name

	* vm/kissme_main.c (LoadLocalConfigFile): Added this method to read
	    a kissmerc file in the current directory
	  (LoadHomeConfigFile): Added this method to read a kissmerc file 
	    in the ~/.kissme/ directory
	  (LoadSystemConfigFile): Added this method to read a kissmerc file 
	    in the /etc/kissme directory
	  (ScanConfigFile): Added this method to parse the "classpath=<path>" 
	    line in the kissmerc file
	  (PrintHelp): Added this method to show usage
	  (ProcessArgs): Changed handling of -classpath slightly, added 
	    handling for -cp, added support for config files

	* vm/garbage/allocator.c (ALLOCATOR_Init): set heap->iDuringGC = 0

Mon Apr 30 13:20:45 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang.reflect/Method.c 
	  (java_lang_reflect_Method_invokeNative): Changed to use VT for 
	  instance methods

	* lib/indigenous/java.lang/Class.c (isInstance): Changed to use
	  CheckCast 

	* vm/jni.c (NewObjectV): Now throws exception that occurred in 
	    Constructor
	  (NewObjectA): Now throws exception that occurred in Constructor
	  (NewObject): Now throws exception that occurred in Constructor

	* vm/interp/interp.c (CatchExceptionHelper): Changed to call the 
	    new printStackTrace method
	  (printStackTrace): Changed to call the printStackTrace() method
	    on the exception object

	* vm/jni.c (GetMethodID): Changed to use FindMethodInVT instead of 
	    FindMethod

Mon Apr 30 00:28:49 2001  John Leuner  <jewel@debian.org>

	* vm/newobject.c (NewArray): added check to see if signature is 
	    already in L<blah>; form
	
	* vm/interp/interp.c (CheckCast): added check to make arrays an 
	    instance of Cloneable

Mon Apr 30 00:00:07 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang.reflect/Method.c 
	  (java_lang_reflect_Method_invokeNative): Changed this to use 2 new 
	    utility methods

	* lib/indigenous/java.lang/Class_Reflection.c: Fixed a bad string 
	    for clazzField

	* lib/indigenous/java.lang.reflect/Constructor.c 
	  (java_lang_reflect_Constructor_constructNative): Fixed this to use 
	    the new methods below

	* lib/indigenous/java.lang/Class_Reflection.c 
	  (CLASS_CreateReflectedMethodArguments): Added this method
	  (CLASS_CheckNumReflectionMethodArguments): Added this method

Sun Apr 29 23:59:34 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/VMObject.c (clone): Added check for the 
	    array case and implemented the copy

Sun Apr 29 18:08:27 2001  John Leuner  <jewel@debian.org>

	* lots of files: changed many functions to have a JNIEnv* pointer,
	    this was because I needed to catch exceptions that are thrown
	    when executing static initializers for classes
	
	* vm/classfile_methods.h: Added this file, it has function prototypes 
	    that were previously in classfil.h

	* vm/interp_methods.h: Added this file, it has function prototypes
	    that were previously in interp.h

Thu Apr 26 22:14:33 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang.reflect/Method.c: rewrote all this code, 
	    especially invoke

	* lib/indigenous/java.lang/Class_Reflection.c: Created this file
	  (Java_java_lang_Class_isPrimitiveWrapper): created this method
	  (CLASS_CheckWrapperWidening): created this method
	  (CLASS_GetWrapperClass): created this method
	  (CLASS_UnwrapObject): created this method
	  (CLASS_WidenResult): created this method

	* lib/indigenous/java.lang/VMClassLoader.c: Added a lot of stuff for
	    dealing with the primitive types. Rewrote the way they are created
	
Thu Apr 26 22:05:31 2001 J. Russell Smyth <drfish@uswest.net>

	* lib/classpath/java.lang/Double.c fixed incorrect precision in
	    Double.toString()

Mon Apr 23 22:37:06 MST 2001 J. Russell Smyth <drfish@uswest.net>

	* vm/natives.c updated native method table for java.io.File

Mon Apr 23 22:16:49 MST 2001 J. Russell Smyth <drfish@uswest.net>

	* vm/natives.c updated native method table for java.io.RandomAccessFile

Mon Apr 23 15:36:32 2001  John Leuner  <jewel@debian.org>

	* vm/interp/interp.c: changed Run* methods to use an orphan frame
	* vm/interp/interp.c (CatchExceptionHelper): is now aware of bOrphan 
	    flag and will not print out a trace for these frames
	* vm/natives.c:	changed entries for Throwable and removed those for 
	    gnu/vm/stack/*
	* classes/gnu/vm/stack/StackFrame.java (toString): changed format to
	    be like JDK 
	* classes/java/lang/Throwable.java: Added trace field for storing 
	    trace information
	* classes/java/lang/Throwable.java (printStackTrace0): Added java 
	    implementation (was native)

	* lib/indigenous/java.lang/Throwable.c (fillInStackTrace): created
	    this method
	  (createStackTraceObject): created this method to help above method

Wed Apr 25 13:35:01 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/VMClassLoader.c 
	  (java_lang_VMClassLoader_makePrimitiveType): added this method
	  (primitiveStringToIndex): added this method
	  (java_lang_VMClassLoader_makePrimitiveTypes): added this method
	  (java_lang_VMClassLoader_getPrimitiveClassFromAsciz): added this
	    method
	  (java_lang_VMClassLoader_getPrimitiveClass): changed to use the
	    above new methods

Wed Apr 25 12:47:51 2001  John Leuner  <jewel@debian.org>

	* classes/java/lang/Class.java: changed getComponentType to native

Wed Apr 25 12:46:30 2001  John Leuner  <jewel@debian.org>

	* classes/gnu/vm/stack/StackFrame.java: updated to newest classpath 
	    version

	* classes/gnu/vm/stack/StackTrace.java: updated to newest classpath 
	    version

	* classes/java/lang/Throwable.java: Updated to newest Classpath 
	    version

Wed Apr 25 12:44:55 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang.reflect/Method.c 
	  (java_lang_reflect_Method_extractPointer): added this method
	  Changed the other methods to use extractPointer
	  Added mask to getModifiers()

Wed Apr 25 12:44:27 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/Class.c: Added native method for
	    getComponentType()
	
	* lib/indigenous/java.lang/ClassLoader.c: Created this file and
	    moved 4 methods which were in Class.c

Mon Apr 23 15:36:32 2001  John Leuner  <jewel@debian.org>

	* vm/interp/primitive_conversion.h: changed l2d to use double and 
	    long long, lots of other fixes

Wed Apr 18 15:48:49 2001  John Leuner  <jewel@debian.org>

	* vm/classfil.c: changed handling for CLASSFILE_ppszClassPaths

	* vm/interp_comparison_and_branches.h: changed dcmpg and dcmpl to
	    return correct values

Mon Apr 16 18:48:22 2001  John Leuner  <jewel@debian.org>

	* vm/classfil.c: Fixed a bug with the CONSTANT_Long where the tag 
	    for the second word wasn't set to 0

Sun Apr 15 14:51:23 2001  John Leuner  <jewel@debian.org>

	* vm/kissme_main.c (main): Changed T_ARRAY to T_OBJECT when creating 
	    the initial array of strings that contain arguments to the main
	    method

Fri Apr 13 20:46:03 2001  John Leuner  <jewel@debian.org>

	* vm/jni.c: Swapped around two words in the return handling code 
	    for JNI_CallNativeMethod for a jlong

Fri Apr 13 10:45:04 2001  John Leuner  <jewel@debian.org>

	* lib/indigenous/java.lang/Class.c: Added getConstructors, which
	    uses the VT, moved the old code in there to
	    getDeclaredConstructors (uses pstMethods)

Thu Apr 12 18:49:56 2001  John Leuner  <jewel@debian.org>

	* vm/interp_comparison_and_branches.h: changed to use long long

	* vm/classfil.c: Added a method called locgetu8(), which gets 8
	    bytes in little endian order
	    Used this for loading constant long values

Thu Apr 12 17:52:50 2001  John Leuner  <jewel@debian.org>

	* vm/interp_load_and_store.h (laload:): changed to use long long

	* vm/interp_constants.h (lconst_0:): works with long long
	  (lconst_1:): changed to use long long

	* vm/interp_loop.c (ldc2w:): works with long long

	* vm/interp_primitive_conversion.h (i2l:): changed to use long long
	  (l2i:): changed to use long long

	* vm/interp_arithmetic_and_logic.h (lmod:): changed to use long long
	  (ldiv:): changed to use long long
	  (lneg:): changed to use long long
	  (lshl:): changed to use long long
	  (lshr:): changed to use long long
	  (lushr:): changed to use long long
	  (land:): changed to use long long
	  (lor:): changed to use long long
	  (lxor:): changed to use long long
	  (ladd:): changed to use long long
	  (lsub:): changed to use long long
	  (lmul:): changed to use long long

Wed Apr 11 15:18:32 2001  John Leuner  <jewel@debian.org>

	* vm/garbage2.c: added check in Garbage_Thread which notices when
	    there are more or less threads required in the GC point

Wed Apr 11 15:17:14 2001  John Leuner  <jewel@debian.org>

	* vm/interp_loop.c: added null pointer check in getfield

Tue Apr 10 23:49:58 MST 2001 J. Russell Smyth <drfish@uswest.net>

	* vm/natives.c: Added native methods for java.io.ObjectOutputStream

	* vm/natives.c: restored java.math.BigInteger subtact and print to
	* allow build/test. These methods are dummied in extra/classpath_missing.c

	* vm/natives.c: fix java.net.InetAddress.getHostByAddr

Tue Apr 10 22:58:22 MST 2001 J. Russell Smyth <drfish@uswest.net>

	* vm/natives.c: Added native methods for java.net.PlainDatagramSocketImpl

	* lib/classpath/java.net/PlainDatagramSocketImpl.c: 
	    rearranged the #ifdef
	* CLASSPATH_NETWORKING to be after #include <jni.h> so that 
	    config.h has loaded first

Fri Apr  6 00:50:23 MST 2001

	* vm/natives.c: Updated java.Math natives

Thu Apr  5 23:44:48 MST 2001 J. Russell Smyth <drfish@uswest.net>

	* vm/natives.c: Added missing java.math.BigInteger natives

	* added "extra" dir for temporary and misc. files
 
	* added extra/classpath_missing.c to contain native functions 
	    missing from classpath native files

	* updated .makeme files for new extra dir

Tue Mar 20 16:24:08 2001  John Leuner  <jewel@debian.org>

	* vm/natives.c: Removed reference to old System.h

	* include/java_lang_System.h: Created this file (created by javah)

	* vm/jni.c (ReleaseStringUTFChars): Added const to the last argument
	    (to match JNI spec)

	* lib/indigenous/java.lang/System.c: This code was made redundant by
	    the classpath equivalent

	* lib/indigenous/java.lang/Object.c: This code was made redundant by 
	    the classpath equivalent

Mon Mar 19 13:42:21 2001  John Leuner  <jewel@debian.org>

	* vm/jni.c (JNI_CallNativeMethod): Removed an i++ statement in the 
	    loop that creates the localRefs array (in the array case)

	* vm/newobject.c (MultiNewArray): Changed '[' and 'L' case to
	    use pszSig + 1

	* vm/natives.c: added about 40 entries for BigInteger native methods
	* vm/natives.c: added mkdirInternal for java.io.File

Mon Mar 19 13:34:36 2001  John Leuner  <jewel@pixie.co.za>

	* vm/jni.c (MonitorEnter): Changed this to call 
	    THREAD_SynchroniseEnter (previously exited)
	  (MonitorExit): Changed this to call THREAD_SynchroniseExit
	    (previously exited)
	  (NewGlobalRef): Now returns the new ref (previously NULL)

	* vm/classfil.c: Initialized the pstCode->pstLineNumberTable
	    and pstExceptionTable to NULL

	* vm/interp.c (INTERP_FigureOutLineNumber): Changed 
	    FigureOutLineNumber to check for a NULL pstLineNumberTable. 

Mon Mar 12 22:13:50 2001  John Leuner  <jewel@pixie.co.za>

	* vm/garbage/mark/mark.c: Fixed marking bug in RecursivelyMark for
	    marking object arrays. A single dereference was added to the
	    HEAPBOUND check.
	* Implemented new GC scheme whereby threads are no longer stopped 
	    for GC. Instead all threads call EnterGCPoint every now and 
	    again, and if necessary wait there while the garbage collector
	    thread runs.
	* Made changes to the way Java frames are stored. Most of the new
	    code is in vm/threadinfo.c, now every new call to Interpret has 
	    to register the new frame with the threadnode for the current 
	    thread.

Sun Jun  4 14:00:46 UTC 2000 John Leuner <jewel@pixie.co.za>

	* vm/threads_native.c: Fixed the lock handling code for 
	    Wait / Notify / NotifyAll

Tue May 30 16:26:20 UTC 2000  John Leuner <jewel@pixie.co.za>

	* vm/threads_native.c vm/garbage.c vm/garbage_native_source.h: 
	    Added support for GC for native threads. Very preliminary. 
	    Will probably only work on Linux (uses SIGSTOP to stop all
	    threads individually). Does some checking of C stack but this
	    needs to be done properly. 
	

	
