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 the 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. 
	

	
