OSDN Git Service

* configure.in: Only allow hash synchronization when POSIX threads
[pf3gnuchains/gcc-fork.git] / libjava / ChangeLog
index 0c144a0..cabec91 100644 (file)
@@ -1,3 +1,308 @@
+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.