+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.
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.
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.
(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.
(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.
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,
* 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.
* 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.
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.
* 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.
(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.
(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.
(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.
(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>
* 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.
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.
* 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>
* 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.
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.
* 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.
* 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.
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
* 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>
* 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
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.
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.
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.
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>
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>
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.
* 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.
* 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.
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>
* 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
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>
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.
* 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.
* 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.
* 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().
* 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.
* 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>
* 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>
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.
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>
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.
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:
* 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.
(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
* 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
(_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.
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.
* 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.
(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
(_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.
* 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.
* 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.
(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>
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
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'.
#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.
(_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>
* 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
* 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>
* 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.
* 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.
* 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.
(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.