OSDN Git Service

* configure.in: Only allow hash synchronization when POSIX threads
[pf3gnuchains/gcc-fork.git] / libjava / ChangeLog
index 35218b3..cabec91 100644 (file)
@@ -1,6 +1,737 @@
+2001-05-24  Tom Tromey  <tromey@redhat.com>
+
+       * configure.in: Only allow hash synchronization when POSIX threads
+       are enabled.
+       * java/lang/natObject.cc (alloc_heavy): Properly find `init' field
+       of sync info object.
+
+2001-05-23  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (AM_CXXFLAGS): Remove -fvtable-thunks.
+
+       Revert patch of 2001-05-21:
+       * Makefile.am (libgcj_la_DEPENDENCIES): Removed nat_files.
+       (libgcj_la_LIBADD): Likewise.
+       (libgcjx_la_DEPENDENCIES): Removed x_nat_files.
+       (libgcjx_la_LIBADD): Likewise.
+
+       * posix-threads.cc (_Jv_self_cache): Renamed from self_cache.
+       * gcj/Makefile.in: Rebuilt.
+       * gcj/Makefile.am (gcj_HEADERS): Added libgcj-config.h.
+       * gcj/javaprims.h: Include gcj/libgcj-config.h.
+       * gcj/libgcj-config.h.in: New file.
+       * libgcj.spec.in (*jc1): Added @HASH_SYNC_SPEC@.
+       * configure: Rebuilt.
+       * configure.in: Enable hash synchronization by default on some
+       platforms.
+       (HASH_SYNC_SPEC): New subst.
+       (AC_CONFIG_HEADER): Added gcj/libgcj-config.h.
+       Correctly use `test -z' instead of `test -n' in a couple places.
+       (JV_HASH_SYNCHRONIZATION): Use AC_DEFINE; don't add to
+       LIBGCJ_CXXFLAGS.
+       * configure.host (enable_java_net_default): Initialize.
+       (enable_hash_synchronization_default): New variable.
+
+2001-05-23  Hans Boehm <Hans_Boehm@hp.com>
+
+       * boehm.cc (_Jv_MarkObj): Don't mark sync_info when hash
+       synchronization in use.
+       (_Jv_MarkArray): Likewise.
+       (_Jv_AllocBytes): Don't check return result.
+       (handle_out_of_memory): New function.
+       (_Jv_InitGC): Set GC_oom_fn.
+       (trace_one_vtable): New global.
+       (_Jv_AllocTraceOne): New function.
+       * configure.in: Added --enable-hash-synchronization.
+       * defineclass.cc, prims.cc, resolve.cc, java/lang/natString.cc,
+       java/net/natInetAddress.cc: Remove _Jv_AllocBytesChecked.
+       * nogc.cc (_Jv_AllocObj): Throw out-of-memory.
+       (_Jv_AllocArray): Likewise.
+       (_Jv_AllocBytes): Likewise.
+       (_Jv_AllocPtrFreeObject): New function.
+       (_Jv_AllocTraceOne): Likewise.
+       * posix-threads.cc (_Jv_ThreadRegister): Handle slow
+       pthread_self().
+       (self_cache): New global.
+       (_Jv_ThreadSelf_out_of_line): New function.
+       * prims.cc (_Jv_AllocBytesChecked): Removed.
+       (_Jv_ThrowNoMemory): New function.
+       (_Jv_AllocObject): Don't check for null return from allocator.
+       (_Jv_NewObjectArray): Likewise.
+       (_Jv_AllocPtrFreeObject): New function.
+       (_Jv_NewPrimArray): Allocate pointer-free object if possible.
+       * include/javaprims.h (_Jv_AllocPtrFreeObject): Declare.
+       (_Jv_MonitorEnter, _Jv_MonitorExit): Don't return value.
+       * include/boehm-gc.h (_Jv_AllocObj): Define.
+       (_Jv_AllocPtrFreeObj): Define.
+       * include/jvm.h (_Jv_AllocPtrFreeObj): Declare.
+       (_Jv_ThrowNoMemory): Declare.
+       (_Jv_AllocTraceOne): Declare.
+       (_Jv_AllocBytesChecked): Removed.
+       * include/posix-threads.h (_Jv_MutexInit, _Jv_MutexLock,
+       _Jv_MutexUnlock): Handle LOCK_DEBUG.
+       (_Jv_ThreadSelf): Handle case where system pthread_self() is
+       slow.
+       * java/lang/Class.h (Class): Declare _Jv_AllocPtrFreeObj as
+       friend.
+       * java/lang/Object.h (sync_info): Conditional upon presence of
+       hash synchronization.
+       * java/lang/natObject.cc: Much new code to handle thin locks and
+       hash synchronization.
+       * java/lang/natString.cc (_Jv_AllocString): Allocate pointer-free
+       object if possible.
+
+2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gij.cc (version): Update copyright year.
+
+2001-05-22  Anthony Green  <green@redhat.com>
+
+       * configure.in: Tweak canadian cross test, and don't redefine GCJ
+       for cross builds.
+
+2001-05-21  Per Bothner  <per@bothner.com>
+
+       Implement invocation interface; don't create new thread for main.
+       * java/lang/Thread.java (gen_name):  Make native.
+       (<init>(Thread,THreadGroup,Runnable,String)):  New private
+       constructor, used by other constructors, and _Jv_AttachCurrentThread.
+       * java/lang/natThread.cc (gen_name):  New implementation.
+       (_Jv_AttachCurrentThread, _Jv_DetachCurrentThread):  New.
+       * prims.cc (main_init):  Removed, replaced by _Jv_CreateJavaVM.
+       (_Jv_CreateJavaVM):  New runtime initialization procedure.
+       (runFirst):  New proecdure - mostly code from old FirstThread::run.
+       (JvRunMain, _Jv_RunMain):  Re-write to use new invocation code.
+       * gcj/cni.h (JvCreateJavaVM, JvAttachCurrentThread,
+       JvDetachCurrentThread):  New inline wrappers.
+       * gcj/javaprims.h (_Jv_CreateJavaVM, _Jv_AttachCurrentThread,
+       _Jv_DetachCurrentThread):  New declarations.
+       * gnu/gcj/runtime/FirstThread.java:  Gutted.  Now contains only ...
+       (getMain): new static method.
+       * gnu/gcj/runtime/natFirstThread.cc:  Removed;  run method replaced
+       by runFirst in prims.cc.
+       (java/lang/Thread.h):  Update for new invocation interface.
+       * include/posix-threads.h (_Jv_ThreadRegister,
+       _Jv_ThreadUnRegister):  New declarations.
+       * posix-threads.cc (_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New.
+       (really_start):  Use new _Jv_ThreadRegister.
+       * include/no-threads.h (_Jv_ThreadInitData):  No longer inline.
+       (_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New empty inlines.
+       * no-threads.cc (_Jv_ThreadInitData):  Set _Jv_OnlyThread here.
+       Complain of called when _Jv_OnlyThread already set.
+       (_Jv_ThreadStart):  Always JvFail.
+       * include/win32-threads.h  (_Jv_Thread_t):  New thread_obj field.
+       (_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New declarations.
+       * win32-threads.cc (struct starter):  Remove objet field -
+       we use _Jv_Thread_t's new thread_obj field instead.
+       (_Jv_ThreadInitData):  Set _Jv_Thread_t's thread_obj field.
+       (_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New.
+       (really_start):  Use new _Jv_ThreadRegister.
+       * jni.cc (_Jv_JNI_AttachCurrentThread):  Use _Jv_AttachCurrentThread.
+       (_Jv_JNI_DetachCurrentThread):  Use _Jv_DetachCurrentThread.
+       * gnu/gcj/jni/NativeThread.java, gnu/gcj/jni/natNativeThread.cc:
+       Removed - no longer needed with new invocation interface.
+       * Makefile.am:  Update for removed/added files.
+
+2001-05-21  Per Bothner  <per@bothner.com>
+
+       * Makefile.am (libgcj_la_DEPENDENCIES):  Add $(nat_files).
+       (libgcj_la_LIBADD):  Likewise.
+       (libgcjx_la_DEPENDENCIES, libgcjx_la_LIBADD):  Add $(x_nat_files).
+       
+2001-05-21  Per Bothner  <per@bothner.com>
+
+       * gcj/javaprims.h (_Jv_FormatInt):  New declaration.
+       * java/lang/natString.cc (_JvFormatInt):  New primitive, with logic
+       taken from old Integer.toString code.
+       (Integer::valueOf):  Use _Jv_FormatInt.
+       * java/lang/Integer.java (toString):  Just use call String.valueOf.
+       * java/lang/Long.java (toString):  Fix typo in comment.
+       * java/lang/String.java (valueOf(int)):  Make native.
+       * java/lang/StringBuffer.java (append(int)):  Make native.
+       * java/lang/natStringBuffer.cc:  New file, for append(jint).
+       * Makefile.am (nat_source_files):  Add java/lang/natStringBuffer.cc.
+
+2001-05-21  Tom Tromey  <tromey@redhat.com>
+
+       * gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Now public.
+
+2001-05-18  Andrew Haley  <aph@cambridge.redhat.com>
+
+       * include/dwarf2-signal.h: New file.    
+       * configure.in (SYSDEP_SOURCES): Add dwarf2-signal.h for PPC.
+       * configure.host (EXCEPTIONSPEC): Don't use sjlj on PPC.
+        * configure: Rebuilt.
+
+2001-05-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * configure.in: Update boehm-gc include dir for new GC version.
+       * configure: Rebuilt.
+       * exception.cc: Only include <gc.h>. Remove TRUE/FALSE hacks and
+       extern "C" wrapper.
+       * boehm.cc: Update includes for new GC version. MAKE_PROC is now
+       GC_MAKE_PROC. mark_proc is now GC_mark_proc.
+       * posix-threads.cc: Only include <gc.h>. Don't need to wrap with
+       extern "C".
+
+2001-05-18  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * include/posix-threads.h (_Jv_CondInit): `0' used in place of `NULL.'
+       (_Jv_MutexInit): Likewise.
+
+2001-05-18  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (awt_java_source_files): Added Polygon.java.
+
+2001-05-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * include/jvm.h: Move "#pragma GCC java_exceptions" to ...
+       * gcj/javaprims.h: ... here.
+       * gnu/gcj/io/shs.cc: Add "#pragma GCC java_exceptions".
+
+2001-05-17  Martin Kahlert  <martin.kahlert@infineon.com>
+
+       * java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error 
+       with length of ioffset table.
+       (_Jv_IsAssignableFrom): Likewise.
+
+2001-05-17  Per Bothner  <per@bothner.com>
+
+       * Makefile.am (ZIP):  The "fastjar" binary is now plain "jar".
+
+2001-05-16  Tom Tromey  <tromey@redhat.com>
+
+       * java/text/SimpleDateFormat.java (parse): Handle non-dst time
+       zones.
+
+2001-05-15  Tom Tromey  <tromey@redhat.com>
+
+       * java/util/GregorianCalendar.java (computeTime): Only call
+       getTimeZone() once.
+
+2001-05-14  Tom Tromey  <tromey@redhat.com>
+
+       * java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and
+       ZONE_OFFSET just before computing the time.
+
+2001-05-12  Zack Weinberg  <zackw@stanford.edu>
+
+       * Makefile.am (libgcj_la_OBJECTS): Remove libsupc++convenience.la.
+       * Makefile.in: Regenerate (by hand).
+       * include/jvm.h: Add #pragma GCC java_exceptions at top of file.
+       * doc/cni.sgml: Document #pragma GCC java_exceptions.
+
+2001-05-11  Richard Henderson  <rth@redhat.com>
+
+       * configure.in (ia64-*): Don't set SYSDEP_SOURCES.
+       * java/lang/natThrowable.cc: Don't use __ia64_backtrace.
+
+2001-05-11  Richard Henderson  <rth@redhat.com>
+
+        * exception.cc: Include unwind-pe.h.  Remove all pointer
+       encoding logic.
+
+2001-05-10  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (awt_java_source_files): Added Polygon.java.
+       * java/awt/Polygon.java: New file.
+
+       * java/awt/geom/AffineTransform.java
+       (setToRotation(double,double,double)): New method.
+       (AffineTransform): Set type to TYPE_GENERAL_TRANSFORM.
+       (setToShear): Likewise.
+
+2001-05-10  Tom Tromey  <tromey@redhat.com>
+
+       * java/util/GregorianCalendar.java: Imported from Classpath.
+       * gnu/java/locale/LocaleInformation_nl.java: New file from
+       Classpath.
+       * gnu/java/locale/LocaleInformation_en.java: Likewise.
+       * gnu/java/locale/LocaleInformation_de.java: Likewise.
+       * gnu/java/locale/LocaleInformation.java: Likewise.
+       * natGregorianCalendar.cc: Removed.
+       * Makefile.in: Rebuilt.
+       * Makefile.am (nat_source_files): Removed
+       natGregorianCalendar.cc.
+
+2001-05-10  Tom Tromey  <tromey@redhat.com>
+
+       * java/text/SimpleDateFormat.java (computeCenturyStart): New
+       method.
+       (defaultCenturyStart): Use it.
+       (readObject): Likewise.
+       (SimpleDateFormat): Clear the calendar.  Set the grouping on the
+       number format.
+       (parse): Copy the calendar before modifying it.  Correctly handle
+       the time zone.
+
+       * java/util/Calendar.java (clear): Set field value(s) to 0.
+
+2001-05-10  Jeff Sturm  <jsturm@one-point.com>
+
+       * Calendar.java (get): Clear areFieldsSet if requested field
+       is not set.
+       (set): Unset fields that depend on new value.
+
+2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/lang/Class.h (_Jv_Self): New union type.
+       (Class): Manipulate vtable pointer via _Jv_Self union. Thanks to
+       Jeff Sturm and Fergus Henderson.
+
+2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/lang/ClassLoader.java: Remove dead code fragment.
+
+2001-05-03  Martin Kahlert  <martin.kahlert@infineon.com>
+
+       * jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
+       checking.
+       (_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
+
+2001-04-30  Andrew Haley  <aph@cambridge.redhat.com>
+
+       * libgcj.spec.in (jc1): Add EXCEPTIONSPEC.
+       * configure.host (EXCEPTIONSPEC): New.
+       * configure.in (EXCEPTIONSPEC): New.
+       * configure: Rebuilt.
+
+2001-05-02  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * doc/*.texi: Remove generated documentation.
+
+2001-04-30  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+
+       * java/io/natFile.cc (performSetReadOnly): Fix #ifdef test.
+       (performDelete): Fix #endif placement.
+
+2001-04-27  Zack Weinberg  <zackw@stanford.edu>
+
+       * prims.cc (_Jv_ThisExecutable): Use _Jv_Malloc.
+       * posix-threads.cc (_Jv_ThreadInitData): Use _Jv_Malloc.
+       (_Jv_ThreadDestroyData): Use _Jv_Free.
+       * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
+       Use _Jv_Malloc.
+
+2001-04-27  Tom Tromey  <tromey@redhat.com>
+
+       * jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
+       checking.
+       (_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
+
+2001-04-27  Martin Kahlert  <martin.kahlert@infineon.com>
+
+       * include/jni.h (struct JNINativeInterface): Fixed types in
+       Get/Set*ArrayRegion declarations.
+       (class _Jv_JNIEnv): Likewise.
+
+2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in: Obtain THREADS with `gcc -v'.
+       * configure: Rebuilt.
+
+2001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       Fix PR libgcj/2237:
+       * java/io/ObjectStreamClass.java (setClass): Calculate 
+       serialVersionUID for local class and compare it against the UID
+       from the Object Stream. Throw InvalidClassException upon mismatch.
+       (setUID): Renamed to...
+       (getClassUID): this. Return the calculated class UID rather than 
+       setting uid field directly.
+       (getDefinedSUID): Removed.
+       * java/io/ObjectInputStream.java (resolveClass): Use the 
+       three-argument Class.forName(). 
+       * java/io/InvalidClassException (toString): Don't include classname in
+       result if it is null.
+
+2001-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * java/net/natInetAddress.cc (java::net::InetAddress::aton):
+       Wrap use of inet_pton in HAVE_INET6.
+
+2001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       java.security merge and ClassLoader compliance fixes.
+
+       * java/lang/Class.h (Class): Include ProtectionDomain.h. 
+       New protectionDomain field.
+       (forName): Add initialize parameter. Fixes declaration to comply with 
+       JDK spec.
+       * java/lang/natClass.cc (forName): Correct declaration of the three-arg
+       variant. Honour "initialize" flag.
+       (getProtectionDomain0): New method.
+       * java/lang/Class.java: Fix forName() declaration.
+       (getPackage): New method based on Classpath implementation.
+       (getProtectionDomain0): New native method decl.
+       (getProtectionDomain): New method.
+       * java/lang/ClassLoader.java (getParent): Now final.
+       (definedPackages): New field.
+       (getPackage): New.
+       (defineClass): New variant with protectionDomain argument.
+       (definePackage): New.
+       (getPackages): New.
+       (findSystemClass): Now final.
+       (getSystemResourceAsStream): Remove redundant "final" modifier.
+       (getSystemResource): Remove redundant "final" modifier.
+       (getResources): Now final.
+       (protectionDomainPermission): New static field.
+       (unknownProtectionDomain): Ditto.
+       (defaultProtectionDomain): Ditto.
+       (getSystemClassLoader): Now non-native.
+       * java/util/ResourceBundle.java (tryGetSomeBundle): Use the correct
+       arguments for Class.forName().
+       * java/lang/Package.java: New file.
+       * gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): Removed.
+       (instance): Static initialize singleton.
+       (findClass): Override this, not findSystemClass.
+       * java/lang/natClassLoader.cc (defineClass0): Set class's
+       protectionDomain field as specified.
+       (getSystemClassLoader): Removed.
+       (findClass): Renamed from findSystemClass. Call the interpreter via
+       URLClassLoader.findClass if loading class via dlopen fails.
+
+       * java/security/*.java: java.security import/merge with Classpath.
+       * java/security/acl/*.java: Likewise.
+       * java/security/interfaces/*.java: Likewise.
+       * java/security/spec/*.java: Likewise.
+       * java/net/NetPermission.java: Likewise.
+       * java/net/SocketPermission.java: Likewise.
+       * gnu/java/security/provider/DefaultPolicy.java: Likewise.
+       
+       * Makefile.am: Add new classes.
+       * Makefile.in: Rebuilt.
+       * gcj/javaprims.h: CNI namespace rebuild.
+
+2001-04-24  Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in (CPPFLAGS): Added builddir and srcdir to CPPFLAGS
+       for libtool tests.  Pre-create gnu/classpath/Configuration.java.
+       * configure: Rebuilt.
+
+2001-04-21  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (awt_java_source_files): Added Line2D.java.
+       * java/awt/geom/Line2D.java: Wrote.
+
+       * java/awt/Menu.java (addNotify): Wrote.
+
+       * java/awt/PopupMenu.java (addNotify): Implemented.
+       (show): Likewise.
+
+       * java/awt/Scrollbar.java (addNotify): Call super.addNotify.
+       * java/awt/List.java (addNotify): Call super.addNotify.
+       * java/awt/Label.java (addNotify): Call super.addNotify.
+       * java/awt/FileDialog.java (addNotify): Call super.addNotify.
+       * java/awt/Dialog.java (addNotify): Call super.addNotify.
+       * java/awt/Choice.java (addNotify): Call super.addNotify.
+       * java/awt/CheckboxMenuItem.java (addNotify): Call super.addNotify.
+       * java/awt/Checkbox.java (addNotify): Call super.addNotify.
+
+       * java/awt/List.java (replaceItem): Notify peer.
+
+       * java/awt/geom/Rectangle2D.java
+       (Float.setRect(float,float,float,float)): New method.
+
+       * java/awt/event/ContainerEvent.java (getContainer): Now returns
+       Container.
+
+       * java/awt/RenderingHints.java (Key): Class now public.
+
+       * java/awt/Rectangle.java (Rectangle): Now implements
+       Serializable.
+       (getPathIterator): Removed.
+
+       * java/awt/GraphicsConfiguration.java (GraphicsConfiguration): New
+       constructor.
+
+       * java/awt/FileDialog.java: Wrote.
+
+       * java/awt/EventQueue.java (isDispatchThread): Now public.
+       (invokeLater): Likewise.
+
+       * java/awt/Component.java (setCursor): Update peer.
+       (getFontMetrics): Use peer.
+
+       * java/awt/ComponentOrientation.java (ComponentOrientation): Class
+       now final.
+
+2001-04-20  Tom Tromey  <tromey@redhat.com>
+
+       * java/awt/List.java: Wrote.
+       * java/awt/Dialog.java: Wrote.
+
+2001-04-20  Warren Levy  <warrenl@redhat.com>
+
+       * java/lang/natSystem.cc (getSystemTimeZone): Adjust for DST.
+       * java/text/SimpleDateFormat.java
+       (indexInArray): Removed private method.
+       (processYear): Removed private method.
+       (parseLenient): Removed private method.
+       (parseLeadingZeros): Removed private method.
+       (parseStrict): Removed private method.
+       (expect): Added new private method.
+       (parse): Reverted to pre-Classpath merge version with minor fixes.
+       * java/util/natGregorianCalendar.cc (computeTime): Handle strict
+       calendars.
+
+2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/io/File.java (normalizePath): New private method. 
+       (File (String)): Use normalizePath().
+       (File (String, String)): Likewise.
+
+       * Makefile.am (libffi_files): Removed.
+       (libgcj.la): Link libffi as a convenience library instead of 
+       refering to its object files directly.
+       * Makefile.in: Rebuilt.
+
+2001-04-08  Per Bothner  <per@bothner.com>
+
+       * java/lang/natString.cc (_Jv_NewStringUtf8Const):  Register finalizer.
+       Recalculate hash, since Utf8Const's hash is only 16 bits.
+
+       * java/lang/natString.cc (_Jv_StringFindSlot, rehash):  Use high-order
+       bits of hash to calculate step for chaining.
+
+       * java/lang/natString.cc (intern, _Jv_NewStringUtf8Const):  Rehash
+       when 2/3 full, rather than 3/4 full.
+
+2001-04-06  Tom Tromey  <tromey@redhat.com>
+
+       * jni.cc (wrap_value<jobject>, wrap_value<jclass>): Removed.
+       (wrap_value<T*>): New specialization.
+       (_Jv_JNI_PopLocalFrame): Update env->locals.
+
+2001-04-05  Tom Tromey  <tromey@redhat.com>
+
+       * libtool-version: Updated current.
+
+2001-04-04  Andreas Jaeger  <aj@suse.de>
+
+       * gcj/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+       * gcj/Makefile.in: Rebuilt.
+       * Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+       * Makefile.in: Rebuilt.
+       * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+       * testsuite/Makefile.in: Rebuild.
+       * include/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
+       * include/Makefile.in: Rebuild.
+
+2001-04-02 Zack Weinberg <zackw@stanford.edu>
+
+       * testsuite/lib/libjava.exp: Correct typo: 'output from source
+       compiled test', not 'execution from source compiled test'.
+       Use UNTESTED, not XFAIL, for tests which are not run because
+       they depend on a previous test which failed.
+
+2001-04-02  Richard Henderson  <rth@redhat.com>
+
+       * configure.in (GCC_UNWIND_INCLUDE): Assume we're built within
+       the same tree as gcc.
+       * configure: Rebuilt.
+
+       * exception.cc (_Jv_Throw): Clarify commentary.
+
+2001-04-02  Marcus G. Daniels  <mgd@swarm.org>
+
+       * jni.cc (wrap_value<jclass>): New specialization.
+
+2001-04-02  Tom Tromey  <tromey@redhat.com>
+
+       * java/io/PrintStream.java (out): Removed field.  Fixes PR
+       java/2449.
+       (write): Call flush, not out.flush, per spec.
+       (close): Flush output stream, per spec.  Handle
+       InterruptedIOException.
+       (checkError): Likewise.
+       (flush, print, write): Handle InterruptedIOException per spec.
+       (PrintStream): Don't create BufferedOutputStream.
+       (work_bytes): New field.
+       (writeChars): Use work_bytes.  Don't assume `out' is a
+       BufferedOutputStream.
+
+2001-04-02  Torsten Rueger  <torsten.rueger@firsthop.com>
+
+       * java/text/MessageFormat.java (setLocale): Added missing `else'.
+       For PR libgcj/2429.
+
+2001-03-30  Tom Tromey  <tromey@redhat.com>
+
+       * jni.cc (add_char): Correctly encode non-ascii characters.
+       (add_char): Define even when INTERPRETER not defined.
+       (mangled_name): Likewise.
+       (_Jv_GetJNIEnvNewFrame): Likewise.
+       (_Jv_LookupJNIMethod): Likewise.
+
+2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
+
+       * configure.host: Enable interpreter for PPC.
+
+2001-04-02  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/lang/natSystem.cc (init_properties): Revert yesterday's changes
+       to "file.separator", "path.separator", and "java.io.tmpdir" property
+       initialization.
+       * java/io/File.java: Likewise.
+       * java/io/natFile.cc (init_native): Likewise.
+       * java/io/natFileWin32.cc (init_native): Likewise.
+
+2001-04-01  Per Bothner  <per@bothner.com>
+
+       * java/lang/natString.cc (intern):  If string's data does not point to
+       this String, make a fresh String that does.
+
+       * java/lang/natString.cc (unintern):  Replace by static function.
+       * java/lang/String.java (unintern):  Remove method.
+
+2001-04-01  Per Bothner  <per@bothner.com>
+
+       * DeflaterOutputStream.java (deflate):  Loop while def.needsInput.
+       (finish):  def.deflate needs to be called in a loop.
+       (inbuf, inbufLength):  New private fields.
+       (write(int)): Use inbuf.
+       (write(byte[],int,int):  Check if pending output in inbuf.
+       * ZipOutputStream.java:  Don't use Deflater if stored.
+       Use a Checksum object directly, not via a CheckedOutputStream.
+       (uncompressed_size):  New field,
+       (closeEntry):  Only write data_directory if needed.
+       (write):  If STORED, write directly.
+       Always update crc, and uncompressed_size.
+       (write_entry):  Fix lots of protocol erors.
+
+2001-04-01  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       1.3-Compliant Implementation of java.io.File.
+       * java/lang/natSystem.cc (init_properties): Get "file.separator",
+       "path.separator", and "java.io.tmpdir" from the File class, instead
+       of setting them explicitly.
+       * java/io/File.java: Do not canonicalize paths for security manager
+       checks. Call init_native() from static initializer. Do not pass path
+       argument to native methods. New native method declarations. Some
+       security manager checks moved to checkWrite().
+       (equals): Check file system case sensitivity and act appropriatly.
+       (hashCode): Likewise.
+       (isHidden): New method implemented.
+       (performList): Changed prototype. Now takes a class argument specifying
+       the class of the returned array: Strings or File objects. Also added
+       FileFilter argument.
+       (listFiles): New variants with "File" return type implemented.
+       (createTempFile): Use createNewFile(). Use maxPathLen.
+       (setReadOnly): New method implemented.
+       (listRoots): Likewise.
+       (compareTo): Likewise.
+       (setLastModified): Likewise.
+       (checkWrite): New method.
+       (setPath): Removed.
+       * java/io/natFile.cc: Various functions no longer take canonical path
+       argument.
+       (stat): Handle ISHIDDEN query.
+       (isAbsolute): Remove WIN32 cruft.
+       (performList): New arguments. Handle returning either File[] or String[]
+       arrays. Check with FileFilter or FilenameFilter arguments as
+       appropriate. Use an ArrayList, not a Vector, for the temporary list.
+       (performSetReadOnly): New method implemented.
+       (performListRoots): Likewise.
+       (performSetLastModified): Likewise.
+       (performCreate): Likewise.
+       (init_native): New initialization function.
+       * java/io/natFileWin32.cc: Various functions no longer take canonical
+       path argument.
+       (stat): Add FIXME about ISHIDDEN query.
+       (performList): New arguments. Handle returning either File[] or String[]
+       arrays. Check with FileFilter or FilenameFilter arguments as
+       appropriate. Use an ArrayList, not a Vector, for the temporary list.
+       (performSetReadOnly): New. Stubbed.
+       (performListRoots): Likewise.
+       (performSetLastModified): Likewise.
+       (performCreate): Likewise.
+       (init_native) New initialization function.
+       * configure.in: Check for utime() and chmod().
+       * configure: Rebuilt.
+       * include/config.h.in: Rebuilt.
+
+       Resolves PR libgcj/1759.
+
+2001-03-28  Richard Henderson  <rth@redhat.com>
+
+       IA-64 ABI Exception Handling:
+       * Makefile.am (GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE.
+       (AM_CXXFLAGS): -fnon-call-exceptions not -fasynchronous-exceptions.
+       Remove EXCEPTIONSPEC.
+       * configure.host (libgcj_sjlj): Remove.
+       * configure.in (EXCEPTIONSPEC): Remove.
+       (enable-sjlj-exceptions): Detect if not specified.
+       (GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE; change
+       what header we're looking for.
+       * libgcj.spec.in (jc1): Remove EXCEPTIONSPEC.
+       * Makefile.in, configure: Regenerate.
+       * exception.cc: Don't declare libgcc2 stuff.
+       (java_eh_info, _Jv_type_matcher, _Jv_exception_info): Remove.
+       (_Jv_eh_alloc, _Jv_eh_free, _Jv_setup_eh_info): Remove.
+       (win32_get_restart_frame): Remove.
+       (struct java_exception_header): New.
+       (__gcj_exception_class): New.
+       (get_exception_header_from_ue): New.
+       (_Jv_Throw): Rewrite for IA-64 ABI unwind routines.
+       (size_of_encoded_value, read_encoded_value): New.
+       (read_uleb128, read_sleb128, parse_lsda_header): New.
+       (get_ttype_entry, __gcj_personality_sj0): New.
+       * gcj/javaprims.h (_Jv_Sjlj_Throw): Remove.
+
+2001-03-27  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>
+
+       * javax/naming/InitialContext.java (init): Fix typo.
+       (composeName): Remove unnecessary semicolon.
+       (addToEnvironment): Remove unnecessary semicolon.
+       (addToEnvironment): Use put() instead of add().
+
+       * javax/naming/InitialContext.java (InitialContext):
+       Make public.
+       (destroySubcontext): Method doesn't return a result.
+       * javax/naming/Context.java: Import java.util.Hashtable.
+       * javax/naming/Name.java: Import java.util.Enumeration.
+
+2001-03-27  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * Makefile.am (libffi_files): Use 'find' to pick up libffi libtool
+       objects in subdirectories.
+       * Makefile.in: Rebuilt.
+
+2001-03-25  Richard Henderson  <rth@redhat.com>
+
+       * exception.cc (java_eh_info): Make value type jthrowable.
+       (_Jv_type_matcher): Remove now unneeded cast.
+       (_Jv_Throw): Make argument type jthrowable.  Munge name
+       for SJLJ_EXCEPTIONS here ...
+       * gcj/cni.h: ... not here.
+       (JvThrow): Remove.
+       * gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.
+
+       * defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
+       prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
+       gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
+       gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
+       gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
+       java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
+       java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
+       java/lang/natClass.cc, java/lang/natClassLoader.cc,
+       java/lang/natDouble.cc, java/lang/natObject.cc,
+       java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
+       java/lang/natString.cc, java/lang/natSystem.cc,
+       java/lang/natThread.cc, java/lang/reflect/natArray.cc,
+       java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
+       java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
+       java/util/zip/natInflater.cc:
+       Use throw, not JvThrow or _Jv_Throw.
+
 2001-03-24  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/util/HashMap.java (HashMap): If 0 is given for initialCapacity 
+       * java/util/HashMap.java (HashMap): If 0 is given for initialCapacity
        paramater, bump it to 1.
        * java/util/Hashtable.java (Hashtable): Likewise.
 
        Fix for PR libgcj/1736. Thanks to Robert Boehne and Alexandre Oliva
        for libtool hacking.
        * Makefile.am (libgcj.la): New explicit rule. Echo the list of objects
-       to a temporary file, then invoke libtool with the -objectlist 
+       to a temporary file, then invoke libtool with the -objectlist
        paramater.
        (libgcjx.la): Likewise.
        * Makefile.in: Rebuilt.
        * java/lang/reflect/Method.java (getExceptionTypes): Call getType() to
        initialize if exception_types is null.
        * java/lang/reflect/Constructor.java: Likewise.
-       * java/lang/reflect/natConstructor.cc (getType): Initialize 
+       * java/lang/reflect/natConstructor.cc (getType): Initialize
        exception_types to an empty Object array.
 
 2001-03-21  Tom Tromey  <tromey@redhat.com>
        (UNMASK_PTR): New macro.
        (intern): Unmask pointer before returning it.  Register finalizer
        for the string.
-       (unintern): Handle case where 
+       (unintern): Handle case where
        (MASK_PTR): New macro.
        (PTR_MAKSED): Likewise.
        (_Jv_NewStringUtf8Const): Use UNMASK_PTR.
 
        * java/lang/natThrowable.cc (printRawStackTrace): Copy the
        stackTrace buffer to a correctly aligned pointer array.
+
 2001-03-12  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/lang/Runtime.java (_exit): Declare new package-private native.
        * prims.cc (JvRunMain): Call Runtime._exit to shutdown the runtime
        "naturally".
        * java/lang/System.java (setSecurityManager): If a security manager
-       is already in place, call checkPermission. 
+       is already in place, call checkPermission.
        * java/lang/ThreadGroup.java (uncaughtException): If printStackTrace()
        throws an exception, try to deal with it gracefully.
        * java/lang/ExceptionInInitializerError.java (printStackTrace):
 2001-03-05  Jochen Hoenicke  <jochen@gnu.org>
 
        * java/util/TreeMap.java (writeObject): Use defaultWriteObject()
-       instead of the new JDK1.2 API.  This is simpler and makes 
+       instead of the new JDK1.2 API.  This is simpler and makes
        back-porting the classes to JDK1.1 trivial.
        (readObject): likewise.
-       
+
 2001-03-01  Per Bothner  <per@bothner.com>
 
        Changes merged from Kawa's gnu.math.
 2001-02-22  Bryce McKinlay  <bryce@albatross.co.nz>
 
        Fix for PR java/2040:
-       * java/util/HashMap.java (HashMap): Don't throw exception for 
+       * java/util/HashMap.java (HashMap): Don't throw exception for
        loadFactor > 1. Add exception messages.
        * java/util/Hashtable.java (Hashtable): Likewise.
 
 2001-02-21  Bryce McKinlay  <bryce@albatross.co.nz>
 
        Disable libgcjx by default.
-       * configure.in: Add support for --enable-java-awt configure option. 
+       * configure.in: Add support for --enable-java-awt configure option.
        Use --enable-java-awt=xlib to build the xlib peers (libgcjx).
        * Makefile.am: Make libgcjx conditional on XLIB_AWT, instead of NO_X.
        * Makefile.in: Rebuilt.
        property is not set. Don't call decode with null argument.
        * java/lang/Long.java (getLong): Likewise.
 
-       * java/io/CharArrayReader.java (CharArrayReader): Throw 
+       * java/io/CharArrayReader.java (CharArrayReader): Throw
        IllegalArgumentException if constructor arguments are illegal.
        (ready): Return false if no more characters can be read.
        * java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.
 
 2001-02-16  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/util/TreeSet.java (clone): Made subclass safe, use 
+       * java/util/TreeSet.java (clone): Made subclass safe, use
        super.clone(), not new.
        * java/util/TreeMap.java (clone): Likewise.
-       
+
        * java/util/TreeMap.java (nil): Made non-final.
        (clone): Create new nil node for copy.
-       
-       * java/util/HashSet.java (clone): Made subclass safe, use 
+
+       * java/util/HashSet.java (clone): Made subclass safe, use
        super.clone(), not new.
 
 2001-02-14  Andrew Haley  <aph@redhat.com>
 
 2001-02-15  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/util/TreeSet.java (clone): Call TreeMap.clone(), not 
+       * java/util/TreeSet.java (clone): Call TreeMap.clone(), not
        Object.clone().
        * java/util/Collections.java (ReverseComparator): New static class.
        (reverseOrder): Return static instance of ReverseComparator.
-       
+
        * gnu/awt/j2d/DirectRasterGraphics.java (clone): Hoist to public.
-       * gnu/awt/j2d/IntegerGraphicsState.java (setClip): Call 
+       * gnu/awt/j2d/IntegerGraphicsState.java (setClip): Call
        Rectangle.clone(), not Object.clone().
 
        * java/util/HashSet.java (clone): Remove try/catch.
-       
+
        * java/util/AbstractSequentialList.java: Synchronize with Classpath.
        * java/util/Collection.java: Likewise.
        * java/util/Comparator.java: Likewise.
        * java/util/SortedSet.java: Sync with classpath.
        * java/util/HashMap.java (hash): Use if statement instead of ternary,
        for clarity.
-       
-       * java/lang/natClass.cc (getSignature): Don't try to dereference 
+
+       * java/lang/natClass.cc (getSignature): Don't try to dereference
        param_types if it is null. Instead, take this to mean "no parameters".
-       * java/lang/TreeMap.java (TreeIterator.next): Throw 
+       * java/lang/TreeMap.java (TreeIterator.next): Throw
        NoSuchElementException in preference to ConcurrentModificationException.
-       (TreeIterator.remove): Throw IllegalStateException in preference to 
+       (TreeIterator.remove): Throw IllegalStateException in preference to
        ConcurrentModificationException.
        (SubMap.firstKey): Do a better check for empty SubMap, and if it is,
        throw a NoSuchElementException.
 2001-02-13  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/io/BlockDataException.java: Removed.
-       * java/io/ObjectInputStream.java (readObject): Throw 
+       * java/io/ObjectInputStream.java (readObject): Throw
        StreamCorruptedException, not BlockDataException.
        * Makefile.am: Remove BlockDataException.
        * Makefile.in: Rebuild.
 
 2001-02-12  Jeff Sturm  <jeff.sturm@commerceone.com>
-            Tom Tromey  <tromey@redhat.com>
+           Tom Tromey  <tromey@redhat.com>
 
        * interpret.cc (continue1): [insn_invokevirtual] Do an explicit
        null pointer check.
        * java/lang/Float.java: As above.
        (floatToRawIntBits): New method.
 
-       * java/io/OutputStreamWriter.java: (flush, writeChars): Throw 
+       * java/io/OutputStreamWriter.java: (flush, writeChars): Throw
        IOException if stream closed.
 
 2001-02-08  Tom Tromey  <tromey@redhat.com>
 2001-01-26  Andrew Haley  <aph@redhat.com>
 
        (INIT_FPE): Use a direct system call to set the handler.
-       
+
 2001-01-27  Richard Henderson  <rth@redhat.com>
 
        * configure.host (alpha*-*) [libgcj_flags]: Add -mieee.
 
        * java/io/ObjectInputStream.java (read): AND byte with 0xff to make
        result unsigned.
-       (read (byte[], int, int)): Only call readNextBlock() if the block 
+       (read (byte[], int, int)): Only call readNextBlock() if the block
        buffer would actually be overrun. Increment blockDataPosition.
        (callReadMethod): Propagate exceptions from invocation target.
-       * java/io/ObjectOutputStream.java (callWriteMethod): Propagate 
+       * java/io/ObjectOutputStream.java (callWriteMethod): Propagate
        exceptions from invocation target.
 
 2001-01-26  Tom Tromey  <tromey@redhat.com>
 
 2001-01-17  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/lang/Class.h (isInterface): Move implementation from 
+       * java/lang/Class.h (isInterface): Move implementation from
        natClass.cc. Declare inline.
        (Class): Add default constructor.
        * java/lang/Object.h: Update comments.
        (_Jv_GetArrayClass): New inline function.
        (arrayclass): New field.
        * prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayClass. Don't use
-       _Jv_GetArrayElementFromElementType. 
+       _Jv_GetArrayElementFromElementType.
        (_Jv_NewPrimArray): Ditto.
        (_Jv_PrimClass constructor): Initialize "depth", "ancestors", and
        "idt" for completeness. Initialze "arrayclass" using _Jv_NewArrayClass.
        Set Modifier::ABSTRACT.
        * java/lang/natClassLoader.cc (_Jv_NewClass): Initialize "arrayclass".
-       (_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. Now void. 
+       (_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. Now void.
        Now synchronized. Array classes are now referenced from
        elementClass->arrayclass. Don't use _Jv_FindClassInCache.
        Set array classes' accessibility flags correctly. Optimize so that
        * java/lang/Object.h (struct _JvObjectPrefix): New virtuals
        nacd_1 and nacd_2 (for compatibility with the new C++ ABI.)
        (class java::lang::Object): `finalize' moved up front.
-       * java/lang/natClass.cc 
+       * java/lang/natClass.cc
        (isAssignableFrom): Turned outline.
        (isInstance): Likewise.
        (isInterface): Likewise, fixed indentation.
 
        * java/io/PipedInputStream: Rewrote to be simpler and more correct.
        * java/io/PipedOutputStream: Updated to match new PipedInputStream.
-       * java/io/PipedReader: New implementation based on new 
+       * java/io/PipedReader: New implementation based on new
        PipedInputStream.
        * java/io/PipedWriter: Updated to match new PipedReader.
 
        * include/win32-threads.h: Ditto.
        * include/no-threads.h: Ditto.
        * posix-threads.cc (_Jv_ThreadInitData): Implement new prototype.
-       (_Jv_ThreadDestroyData): New function. Free native thread "data" and 
+       (_Jv_ThreadDestroyData): New function. Free native thread "data" and
        move mutex and condition variable destroy code from:
        (really_start): ...here.
        (_Jv_ThreadStart): Set PTHREAD_CREATE_DETACHED.
        * win32-threads.cc (_Jv_ThreadInitData): Implement new prototype.
        (_Jv_ThreadDestroyData): Implemented.
        * nogc.cc (_Jv_AllocObject): Use "void *" not "ptr_t".
-       (_Jv_AllocArray): Ditto.        
-       
+       (_Jv_AllocArray): Ditto.
+
 2000-12-27  Jeff Sturm  <jeff.sturm@commerceone.com>
 
        * java/sql/DriverManager.java (getConnection): Don't set user/password
        Fix for PR libgcj/1516:
        * java/lang/reflect/natMethod.cc (primitives): Remove void entry.
        Add boolean entry.
-       (can_widen): Declared inline. Remove redundant checks for void 
-       arguments and char->short conversion. Add special case for boolean 
+       (can_widen): Declared inline. Remove redundant checks for void
+       arguments and char->short conversion. Add special case for boolean
        conversions.
        (ffi_type): Declared inline.
        (_Jv_CallAnyMethodA): Move unwrapping logic inside isPrimitive() block.
 
 2000-12-18  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/awt/Window.java (addNotify): Remove peer casting hack now that 
+       * java/awt/Window.java (addNotify): Remove peer casting hack now that
        gcj/312 is fixed.
        * java/awt/Button.java (addNotify): Likewise.
        * java/awt/Label.java (addNotify): Likewise.
 
 2000-12-18  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/util/zip/natInflater.cc (inflate): Treat Z_BUF_ERROR as 
+       * java/util/zip/natInflater.cc (inflate): Treat Z_BUF_ERROR as
        end-of-stream if avail_in is 0.
 
 2000-12-17  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * configure.in: Remove check for -fuse-divide-subroutine.
        * configure: Rebuilt.
-       
+
        * java/util/Hashtable.java (Enumerator.nextElement): Initialize `e'.
 
        * gcj/javaprims.h: Rebuilt CNI namespace declarations.
-       
+
 2000-12-11  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * Makefile.am: Add HashSet.java and java/lang/ref classes.
        * java/util/BasicMapEntry.java: Deleted.
        * java/util/Collections.java (search): Use a for-loop, not iterator
        hasNext().
-       (copy): Use a for-loop. Throw an IndexOutOfBoundsException if run out 
+       (copy): Use a for-loop. Throw an IndexOutOfBoundsException if run out
        of elements in source.
        (max): Use a for-loop.
        (min): Ditto.
-       (reverse): Keep track of positions instead of using Iterator's 
+       (reverse): Keep track of positions instead of using Iterator's
        nextIndex() and previousIndex().
-       (shuffle(List)): Initialize defaultRandom if required using 
-       double-check thread safety idiom. Call two-argument shuffle method 
+       (shuffle(List)): Initialize defaultRandom if required using
+       double-check thread safety idiom. Call two-argument shuffle method
        using defaultRandom.
        (defaultRandom): New field.
        (shuffle(List, Random)): Use a for-loop. Keep track of pos instead of
        * java/lang/ref/ReferenceQueue.java: Ditto.
 
 2000-12-10  Richard Henderson <rth@redhat.com>
-       
+
        * configure.host: Recognize alpha*-*, not alphaev6-*.
 
 2000-12-09  Anthony Green  <green@redhat.com>
        java/lang/String.h:, java/lang/reflect/Constructor.h:,
        java/lang/reflect/Field.h:, java/lang/reflect/Method.h:,
        gnu/gcj/runtime/VMClassLoader.h:,
-       java/io/ObjectInputStream$$GetField.h:, 
+       java/io/ObjectInputStream$$GetField.h:,
        java/io/ObjectOutputStream$$PutField.h:, header-check:): Likewise.
        (Makefile.in): Rebuilt.
-       
+
 2000-12-08  Tom Tromey  <tromey@redhat.com>
 
        From Phil Edwards:
 
 2000-12-04  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/lang/natDouble.cc: Include fdlibm.h, not mprec.h. From 
+       * java/lang/natDouble.cc: Include fdlibm.h, not mprec.h. From
        Edgar Villanueva <edgarvil@home.com>.
 
 2000-12-03  Tom Tromey  <tromey@redhat.com>
        * java/lang/dtoa.c: Include string.h.
        * java/lang/natString.cc (toLowerCase): Initialize `ch' to prevent
        compiler warning.
-       
+
        From Adam Welc <welc@cs.purdue.edu>:
        * java/util/LinkedList.java (removeFirst): Update `first' field.
        Handle the last == first case.
        * configure.in: Check for setlocale.
        * configure: Rebuilt.
        * include/config.h.in: Rebuilt.
-       
+
        * java/util/zip/InflaterInputStream (read): Don't return -1 unless
        the infate() call didn't deliver any output. Throw a ZipException if
        the needsDictionary() call returns true.
 2000-11-28  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/io/DataInputStream.java: Merge classpath docs. Call in.read()
-       directly rather than read() in all cases. Make primitive read 
+       directly rather than read() in all cases. Make primitive read
        implementations more efficient, as defined in JDK online docs.
        (skipBytes): Behave like the JDK's implementation.
-       * java/io/BufferedReader.java: Merge classpath docs. Check for a 
-       closed stream with checkStatus() whenever an IOException can be 
+       * java/io/BufferedReader.java: Merge classpath docs. Check for a
+       closed stream with checkStatus() whenever an IOException can be
        thrown.
        (checkStatus): New private method.
 
        (addAll): Ditto.
        * java/util/Collections.java (UnmodifiableCollection): Implement
        toString().
-       (UnmodifiableList): Throw UnsupportedOperationException from 
+       (UnmodifiableList): Throw UnsupportedOperationException from
        modification methods. Set `l' from the one-parameter constructor.
        (UnmodifiableMap): Implement toString().
        (SynchronizedCollection): Ditto.
@@ -1315,7 +2046,7 @@ Sun Nov 26 23:59:55 2000  Anthony Green  <green@redhat.com>
        javax/naming/directory/InvalidSearchFilterException.java,
        javax/naming/directory/NoSuchAttributeException.java,
        javax/naming/directory/SchemaViolationException.java: New files.
-       
+
 Sun Nov 26 22:35:53 2000  Anthony Green  <green@redhat.com>
 
        * javax/naming/InitialContext.java (rebind): Implement.
@@ -1437,7 +2168,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        javax/naming/NamingEnumeration.java, javax/naming/Name.java,
        javax/naming/InitialContext.java,
        javax/naming/NoInitialContextException.java: New files.
-       
+
 2000-11-25  Anthony Green  <green@redhat.com>
 
        * prims.cc (_Jv_NewObjectArray): Undo placement change.
@@ -1460,7 +2191,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        (URLClassLoader): Call jarFileize.  Use addElement instead of
        insertElementAt.
        (findResources): New method.
-       
+
        * java/lang/ClassLoader.java: Import java.util.Enumeration.
        (getResource): Implement correct logic.
        (findResource): New method.
@@ -1468,7 +2199,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        (findClass): Create a ClassNotFoundException with the name of the
        class rather than nothing at all.
        (defineClass) Only throw ClassFormatError.
-       
+
        * java/lang/Class.java (forName): New method.
        * java/lang/Class.h (forName): New method.
        * java/lang/natClass.cc (forName): New method.
@@ -1476,13 +2207,13 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 2000-11-24  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/lang/System.java (setProperties): Only call init_properties()
-       if properties is null.  
+       if properties is null.
        (getProperties): Ditto.
        (getProperty): Ditto.
        (setProperty): Call init_properties if properties are null.
        (prop_init): Remove field.
        * java/lang/natSystem.cc (init_properties): Synchronize the entire
-       method. Check for null properties after synchronizing instead of 
+       method. Check for null properties after synchronizing instead of
        prop_init flag. Set the properties field last for thread safety.
 
        * java/io/ObjectInputStream.java (ObjectInputStream): If DEBUG is set,
@@ -1500,8 +2231,8 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * configure: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (built_java_source_files): Add Configuration.java.
-       * configure.in: Add Configuration.java to CONFIG_FILES. Set 
-       LIBGCJDEBUG substitution if --enable-libgcj-debug is specified. 
+       * configure.in: Add Configuration.java to CONFIG_FILES. Set
+       LIBGCJDEBUG substitution if --enable-libgcj-debug is specified.
        Create `gnu' directory in the build tree.
        * gnu/classpath/Configuration.java.in: New file.
 
@@ -1534,16 +2265,16 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * Makefile.in: Rebuilt.
        * Makefile.am (core_java_source_files): Added Collections.java.
        * java/util/List.java: Merged from classpath.
-       * java/util/Vector.java: Ditto. 
+       * java/util/Vector.java: Ditto.
        * java/util/Collections.java: From classpath.
-       * java/util/ArrayList.java (addAll(Collection)): Call 
+       * java/util/ArrayList.java (addAll(Collection)): Call
        addAll(int,Collection) instead of duplicating code.
        (indexOf): Clean up int initialization.
-       (clear): Set cleared array entries to null, to allow garbage 
+       (clear): Set cleared array entries to null, to allow garbage
        collection.
-       * java/util/List.java: Minor formatting fixes.  
+       * java/util/List.java: Minor formatting fixes.
        * java/util/SimpleTimeZone.java: ditto.
-       
+
 2000-11-18  Tom Tromey  <tromey@cygnus.com>
 
        * Makefile.in: Rebuilt.
@@ -1706,24 +2437,24 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
 2000-11-02  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * java/util/AbstractList.java: Throw messages with 
+       * java/util/AbstractList.java: Throw messages with
        IndexOutOfBoundsExceptions.
         (listIterator()): Call listIterator(0).
        (size): New field. Initialize to size().
        (hasNext): Test position against size, not size().
-       (remove): Increment knownMod by one instead of resetting it from 
+       (remove): Increment knownMod by one instead of resetting it from
        modCount.
        (add): Ditto.
        (SubList.upMod): Removed.
        (SubList.set): Don't call upMod() or update knownMod.
        (SubList.add(int,Object)): Increment modCount instead of caling upMod().
        (SubList.remove): Ditto.
-       (SubList.addAll): Don't call backingList.size(). Increment size from 
+       (SubList.addAll): Don't call backingList.size(). Increment size from
        c.size().
        (SubList.iterator): New method. Call listIterator(0).
        (SubList.listIterator): New method. Restore code to return an anonymous
        listIterator implementation (with some changes).
-       * java/util/AbstractSequentialList.java: Throw messages with 
+       * java/util/AbstractSequentialList.java: Throw messages with
        IndexOutOfBoundsExceptions.
        (addAll): Add a specnote.
        * java/util/ArrayList.java (removeRange): Get the math right.
@@ -1769,7 +2500,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
        * java/io/Reader.java: Merge docs from classpath.
        (skip): Synchronize on `lock'.
-       * java/io/FileReader.java: Import correct implementation from 
+       * java/io/FileReader.java: Import correct implementation from
        classpath.
        * java/io/StringReader.java: Merge docs from classpath.
        (ready): Throw IOException if stream is closed.
@@ -1793,16 +2524,16 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        (hashCode): Ditto.
        (indexOf): Ditto. Don't take null check outside of the loop.
        (iterator): Return an AbstractListItr instead of anonymous class.
-       (lastIndexOf): Use a for loop bounded by size() instead of 
+       (lastIndexOf): Use a for loop bounded by size() instead of
        hasPrevious() in iterator loop.
        (listIterator): Return an AbstractListItr.
        (removeRange): Remove bounds checking code and docs.
-       (AbstractListItr): New inner class. Code moved here from 
+       (AbstractListItr): New inner class. Code moved here from
        listIterator().
-       (SubList.iterator): Removed. Use default implementation from 
+       (SubList.iterator): Removed. Use default implementation from
        AbstractList instead.
        (SubList.listIterator): As above.
-       * java/util/AbstractMap.java (clear): Use a for loop bounded by size() 
+       * java/util/AbstractMap.java (clear): Use a for loop bounded by size()
        instead of hasNext() in iterator loop.
        (containsValue): Ditto.
        (equals): Ditto.
@@ -1812,7 +2543,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        (remove): Ditto.
        (toString): Ditto. Use string concatenation operators, not
        StringBuffer.
-       * java/util/AbstractSequentialList.java (addAll): Use a for loop 
+       * java/util/AbstractSequentialList.java (addAll): Use a for loop
        bounded by size() instead of hasNext() in iterator loop.
        * java/util/AbstractSet.java (hashCode): Don't catch exception as
        part of normal execution flow. Do an explicit null check instead.
@@ -1824,7 +2555,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        (removeRange): Make protected. Don't check bounds.
        (add): Check lower bounds also. Simplify IndexOutOfBoundsException
        message.
-       (addAll (Collection)): Use a size-bounded for loop instead of hasNext() 
+       (addAll (Collection)): Use a size-bounded for loop instead of hasNext()
        check.
        (addAll (int, Collection)): Check lower bounds. Simplify exception
        string.
@@ -1836,11 +2567,11 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        (toArray): Correct comment.
        (trimToSize): Don't update modCount, this is not a structural change.
        Add comment.
-       
+
        * java/util/BitSet.java: Merged with classpath, new JDK 1.2 methods
        implemented.
        (toString): Declare `bit' as long, not int.
-       (data): Made package-private, not private.      
+       (data): Made package-private, not private.
 
 2000-10-27  Warren Levy  <warrenl@cygnus.com>
 
@@ -1884,9 +2615,9 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
        * Makefile.am (GCJCOMPILE): Pass --tag=GCJ to libtool.
        (core_java_source_files): Put java.lang, java.io, and java.util here.
-       (ordinary_java_source_files): Order so that core_java_source_files are 
+       (ordinary_java_source_files): Order so that core_java_source_files are
        built first.
-       (java_source_files): Reorder so that special_java_source_files are 
+       (java_source_files): Reorder so that special_java_source_files are
        built first.
        * configure.in: Don't pass -I flag to gcj.
        * Makefile.in: Rebuilt.
@@ -1900,7 +2631,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 2000-10-24  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/util/EventObject.java: Merged from classpath.
-       
+
        * java/lang/ThreadGroup.java (uncaughtException): Print thread name
        with stack dump.
 
@@ -2076,7 +2807,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
        * include/jvm.h: Enable __builtin_expect().
 
-       * name-finder.cc (lookup): Don't trust dladdr() if the address is from 
+       * name-finder.cc (lookup): Don't trust dladdr() if the address is from
        the main program. Fix for PR libgcj/341.
 
 2000-10-07  Tom Tromey  <tromey@cygnus.com>
@@ -2152,7 +2883,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * java/security/interfaces/DSAPrivateKey.java (serialVersionUID):
        New field.
        * java/security/interfaces/DSAPublicKey.java (serialVersionUID):
-        New field.
+       New field.
        * java/sql/DataTruncation.java (serialVersionUID): New field.
        * java/sql/SQLException.java (serialVersionUID): New field.
        * java/sql/SQLWarning.java (serialVersionUID): New field.
@@ -2199,7 +2930,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
 2000-09-30  Hans Boehm  <boehm@acm.org>
            Bryce McKinlay  <bryce@albatross.co.nz>
-           
+
        Implement bitmap descriptor based marking for Boehm GC.
 
        * configure.in: Define JC1GCSPEC. Set it if boehm-gc is used.
@@ -2207,7 +2938,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * libgcj.spec.in: Pass JC1GCSPEC to jc1.
        * include/jvm.h (struct _Jv_VTable): New field `gc_descr'. New inline
        method get_finalizer().
-       (struct _Jv_ArrayVTable): Ditto. Declare method array with 
+       (struct _Jv_ArrayVTable): Ditto. Declare method array with
        NUM_OBJECT_METHODS elements instead of NUM_OBJECT_METHODS + 1.
        (_Jv_AllocObj): Add new jclass parameter.
        (_Jv_AllocArray): Ditto.
@@ -2222,7 +2953,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * resolve.cc (METHOD_NOT_THERE, METHOD_INACCESSIBLE): New #defines.
        (_Jv_ResolvePoolEntry): Use METHOD_NOT_THERE and METHOD_INACCESSIBLE.
        (_Jv_DetermineVTableIndex): Ditto.
-       (_Jv_PrepareClass): Ditto. Remove offset-by-one adjustments from vtable 
+       (_Jv_PrepareClass): Ditto. Remove offset-by-one adjustments from vtable
        calculations to account for new gc_descr field.
        * boehm.cc: #include gc_gcj.h.
        (obj_kind_x, obj_free_list): `#if 0'-ed away.
@@ -2230,10 +2961,10 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        New commentary from HB. Mark the classes vtable.
        (_Jv_MarkArray): Check that vtable doesn't point to a cleared object.
        (GC_DEFAULT_DESCR): New #define.
-       (_Jv_BuildGCDescr): New function. Use GC_DEFAULT_DESCR, for now.        
+       (_Jv_BuildGCDescr): New function. Use GC_DEFAULT_DESCR, for now.
        (_Jv_AllocObj): New parameter `klass'. Use GC_GCJ_MALLOC ().
        (_Jv_AllocArray): New parameter `klass'. Allocate with GC_MALLOC and
-       scan conservativly if size is less than min_heap_addr. Set vtable 
+       scan conservativly if size is less than min_heap_addr. Set vtable
        pointer of new object before returning.
        (_Jv_AllocBytes): Use GC_MALLOC_ATOMIC, not GC_GENERIC_MALLOC.
        (_Jv_InitGC): Call GC_init_gcj_malloc(). Don't set up marking and
@@ -2244,10 +2975,10 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * java/lang/Class.h (_Jv_NewObjectArray): No longer a friend.
        (_Jv_NewPrimArray): Ditto.
        (_Jv_AllocObj): Declare as a friend.
-       (_Jv_AllocArray): Ditto.        
+       (_Jv_AllocArray): Ditto.
        * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Copy gc_descr
-       from &ObjectClass into new array class. Remove offset-by-one 
-       adjustments from `method' size calculations to account for gc_descr 
+       from &ObjectClass into new array class. Remove offset-by-one
+       adjustments from `method' size calculations to account for gc_descr
        field.
 
 2000-09-26  Tom Tromey  <tromey@cygnus.com>
@@ -2294,7 +3025,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * java/lang/String.java (CASE_INSENSITIVE_ORDER): New static field.
        Initialize with anonymous class.
        (compareToIgnoreCase): New method.
-       
+
        * java/lang/ThreadGroup.java (had_uncaught_exception): New field.
        (uncaughtException): Set had_uncaught_exception.
        * prims.cc (JvRunMain): Check value of had_uncaught_exception and
@@ -2380,7 +3111,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
 2000-09-07  Bryce McKinlay  <bryce@albatross.co.nz>
 
-       * Makefile.am (Thread.h): Don't be friends with native threads 
+       * Makefile.am (Thread.h): Don't be friends with native threads
        functions.
        * Makefile.in: Rebuilt.
        * java/lang/Thread.java (interrupt_flag): Make package-private.
@@ -2412,7 +3143,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        calls to `throw'.
        (send): Undo last patch. Remove the label only.
        (mcastGrp): Ditto.
-       * java/net/natPlainSocketImpl.cc: Change various `JvThrow' calls to 
+       * java/net/natPlainSocketImpl.cc: Change various `JvThrow' calls to
        `throw'.
        * java/net/natInetAdress.cc: Ditto.
 
@@ -2430,7 +3161,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        stack. Synchronize.
        * java/lang/fdlibm.h: #undef __P if previously defined.
        * java/lang/natSystem.cc (currentTimeMillis): Remove unused local.
-       * java/net/natPlainDatagramSocketImpl.cc (send): Remove unreachable 
+       * java/net/natPlainDatagramSocketImpl.cc (send): Remove unreachable
        block.
        (mcastGrp): Ditto.
 
@@ -2441,10 +3172,10 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
 2000-09-04  Anthony Green  <green@redhat.com>
 
-        Fix for PR java.io/203:
-        * java/io/File.java (createTempFile): Obey directory argument.
+       Fix for PR java.io/203:
+       * java/io/File.java (createTempFile): Obey directory argument.
        Use java.io.tmpdir if needed.  Don't leave FileDescripators open.
-        * java/lang/natSystem.cc (init_properties): Use TMPDIR environment
+       * java/lang/natSystem.cc (init_properties): Use TMPDIR environment
        variable to set java.io.tmpdir on non-WIN32 systems.
 
 2000-09-04  Anthony Green  <green@redhat.com>
@@ -2464,10 +3195,10 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
 
 2000-09-01  Andrew Haley  <aph@redhat.com>
 
-        * java/io/StreamTokenizer.java: Don't throw a
-        NumberFormatException if a field is numeric as far as the
-        StreamTokenizer is concerned but not as far as Double.valueOf() is
-        concerned: return a zero instead.      
+       * java/io/StreamTokenizer.java: Don't throw a
+       NumberFormatException if a field is numeric as far as the
+       StreamTokenizer is concerned but not as far as Double.valueOf() is
+       concerned: return a zero instead.
 
 2000-08-30  Tom Tromey  <tromey@cygnus.com>
 
@@ -2514,7 +3245,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        java/util/SortedSet.java: Imported from GNU Classpath.
        * Makefile.in: Rebuilt.
        * Makefile.am: Added new files.
-       
+
 2000-08-26  Anthony Green  <green@redhat.com>
 
        * Makefile.in: Rebuilt.
@@ -2611,7 +3342,7 @@ Sun Aug 20 12:33:43 2000  Anthony Green  <green@redhat.com>
        * java/util/jar/JarFile.java: Don't call
        java.util.zip.ZipFile.getEntry twice.  From Mark Wielaard
        <mark@klomp.org>.
-       
+
 Sun Aug 20 09:51:48 2000  Anthony Green  <green@redhat.com>
 
        * java/net/URLClassLoader.java: Find the JarEntry via the JarFile.
@@ -2665,7 +3396,7 @@ Sat Aug 19 11:00:53 2000  Anthony Green  <green@redhat.com>
 
        * Makefile.in, gcj/Makefile.in: Rebuilt.
        * Makefile.am (ordinary_java_source_files): Add these new classes.
-       
+
 2000-08-16  Rolf W. Rasmussen  <rolfwr@ii.uib.no>
 
        * gnu/gcj/awt/ComponentDataBlitOp.java: New file.
@@ -2851,18 +3582,18 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
            John Stracke <francis@ecal.com>
 
        * gnu/gcj/protocol/http/Connection.java (gotHeaders): Removed.
-       (connect): Don't falsely claim HTTP/1.1 compliance. Call 
+       (connect): Don't falsely claim HTTP/1.1 compliance. Call
        getHttpHeaders().
        (disconnect): Don't unset connected flag.
        (getHeaderField (String)): Call connect() if not connected.
        (getHeaderField (int)): Ditto.
        (getHeaderFieldKey): Ditto.
-       (getHttpHeaders): Don't call connect(). 
+       (getHttpHeaders): Don't call connect().
        * java/net/HttpURLConnection.java (instanceFollowRedirects,
        gotResponseVals): New fields.
        (getResponseCode): Call getResponseVals() conditionally.
        (getResponseMessage): Ditto.
-       (getResponseVals): Call connect(). Don't throw FileNotFoundException.   
+       (getResponseVals): Call connect(). Don't throw FileNotFoundException.
 
 2000-08-09  Bryce McKinlay  <bryce@albatross.co.nz>
 
@@ -2883,8 +3614,8 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * java/awt/geom/Point2D.java (clone): Ditto.
        * java/awt/geom/RectangularShape.java (clone): Ditto.
        * java/awt/image/ColorModel.java (bits, cspace, transparency, hasAlpha,
-       isAlphaPremultiplied): Make package-private, not private.       
-       
+       isAlphaPremultiplied): Make package-private, not private.
+
 2000-08-08  Tom Tromey  <tromey@cygnus.com>
 
        * gnu/gcj/convert/Input_UTF8.java (read): Fixed handling of
@@ -2950,22 +3681,22 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
 
 2000-08-03  Bryce McKinlay  <bryce@albatross.co.nz>
 
-        * Makefile.am: Add new AWT stubs.
-        * java/awt/Canvas.java: New placeholder class.
-        * java/awt/Checkbox.java: Ditto.
-        * java/awt/CheckboxMenuItem.java: Ditto.
-        * java/awt/Choice.java: Ditto.
-        * java/awt/Dialog.java: Ditto.
-        * java/awt/FileDialog.java: Ditto.
-        * java/awt/List.java: Ditto.
-        * java/awt/ScrollPane.java: Ditto.
-        * java/awt/TextField.java: Ditto.
-        * java/awt/datatransfer/Clipboard.java: Ditto.
-        * java/awt/Component.java (treeLock): Now a static String. Add comment.
-        * java/awt/MenuItem.java (MenuItem): Add default constructor.
-        * java/awt/Toolkit.java: Added all methods from J2SE 1.3 API docs. 
-        Some commented out. Partially implemented.
-        * java/awt/natToolkit.cc: Removed file.
+       * Makefile.am: Add new AWT stubs.
+       * java/awt/Canvas.java: New placeholder class.
+       * java/awt/Checkbox.java: Ditto.
+       * java/awt/CheckboxMenuItem.java: Ditto.
+       * java/awt/Choice.java: Ditto.
+       * java/awt/Dialog.java: Ditto.
+       * java/awt/FileDialog.java: Ditto.
+       * java/awt/List.java: Ditto.
+       * java/awt/ScrollPane.java: Ditto.
+       * java/awt/TextField.java: Ditto.
+       * java/awt/datatransfer/Clipboard.java: Ditto.
+       * java/awt/Component.java (treeLock): Now a static String. Add comment.
+       * java/awt/MenuItem.java (MenuItem): Add default constructor.
+       * java/awt/Toolkit.java: Added all methods from J2SE 1.3 API docs.
+       Some commented out. Partially implemented.
+       * java/awt/natToolkit.cc: Removed file.
 
 2000-08-03  Bryce McKinlay  <bryce@albatross.co.nz>
 
@@ -3003,26 +3734,26 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
 
 2000-08-02  Bryce McKinlay  <bryce@albatross.co.nz>
 
-        * interpret.cc (_Jv_InterpMethod::continue1): Type of `fun' changed
+       * interpret.cc (_Jv_InterpMethod::continue1): Type of `fun' changed
        to match C declaration in ffi.h.
        * Makefile.am: Add java/awt/Button.java.
        * Makefile.in: Rebuilt.
 
 2000-07-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Type of the
-        cast of the second argument to `ffi_raw_call' changed to match
-        prototype.
+       * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Type of the
+       cast of the second argument to `ffi_raw_call' changed to match
+       prototype.
 
 2000-07-26  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-        * jni.cc (_Jv_JNIMethod::call): Type of the cast of the second
-        argument to `ffi_raw_call' changed to match prototype.
+       * jni.cc (_Jv_JNIMethod::call): Type of the cast of the second
+       argument to `ffi_raw_call' changed to match prototype.
 
 2000-07-31  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/awt/Component.java (toString): Implemented.
-       * java/awt/Container.java (addImpl): Remove FIXME. Only call 
+       * java/awt/Container.java (addImpl): Remove FIXME. Only call
        dispatchEvent() to dispatch the event.
        (removeImpl): Ditto.
 
@@ -3218,7 +3949,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * java/awt/geom/RectangularShape.java: New file.
        * java/awt/geom/Point2D.java (Double, Float): New inner classes.
        * java/awt/geom/IllegalPathStateException.java: New file.
-       
+
        * scripts/showval.java: New file.
 
        * scripts/classes.pl (scan): Print inner classes properly.
@@ -3269,26 +4000,26 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * java/util/ResourceBundle.java (getLocale): stub.
        * Makefile.am: Added new AWT classes.
        * Makefile.in: Rebuilt.
-       * java/awt/AWTEvent.java: Add EVENT_MASK constants, isConsumed, 
+       * java/awt/AWTEvent.java: Add EVENT_MASK constants, isConsumed,
        constructors. Fix toString() and paramString().
        * java/awt/AWTEventMulticaster.java: New class. Implemented.
        * java/awt/CheckboxGroup.java: New class.
        * java/awt/ColorModel.java: New class.
-       * java/awt/Component.java: Added stubs for most methods. Implemented 
+       * java/awt/Component.java: Added stubs for most methods. Implemented
        event dispatch.
        * java/awt/Container.java: ditto.
        * java/awt/ComponentOrientation.java: New class. Partly implemented.
        * java/awt/Cursor.java: ditto.
        * java/awt/Event.java: Fix paramString().
        * java/awt/EventQueue.java: New class. Implemented.
-       * java/awt/Font.java: Added additional stub methods. Implemented 
+       * java/awt/Font.java: Added additional stub methods. Implemented
        toString().
        * java/awt/FontMetrics.java: New class. Stubbed.
-       * java/awt/GraphicsConfiguration.java: New class. Complete, except for 
+       * java/awt/GraphicsConfiguration.java: New class. Complete, except for
        Java2D parts.
        * java/awt/Insets.java: New class. Implemented.
        * java/awt/Menu.java: Add new methods. Partially implemented.
-       * java/awt/MenuItem.java: Add new methods and fields. Partially 
+       * java/awt/MenuItem.java: Add new methods and fields. Partially
        implemented.
        * java/awt/MenuShortcut.java: New class. Implemented.
        * java/awt/Panel.java: New class. Placeholder.
@@ -3305,7 +4036,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * java/awt/event/HierarchyEvent.java: New class.
        * java/awt/event/HierarchyListener.java: New class.
        * java/awt/event/InputMethodEvent.java: Implement paramString().
-       * java/awt/event/InvocationEvent.java: Implement paramString(). Throw 
+       * java/awt/event/InvocationEvent.java: Implement paramString(). Throw
        exception if !catchExceptions.
        * java/awt/event/ItemEvent.java: Implement paramString().
        * java/awt/event/KeyEvent.java: Implement paramString().
@@ -3313,7 +4044,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * java/awt/event/PaintEvent.java: Implement paramString().
        * java/awt/event/TextEvent.java: Implement paramString().
        * java/awt/event/WindowEvent.java: Implement paramString().
-       
+
        AWT Peer interfaces:
        * java/awt/peer/ButtonPeer.java: New file.
        * java/awt/peer/ListPeer.java: New file.
@@ -3378,7 +4109,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
 
        * java/lang/ThreadGroup.java: Added synchronized flag to many methods.
        (destroyed_flag): Removed.
-       (isDestroyed, removeGroup, removeThread): Test for parent == null.      
+       (isDestroyed, removeGroup, removeThread): Test for parent == null.
        (activeCount): Added spec note.
 
 2000-06-27  Warren Levy  <warrenl@cygnus.com>
@@ -3453,8 +4184,8 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * prims.cc (_Jv_RunMain): Don't use `main_group'.
        * gnu/gcj/runtime/FirstThread.java: Remove ThreadGroup constructor
        argument.
-       * java/lang/Thread.java (Thread): Bootstrap initial thread from 
-       ThreadGroup.root if Thread.currentThread is null. Honour the 
+       * java/lang/Thread.java (Thread): Bootstrap initial thread from
+       ThreadGroup.root if Thread.currentThread is null. Honour the
        ThreadGroup's max priority setting.
 
 2000-06-18  Tom Tromey  <tromey@cygnus.com>
@@ -3480,11 +4211,11 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
 2000-06-15  Bryce McKinlay  <bryce@albatross.co.nz>
 
        Fix for PR java.lang/258:
-       * prims.cc (_Jv_PrimClass): Set state of primitive class to 
+       * prims.cc (_Jv_PrimClass): Set state of primitive class to
        JV_STATE_DONE, to prevent accidental initialization.
-       * java/lang/natClass.cc (_Jv_IsAssignableFrom): Call 
+       * java/lang/natClass.cc (_Jv_IsAssignableFrom): Call
        _Jv_InterfaceAssignableFrom if target is an interface and source is an
-       interface or an abstract class. Remove redundant initializeClass calls. 
+       interface or an abstract class. Remove redundant initializeClass calls.
        Remove duplicate if_idt test.
        (_Jv_InterfaceAssignableFrom): New function.
        * java/lang/Class.h (_Jv_InterfaceAssignableFrom): Prototype.
@@ -3526,13 +4257,13 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        Fix for PR libgcj/226:
        * java/lang/Class.h (_Jv_InitClass): Don't call __builtin_expect,
        since this is an installed header.
-       
+
        Fix for PR libgcj/228:
-       * java/util/zip/ZipFile (getInputStream): Create inflater with 
+       * java/util/zip/ZipFile (getInputStream): Create inflater with
        nowrapper option.
-       
+
        * java/util/zip/natInflater.cc (inflate): Throw zlib's error message
-       with DataFormatException.       
+       with DataFormatException.
 
 2000-05-20  Tom Tromey  <tromey@cygnus.com>
 
@@ -3677,7 +4408,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
 
 2000-04-17  Andrew Haley  <aph@cygnus.com>
 
-       * Makefile.am: Add new files: 
+       * Makefile.am: Add new files:
        gnu/gcj/io/SimpleSHSStream.java, gnu/gcj/io/natSimpleSHSStream.cc,
        gnu/gcj/io/shs.cc.
        * Makefile.in: Rebuilt.
@@ -3701,12 +4432,12 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        punctuation from the classname of an array element.
 
        * gcj/javaprims.h: Add SimpleDigestStream.
-       
+
 2000-04-17  Andrew Haley  <aph@cygnus.com>
 
        * java/lang/natClass.cc (getPrivateField): Make recursive calls
        to getPrivateField for superclasses.
+
 2000-04-14  Andrew Haley  <aph@cygnus.com>
 
        * Makefile.am: Add new files:
@@ -3723,7 +4454,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * java/lang/natClass.cc (getPrivateField): New method.
        (getPrivateMethod): Ditto.
        (_Jv_IsAssignableFrom): Return false for Interface with no IDT.
-       * gcj/javaprims.h: Add serialization classes.   
+       * gcj/javaprims.h: Add serialization classes.
        * java/io/ObjectInputStream.java (setBooleanField): Rewrite in Java.
        (setByteField): Ditto.
        (setCharField): Ditto.
@@ -3749,7 +4480,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        (getDefinedSUID): Ditto.
        * java/io/natObjectOutputStream.cc: New file.
        * java/io/natObjectInputStream.cc: New file.
-       
+
 2000-04-13  Warren Levy  <warrenl@cygnus.com>
 
        * java/io/ObjectInputStream.java: Temporary workarounds for compiler
@@ -3966,7 +4697,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * sysdep/ia64.c (rse_address_add): Delete.
        (IS_NaT_COLLECTION_ADDR): Delete.
        (ia64_backtrace_helper): check for null unwind_info.
-       
+
        * sysdep/ia64-frame.h: add calc_caller_bsp.
 
        * java/lang/natThrowable.cc (printRawStackTrace): Flush
@@ -3976,7 +4707,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        (_Jv_remI): Likewise.
        (_Jv_divJ): Likewise.
        (_Jv_remJ): Likewise.
-       
+
        * interpret.cc (continue1): Use divide subroutines to guarantee
        correct Java standard behaviour.
        Floating-point division should not abort; make it so.
@@ -3997,7 +4728,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        lookups on ia64.
        * java/lang/natThrowable.cc(printRawStackTrace): Don't print out a
        blank line.
-       
+
 2000-03-22  Andrew Haley  <aph@cygnus.com>
 
        * configure.host: Add -funwind-tables for IA64.
@@ -4008,7 +4739,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        * sysdep/ia64-frame.h: New file.
        * configure.in: Add sysdep/ia64.c for ia64.
        * configure: Rebuilt.
-       
+
 2000-03-17  Andrew Haley  <aph@cygnus.com>
 
        * java/lang/natString.cc: Remove `register' keyword.
@@ -4070,7 +4801,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        (StringBuffer (String)): Use DEFAULT_CAPACITY.
 
        (replace): Calculate length for arraycopy() correctly.
-       
+
 2000-05-09  Tom Tromey  <tromey@cygnus.com>
 
        * java/lang/StringBuffer.java (toString): Don't mark buffer as
@@ -4124,7 +4855,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
        (_Jv_IsInstanceOf): Ditto.
        (_Jv_CheckCast): Ditto.
        (_Jv_CheckArrayStore): Ditto.
-       * java/lang/Class.h (_Jv_InitClass): Ditto.     
+       * java/lang/Class.h (_Jv_InitClass): Ditto.
        * java/lang/natObject.cc (_Jv_MonitorEnter): __builtin_expect `false',
        not `0'.
        (notify): Ditto.
@@ -4348,7 +5079,7 @@ Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
 
        * include/posix-threads.h (_Jv_MutexUnlock): Replace
        _JV_NOT_OWNER.
-       
+
 2000-04-08  Anthony Green  <green@cygnus.com>
 
        * posix-threads.cc (_Jv_MutexLock): Moved back to posix-threads.h.
@@ -4454,7 +5185,7 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        * configure.in: Add --disable-jvmpi.
        * include/config.h.in: Rebuilt.
        * acconfig.h: Add ENABLE_JVMPI.
-        
+
        * include/jvm.h: Declare _Jv_DisableGC and _Jv_EnableGC.
        (_Jv_JVMPI_Notify_OBJECT_ALLOC): New define.
        (_Jv_JVMPI_Notify_THREAD_END): New define.
@@ -4480,12 +5211,12 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        (disable_gc_mutex): Declare.
        * nogc.cc (_Jv_DisableGC): New function.
        (_Jv_EnableGC): New function.
-         
+
        * jni.cc (_Jv_JNI_GetEnv): Handle JVMPI interface requests.
        (_Jv_JVMPI_Interface): Define.
        (jvmpiEnableEvent): New function.
        (_Jv_JNI_Init): Initialize _Jv_JVMPI_Interface.
-         
+
        * include/jvmpi.h: New file.
 
 2000-03-27  Bryce McKinlay  <bryce@albatross.co.nz>
@@ -4502,10 +5233,10 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        the target thread by signaling its wait condition.
        (_Jv_ThreadInitData): Set `thread_obj' in the thread data struct,
        not the starter struct. Initialize wait_mutex and wait_cond.
-       (_Jv_MutexLock): New recursive mutex implementation. Moved from 
+       (_Jv_MutexLock): New recursive mutex implementation. Moved from
        posix-threads.h.
        (_Jv_MutexUnlock): Ditto.
-       (really_start): Set info->data->thread from pthread_self() to work 
+       (really_start): Set info->data->thread from pthread_self() to work
        around a race condition. Destroy wait_mutex and wait_cond when run()
        returns.
        * java/lang/Thread.java: (isInterrupted_): Renamed to overloaded
@@ -4514,7 +5245,7 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        startable_flag: New private field.
        (Thread): Initialize `startable_flag'.
        (toString): Check for null thread group.
-       * java/lang/natThread.cc: (struct natThread): New fields 
+       * java/lang/natThread.cc: (struct natThread): New fields
        `join_mutex', `join_cond'. Removed fields `joiner', `next'.
        (class locker): Removed.
        (initialize_native): Initialize `join_cond' and `join_mutex'.
@@ -4529,7 +5260,7 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        #defines and #ifdefs.
        (struct _Jv_Thread_t): New fields `thread_obj', `wait_cond',
        `wait_mutex', `next'.
-       (struct _Jv_ConditionVariable_t): Define as a struct instead of 
+       (struct _Jv_ConditionVariable_t): Define as a struct instead of
        directly mapping to pthread_cond_t.
        (struct _Jv_Mutex_t): New recursive implementation.
        (_Jv_PthreadCheckMonitor): Reimplemented. Simple `owner' check.
@@ -4542,10 +5273,10 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        (_Jv_MutexDestroy): Ditto.
        (_Jv_CondDestroy): Removed.
        (_Jv_PthreadGetMutex): Removed.
-       * include/win32-threads.h: (_Jv_CondNotify): Guess _JV_NOT_OWNER on an 
+       * include/win32-threads.h: (_Jv_CondNotify): Guess _JV_NOT_OWNER on an
        error. Add a FIXME about this.
        (_Jv_CondNotifyAll): Ditto.
-       * win32-threads.cc: (_Jv_CondWait): Return 0 on a timeout. Guess 
+       * win32-threads.cc: (_Jv_CondWait): Return 0 on a timeout. Guess
        _JV_NOT_OWNER on other errors. Add FIXME.
 
 2000-03-26  Tom Tromey  <tromey@cygnus.com>
@@ -4582,7 +5313,7 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        * interpret.cc (PUSHL, PUSHD, POPL, POPD, LOADL, LOADD, STOREL,
        STORED): Define differently on a 64 bit machine.
        (continue1): Use ffi_java_raw_call when appropriate.
+
 2000-03-24  Warren Levy  <warrenl@cygnus.com>
 
        * java/math/BigInteger.java(divide): Handle the special case when
@@ -4613,9 +5344,9 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
 
        * java/lang/natClass.cc (isInstance): Initialize `this'.
        (isAssignableFrom): Initialize `this' and `klass'.
-       (_Jv_IsAssignableFrom): If an interface has no idt, it is not 
+       (_Jv_IsAssignableFrom): If an interface has no idt, it is not
        implemented by any loaded class, so return false.
-       * java/lang/natClass.cc (isInstance): Use _Jv_IsAssignableFrom(), 
+       * java/lang/natClass.cc (isInstance): Use _Jv_IsAssignableFrom(),
        not Class.isAssignableFrom(). Use JV_CLASS, not getClass().
 
 2000-03-19  Warren Levy  <warrenl@cygnus.com>
@@ -4810,17 +5541,17 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        * 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 
+       (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 
+       (_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. 
+       (_Jv_LookupInterfaceMethodIdx): New function.
        INITIAL_IOFFSETS_LEN, INITIAL_IFACES_LEN: New #defines.
        (_Jv_PrepareConstantTimeTables): New function.
        (_Jv_IndexOf): Ditto.
@@ -5112,7 +5843,7 @@ Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
        * java/lang/natRuntime.cc (_load): Include library path with
        exception message.
 
-       * java/lang/natSystem.cc (init_properties): set java.lang.classpath 
+       * java/lang/natSystem.cc (init_properties): set java.lang.classpath
        property.
 
        * java/lang/natThread.cc (dumpStack): Removed.
@@ -5252,7 +5983,7 @@ Fri Feb 11 19:48:08 2000  Anthony Green  <green@cygnus.com>
        * java/lang/natThread.cc (stop): Don't abort, throw an exception
        instead.
        (suspend): Ditto.
-       
+
 2000-02-09  Tom Tromey  <tromey@cygnus.com>
 
        * java/lang/natRuntime.cc (_load): Call add_library.
@@ -5649,9 +6380,9 @@ Tue Jan 25 08:51:16 2000  Tom Tromey  <tromey@ferrule.cygnus.com>
        (printStackTrace): Call native method to do this.
        (Throwable): Call fillInStackTrace.
        (stackTrace): New variable.
-       
+
        * include/jvm.h: Add _Jv_ThisExecutable functions.
-       
+
        * prims.cc: (_Jv_execName): New variable.
        (catch_segv): Call fillInStackTrace.
        (catch_fpe): Ditto.