+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
+ paramater, bump it to 1.
+ * java/util/Hashtable.java (Hashtable): Likewise.
+
+2001-03-23 Per Bothner <per@bothner.com>
+
+ * java/lang/natDouble.cc (parseDouble): Cannot use errno to
+ check for errors, since we don't want to throw exception on
+ overflow/underflow. Instead, trim whitespace, and then check that
+ _strtod_r uses up all the rest of the string.
+
+ * java/lang/natClass.cc (_Jv_IsAssignableFrom): Checking the
+ ancestors array is invalid for interfaces, so do that *after*
+ check that the target type is not an interface.
+
+2000-03-23 Jeff Sturm <jsturm@one-point.com>
+
+ * prims.cc (_Jv_FindClassFromSignature): Check return of
+ recursive call. Do not abort on invalid signature; return NULL
+ instead.
+
+2001-03-22 Tom Tromey <tromey@redhat.com>
+
+ * jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
+ * java/lang/reflect/natField.cc (getType): Use _Jv_ResolveField
+ unconditionally.
+ * include/jvm.h (_Jv_ResolveField): Declare.
+ * include/java-interp.h (_Jv_ResolveField): Don't declare.
+ * resolve.cc (_Jv_ResolveField): No longer conditional on
+ INTERPRETER.
+
+2001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
+
+ 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
+ paramater.
+ (libgcjx.la): Likewise.
+ * Makefile.in: Rebuilt.
+
+2001-03-22 Joerg Brunsmann <joerg_brunsmann@yahoo.de>
+
+ * javax/naming/Context.java (SECURITY_CREDENTIALS): Fix typo.
+
+2001-03-22 Marcus G. Daniels <mgd@swarm.org>
+
+ * jni.cc (add_char): Handle `.' like `/'.
+
+2001-03-22 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * 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
+ exception_types to an empty Object array.
+
+2001-03-21 Tom Tromey <tromey@redhat.com>
+
+ * configure: Rebuilt.
+ * configure.in (GCJFLAGS): Subst.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (jv_convert_LDFLAGS): Added -shared-libgcc.
+ (gij_LDFLAGS): Likewise.
+ (JC1FLAGS): Added GCJFLAGS and removed -g.
+
+ * java/io/natFileDescriptorPosix.cc (open): Add O_CREAT in
+ read/write case. Fixes PR libgcj/2338.
+
+2001-03-20 Warren Levy <warrenl@redhat.com>
+
+ * java/util/TimeZone.java: Sync up with Classpath. Includes new
+ and corrected SimpleTimeZone's for the timezones hash table.
+
+2001-03-19 Per Bothner <per@bothner.com>
+
+ * java/net/URLStreamHandler.java (parseURL): Fix bug which would
+ "canonicalize" "../../xxx" to "/xxx".
+
+2001-03-19 Mark Wielaard <mark@klomp.org>
+
+ * java/util/ArrayList.java: Remove RCS keywords from comments
+ * java/util/BasicMapEntry.java: idem
+ * java/util/Dictionary.java: idem
+ * java/util/HashSet.java: idem
+
+ * java/util/EventObject.java: reindent
+ * java/util/Properties.java: idem
+ * java/util/SortedMap.java: idem
+
+ * java/util/Enumeration.java: Merge with Classpath
+ * java/util/EventListener.java: idem
+ * java/util/Observable.java: idem
+ * java/util/Observer.java: idem
+ * java/util/Stack.java: idem
+
+2001-03-17 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/natString.cc (rehash): Don't bother with memset;
+ _Jv_AllocBytes returns zero'd memory. Use _Jv_AllocBytesChecked.
+ Use UNMASK_PTR.
+ (UNMASK_PTR): New macro.
+ (intern): Unmask pointer before returning it. Register finalizer
+ for the string.
+ (unintern): Handle case where
+ (MASK_PTR): New macro.
+ (PTR_MAKSED): Likewise.
+ (_Jv_NewStringUtf8Const): Use UNMASK_PTR.
+
+2001-03-01 Andrew Haley <aph@redhat.com>
+
+ * 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.
+ * java/lang/natRuntime.cc (_exit): Implemented. Same as exit() but
+ without a security manager check.
+ (exit): Call _exit after security check.
+ * 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.
+ * java/lang/ThreadGroup.java (uncaughtException): If printStackTrace()
+ throws an exception, try to deal with it gracefully.
+ * java/lang/ExceptionInInitializerError.java (printStackTrace):
+ Only try to print the subordinate stack trace if "exception" is set.
+ Print our class name first.
+
+2001-03-08 Tom Tromey <tromey@redhat.com>
+
+ * java/io/ObjectStreamClass.java (setUID): Don't write interface
+ info for array classes.
+ Fixes PR libgcj/1971.
+
+2001-03-06 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * java/util/TreeSet.java (writeObject): Use a for-loop instead of
+ Iterator.hasNext().
+
+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
+ 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.
+ * gnu/gcj/math/MPN.java (rshift0): New method handles zero shift count.
+ (rshift(int[],int[],int,int): Removed - not needed.
+ (gcd): Use rshift0 rather than rshift.
+ * java/math/BigInteger.java (setShiftRight): Likewise.
+ (divide): Simplify by using rshift0.
+ (divide): Zero-extend results if high-order bit set.
+
+2001-02-27 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * libgcj.spec.in: Insert %(libgcc) before %(liborig) to fix static
+ linking.
+
+2001-02-23 Per Bothner <per@bothner.com>
+
+ Change to sometimes include class name in ClassFormatError message.
+ * defineclass.cc (_Jv_VerifyFieldSignature, _Jv_VerifyMethodSignature,
+ _Jv_VerifyIdentifier, _Jv_VerifyClassName (two overlods)): Return
+ boolean instead of throwing ClassFormatError on failure.
+ (throw_class_format_error): Change static function to method.
+ (_Jv_ClassReader): New inline methods verify_identifier,
+ two overloads of verify_classname, verify_field_signature, and
+ verify_method_signature
+ * include/java-interp.h: Update declarations to return bool.
+ * java/lang/natClassLoader.cc (defineClass0): Explicitly throw
+ ClassFormatError since _Jv_VerifyClassName now returns bool.
+
+2001-02-23 Per Bothner <per@bothner.com>
+
+ * java/lang/Throwable.java (CPlusPlusDemangler): Pass -s java to
+ c++filt to select java-style output.
+
2001-02-22 Bryce McKinlay <bryce@albatross.co.nz>
Fix for PR java/2040: