+2000-03-07 Tom Tromey <tromey@cygnus.com>
+
+ * All files: Updated copyright information.
+ * COPYING: New file.
+ * COPYING.LIB: Removed.
+ * LIBGCJ_LICENSE: We now use GPL + special exception.
+
+2000-03-07 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * resolve.cc (_Jv_SearchMethodInClass): New function.
+ (_Jv_ResolvePoolEntry): Search superinterfaces for interface methods.
+ * java/lang/Class.h (_Jv_SearchMethodInClass): New prototype.
+
+2000-03-07 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * java/lang/Class.h (union _Jv_IDispatchTable): New declaration.
+ (struct _Jv_ifaces): New declaration.
+ JV_CLASS: New macro definition.
+ (getComponentType): Relocate below isArray() for inlining.
+ (getModifiers): Declare `inline'.
+ (getSuperclass): Ditto.
+ (isArray): Ditto.
+ (isPrimitive): Ditto.
+ (_Jv_IsAssignableFrom): New prototype.
+ (_Jv_LookupInterfaceMethodIdx): New prototype. Predeclare with "C"
+ linkage.
+ (_Jv_InitClass): Move from natClass.cc. Declare `inline'.
+ Check for JV_STATE_DONE before invoking initializeClass().
+ (_Jv_PrepareConstantTimeTables): New prototype.
+ (_Jv_GetInterfaces): Ditto.
+ (_Jv_GenerateITable): Ditto.
+ (_Jv_GetMethodString): Ditto.
+ (_Jv_AppendPartialITable): Ditto.
+ (_Jv_FindIIndex): Ditto.
+ depth, ancestors, idt: New class fields.
+
+ * java/lang/natClass.cc (isAssignableFrom): Move functionality to
+ inline function `_Jv_IsAssignableFrom'. Use that function.
+ (isInstance): Declare `inline'.
+ (initializeClass): Get lock on class before checking `state'. Unlock
+ before calling resolveClass0. Call _Jv_PrepareConstantTimeTables with
+ the lock held.
+ (_Jv_LookupInterfaceMethod): Use _Jv_GetMessageString.
+ (_Jv_IsAssignableFrom): New inline function. Test assignability using
+ class->depth and ancestor table.
+ (_Jv_IsInstanceOf): Use _Jv_IsAssignableFrom.
+ (_Jv_CheckCast): Move from prims.cc. Use JV_CLASS and
+ _Jv_IsAssignableFrom.
+ (_Jv_CheckArrayStore): Ditto.
+ (_Jv_LookupInterfaceMethodIdx): New function.
+ INITIAL_IOFFSETS_LEN, INITIAL_IFACES_LEN: New #defines.
+ (_Jv_PrepareConstantTimeTables): New function.
+ (_Jv_IndexOf): Ditto.
+ (_Jv_GetInterfaces): Ditto.
+ (_Jv_GenerateITable): Ditto.
+ (_Jv_GetMethodString): Ditto.
+ (_Jv_AppendPartialITable): Ditto.
+ iindex_mutex, iindex_mutex_initialized: New static fields.
+ (_Jv_FindIIndex): New function.
+
+ * java/lang/natClassLoader.cc (_Jv_NewClass): Set new jclass fields.
+
+ * prims.cc (_Jv_CheckCast): Moved to natClass.cc.
+ (_Jv_CheckArrayStore): Ditto.
+ (JvNewCharArray, JvNewBooleanArray, JvNewByteArray, JvNewShortArray,
+ JvNewIntArray, JvNewLongArray, JvNewFloatArray, JvNewDoubleArray):
+ Moved to gcj/array.h.
+ (_Jv_Realloc): New function.
+
+ * gcj/cni.h: Move _Jv_PrimClass definitions to gcj/array.h.
+
+ * gcj/array.h: _Jv_PrimClass definitions moved from gcj/cni.h.
+ (JvNewCharArray, JvNewBooleanArray, JvNewByteArray,
+ JvNewShortArray, JvNewIntArray, JvNewLongArray, JvNewFloatArray,
+ JvNewDoubleArray): Implementations moved from prims.cc and
+ declared `inline'.
+
+ * gcj/javaprims.h (_Jv_Realloc): Prototype.
+
+ * include/jvm.h (_Jv_LookupInterfaceMethodIdx): Prototype.
+
+2000-03-06 Tom Tromey <tromey@cygnus.com>
+
+ * jni.cc (MARK_NONE): New define.
+ (MARK_USER): Likewise.
+ (MARK_SYSTEM): Likewise.
+ (struct _Jv_JNI_LocalFrame): Made `marker' bigger and `size'
+ smaller.
+ (_Jv_JNI_DeleteLocalRef): Use MARK_NONE in assert.
+ (_Jv_JNI_EnsureLocalCapacity): Use MARK_NONE.
+ (_Jv_JNI_PushLocalFrame): Use MARK_USER.
+ (_Jv_JNI_PopLocalFrame): New version with additional `stop'
+ argument.
+ (call): Use MARK_SYSTEM.
+ (_Jv_GetJNIEnvNewFrame): New function.
+ (_Jv_LookupJNIMethod): New function.
+ (_Jv_JNI_PopSystemFrame): New function.
+ (call): Use _Jv_JNI_PopSystemFrame and _Jv_LookupJNIMethod.
+
+2000-03-05 Tom Tromey <tromey@cygnus.com>
+
+ Fix for PR libgcj/43:
+ * include/Makefile.in: Rebuilt.
+ * include/Makefile.am (include_HEADERS): New define.
+
+2000-03-05 Anthony Green <green@redhat.com>
+
+ * gcj/javaprims.h ("Java"): Remove FirstThread.
+
+ * configure.host: Fix __NO_MATH_INLNES botch.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_source_files): Move natFirstThread.cc.
+ (gnu/gcj/runtime/FirstThread.h): Moved.
+ (ordinary_java_source_files): Move FirstThread.java.
+ * prims.cc: Deal with FirstThread movement.
+ (JvRunMain): Ditto.
+ (_Jv_RunMain): Ditto.
+
+ * gnu/gcj/runtime/FirstThread.java: Moved from java/lang.
+ * gnu/gcj/runtime/natFirstThread.cc: Ditto.
+
+2000-03-05 Warren Levy <warrenl@cygnus.com>
+
+ * java/net/DatagramSocket.java(DatagramSocket(int,InetAddress)):
+ Handle null addresses.
+
+2000-03-04 Anthony Green <green@redhat.com>
+
+ * configure.host (libgcj_flags): Define __NO_MATH_INLINES.
+ See PR gcj/151.
+
+2000-03-04 Anthony Green <green@redhat.com>
+
+ * configure: Rebuilt.
+ * configure.in (ZLIBTESTSPEC): New macro.
+ (GCTESTSPEC): New macro.
+ (LIBGCJTESTSPEC): New macro.
+ * libgcj-test.spec.in: New file.
+
+2000-03-02 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-interp.h: Don't include MethodInvocation.h.
+ (class _Jv_InterpMethod): Don't make MethodInvocation a friend.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (gnu/gcj/runtime/MethodInvocation.h): Removed.
+ (ordinary_java_source_files): Don't mention
+ MethodInvocation.java.
+ * gnu/gcj/runtime/MethodInvocation.java: Removed.
+ * interpret.cc (MethodInvocation::continue1): Removed.
+ (run): Handle exceptions here.
+ * java/lang/ClassLoader.java (defineClass1, defineClass2):
+ Removed.
+ * java/lang/natClassLoader.cc (defineClass0): Catch exceptions
+ here.
+ (defineClass2): Removed.
+
+ * java/lang/reflect/Method.java (hack_trampoline, hack_call):
+ Removed.
+ * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Catch
+ exceptions here.
+ (hack_call): Removed.
+
+ * java/lang/Class.h (Class): Removed hackRunInitializers,
+ hackTrampoline.
+ * java/lang/natClass.cc (hackRunInitializers): Removed.
+ (initializeClass): Catch exceptions here.
+ Include ExceptionInInitializerError.h.
+ * java/lang/Class.java (hackTrampoline, hackRunInitializers):
+ Removed.
+
+ * java/lang/Object.h (Object): Don't mention hack12_6.
+ * java/lang/natObject.cc (_Jv_FinalizeObject): Catch exceptions
+ here.
+ * java/lang/Object.java (hack12_6): Removed.
+
+ * java/lang/natThread.cc (run_): Renamed. Catch exceptions here.
+ (start): Use run_, not run__.
+ * java/lang/Thread.java (run_): Renamed from run__; old run_
+ removed.
+
+ * jni.cc (_Jv_JNI_FindClass): Handle exceptions.
+ (_Jv_JNI_EnsureLocalCapacity): Likewise.
+ (_Jv_JNI_DefineClass): Likewise.
+ (_Jv_JNI_ThrowNew): Likewise.
+ (_Jv_JNI_AllocObject): Likewise.
+ (_Jv_JNI_GetAnyMethodID): Likewise.
+ (_Jv_JNI_CallAnyMethodV): Likewise.
+ (_Jv_JNI_CallAnyMethodA): Likewise.
+ (_Jv_JNI_CallAnyVoidMethodV): Likewise.
+ (_Jv_JNI_CallAnyVoidMethodA): Likewise.
+ (_Jv_JNI_GetAnyFieldID): Likewise.
+ (_Jv_JNI_NewString): Likewise.
+ (_Jv_JNI_NewStringUTF): Likewise.
+ (_Jv_JNI_GetStringUTFChars): Likewise.
+ (_Jv_JNI_NewObjectArray): Likewise.
+ (_Jv_JNI_NewPrimitiveArray): Likewise.
+ (_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
+ (_Jv_JNI_GetStringRegion): Likewise.
+ (_Jv_JNI_GetStringUTFRegion): Likewise.
+ (_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
+ (_Jv_JNI_MonitorEnter): Likewise.
+ (_Jv_JNI_MonitorExit): Likewise.
+ (_Jv_JNI_ToReflectedField): Likewise.
+ (_Jv_JNI_ToReflectedMethod): Likewise.
+ (_Jv_JNI_RegisterNatives): Likewise.
+ (_Jv_JNI_AttachCurrentThread): Likewise.
+ (_Jv_JNI_DestroyJavaVM): Likewise.
+
+2000-02-28 Mo DeJong <mdejong@cygnus.com>
+
+ * java/util/zip/ZipOutputStream.java(closeEntry) : Fixed
+ error caused by the incorrect casting of a long to an int.
+
+2000-02-28 Mo DeJong <mdejong@cygnus.com>
+
+ * java/util/zip/ZipOutputStream.java(write_entry) : Fixed
+ SIGSEV caused by use of the wrong instance variable.
+
2000-02-27 Bryce McKinlay <bryce@albatross.co.nz>
* java/io/File.java (File(String, String)): For dirPath, treat an