boehm-gc.h: Call thread local allocation functions if THREAD_LOCAL_ALLOC is defined.
[platform/upstream/gcc.git] / libjava / ChangeLog
index 37ef2aa..939f044 100644 (file)
@@ -1,3 +1,461 @@
+2001-10-25  Hans Boehm <Hans_Boehm@hp.com>
+
+       * include/boehm-gc.h: Call thread local allocation functions
+       if THREAD_LOCAL_ALLOC is defined.
+
+2001-10-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Use
+       snprintf, not asprintf.
+
+2001-10-24  Loren J. Rittle  <ljrittle@acm.org>
+
+       * configure.in (case $THREADS): Add *-*-freebsd* configuration.
+       (HAVE_GETHOSTBYADDR_R): Create a valid, non-optimal
+       configuration when gethostbyaddr_r exists yet no prototype
+       exists in netdb.h.
+       * configure: Rebuilt.
+       * posix-threads.cc (INTR): Reuse path for LINUX_THREADS
+       with FREEBSD_THREADS.  However, comment different reason.
+
+2001-10-24  Tom Tromey  <tromey@redhat.com>
+            Warren Levy  <warrenl@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (javax_source_files): New macro.
+       (ordinary_java_source_files): Added javax_source_files.
+       (libgcj.jar): Search javax for class files.
+       * javax/naming/LinkException.java (toString): Wrote.
+       (toString(boolean)): Likewise.
+       * javax/naming/ldap/InitialLdapContext.java: New file.
+       * javax/naming/directory/InitialDirContext.java: Wrote.
+       * javax/naming/spi/NamingManager.java (getPlusPath): Now has
+       package-private protection.
+       (getURLContext): Likewise.
+       (NamingManager): Likewise.
+       * javax/naming/spi/DirectoryManager.java: New file.
+       * javax/naming/directory/BasicAttributes.java: New file.
+       * javax/naming/directory/BasicAttribute.java: New file.
+       * javax/naming/spi/ResolveResult.java
+       (ResolveResult(Object,String)): Wrote.
+       (appendRemainingName): Uncommented body.
+       (appendRemainingComponent): Likewise.
+       * javax/naming/ldap/ControlFactory.java: New file.
+       * javax/naming/directory/AttributeModificationException.java
+       (toString): Wrote.
+       * javax/naming/spi/NamingManager.java (NamingManager): New
+       constructor.
+       (setInitialContextFactoryBuilder): Wrote.
+       (getInitialContext): Look in system properties for class name as
+       well.  Use Class.forName().
+       (getURLContext): Wrote.
+       (ofb): New field.
+       (setObjectFactoryBuilder): Wrote.
+       (getObjectInstance): Wrote.
+       (getContinuationContext): Wrote.
+       (getPlusPath): New private method.
+       (getStateToBind): Wrote.
+       * javax/naming/CannotProceedException.java: Added missing methods &
+       fields.
+       * javax/naming/LinkException.java: Added missing methods & fields.
+       * javax/naming/ReferralException.java (ReferralException): Made
+       constructor protected per spec.
+       Added missing abstract methods.
+       * javax/naming/directory/Attribute.java: Updated copyright.
+       * javax/naming/directory/AttributeModificationException.java: Ditto.
+       * javax/naming/directory/Attributes.java: Ditto.
+       * javax/naming/directory/DirContext.java: Ditto.
+       * javax/naming/spi/NamingManager.java: Ditto.
+       * javax/naming/spi/ResolveResult.java: Added comment.
+       * javax/naming/directory/Attribute.java: Added missing interface
+       methods.
+       * javax/naming/directory/AttributeModificationException.java:
+       Added missing methods & fields.
+       * javax/naming/directory/directory/Attributes.java: Added missing
+       interface methods.
+       * javax/naming/directory/SearchControls.java: Maded serialized fields
+       private.
+       * javax/naming/event/NamingEvent.java: Added comment.
+       * javax/naming/event/NamingExceptionEvent.java: Maded serialized field
+       private.
+       * javax/naming/ldap/UnsolicitedNotificationEvent.java: Maded
+       serialized field private.
+       * javax/naming/spi/NamingManager.java: Added missing field and stubbed
+       missing methods.
+       * javax/naming/directory/DirContext.java: Added missing interface
+       fields & methods.
+       * javax/naming/directory/InitialDirContext.java: Stubbed missing
+       methods.
+       * javax/naming/directory/ModificationItem.java: New class.
+       * javax/naming/directory/SearchResult.java: New class.
+       * javax/naming/directory/SearchControls.java: New class.
+       * javax/naming/event/EventContext.java: New class.
+       * javax/naming/event/EventDirContext.java: New class.
+       * javax/naming/event/NamespaceChangeListener.java: New class.
+       * javax/naming/event/NamingEvent.java: New class.
+       * javax/naming/event/NamingExceptionEvent.java: New class.
+       * javax/naming/event/NamingListener.java: New class.
+       * javax/naming/event/ObjectChangeListener.java: New class.
+       * javax/naming/ldap/Control.java: New class.
+       * javax/naming/ldap/ExtendedRequest.java: New class.
+       * javax/naming/ldap/ExtendedResponse.java: New class.
+       * javax/naming/ldap/HasControls.java: New class.
+       * javax/naming/ldap/LdapContext.java: New class.
+       * javax/naming/ldap/LdapReferralException.java: New class.
+       * javax/naming/ldap/UnsolicitedNotification.java: New class.
+       * javax/naming/ldap/UnsolicitedNotificationEvent.java: New class.
+       * javax/naming/ldap/UnsolicitedNotificationListener.java: New class.
+       * javax/naming/spi/DirObjectFactory.java: New class.
+       * javax/naming/spi/DirStateFactory.java: New class.
+       * javax/naming/spi/ObjectFactoryBuilder.java: New class.
+       * javax/naming/spi/ResolveResult.java: New class.
+       * javax/naming/spi/Resolver.java: New class.
+       * javax/naming/spi/StateFactory.java: New class.
+       * javax/naming/spi/ObjectFactory.java: Made an interface per spec.
+       * java/rmi/RemoteException.java: New class.
+       * javax/transaction/HeuristicCommitException.java: New class.
+       * javax/transaction/HeuristicMixedException.java: New class.
+       * javax/transaction/HeuristicRollbackException.java: New class.
+       * javax/transaction/NotSupportedException.java: New class.
+       * javax/transaction/RollbackException.java: New class.
+       * javax/transaction/Status.java: New class.
+       * javax/transaction/Synchronization.java: New class.
+       * javax/transaction/SystemException.java: New class.
+       * javax/transaction/Transaction.java: New class.
+       * javax/transaction/TransactionManager.java: New class.
+       * javax/transaction/UserTransaction.java: New class.
+       * javax/transaction/xa/XAException.java: Added public static fields.
+       * javax/transaction/xa/XAResource.java: New class.
+       * javax/transaction/xa/Xid.java: New class.
+       * javax/naming/CompoundName.java (CompoundName(String)): Reverse
+       elements if required.  Handle case where quote is at end of
+       string.
+       * javax/naming/CompoundName.java (CompoundName(String)): Handle
+       text left at end of parsing.
+       (toString): Handle empty element at beginning.
+       * javax/naming/CompositeName.java (toString): Handle empty element
+       at beginning.
+       (CompositeName(String)): Handle text left at end of parsing.
+       Correctly compute boundary condition for quoting.
+       * javax/naming/CompoundName.java: New file.
+       * javax/naming/CompositeName.java: New file.
+       * javax/naming/Binding.java: New file.
+       * javax/naming/LinkRef.java: New file.
+       * javax/naming/NameClassPair.java: New file.
+       * javax/naming/Reference.java (addrs, classFactory,
+       classFactoryLocation): New fields.
+       (className): Now protected.
+       (Reference): New constructors.
+       (add): Now public.  Implemented.
+       (get(String)): Likewise.
+       (add(int,RefAddr)): New method.
+       (clear): Likewise.
+       (clone): Likewise.
+       (equals): Likewise.
+       (get(int)): Likewise.
+       (getAll): Likewise.
+       (getFactoryClassLocation): Likewise.
+       (getFactoryClassName): Likewise.
+       (hashCode): Likewise.
+       (remove): Likewise.
+       (size): Likewise.
+       (toString): Likewise.
+       * javax/transaction/xa/XAException.java: New file.
+       * javax/transaction/TransactionRolledbackException.java: New file.
+       * javax/transaction/TransactionRequiredException.java: New file.
+       * javax/transaction/InvalidTransactionException.java: New file.
+       * javax/naming/directory/SchemaViolationException.java: Use
+       correct package.  Import NamingException.
+       * javax/naming/directory/NoSuchAttributeException.java,
+       javax/naming/directory/InvalidSearchFilterException.java,
+       javax/naming/directory/InvalidSearchControlsException.java,
+       javax/naming/directory/InvalidAttributesException.java,
+       javax/naming/directory/InvalidAttributeValueException.java,
+       javax/naming/directory/InvalidAttributeIdentifierException.java,
+       javax/naming/directory/AttributeModificationException.java,
+       javax/naming/directory/AttributeInUseException.java: Likewise.
+       * javax/naming/directory/InitialDirContext.java (getAttributes):
+       Stub implementation.
+       * javax/naming/RefAddr.java (RefAddr): Reindented.
+       (equals): Renamed and reindented.
+       * javax/naming/BinaryRefAddr.java (equals): Renamed and
+       reindented.
+
+2001-10-24  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/reflect/Field.java: Made many methods private.
+
+       * java/sql/Types.java (Types): New constructor.
+
+Tue Oct 23 23:52:18 2001  Anthony Green  <green@redhat.com>
+
+       * gnu/gcj/runtime/natSharedLibLoader.cc: Only include dlfcn.h when
+       HAVE_DLOPEN.
+
+2001-10-23  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/reflect/Field.java (Field): New constructor.
+       * java/lang/ClassLoader.java (defineClass(String,byte[],int,int)):
+       Throw ClassFormatError.
+       
+2001-10-23  Tom Tromey  <tromey@redhat.com>
+
+       * java/util/PropertyResourceBundle.java (handleGetObject): Now
+       public.
+       * java/util/ListResourceBundle.java (handleGetObject): Now public
+       and final, per spec.
+
+       * java/io/BufferedWriter.java (localFlush): Don't synchronize.
+
+2001-10-23  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * prims.cc (_Jv_Abort): Always print error message using fprintf,
+       don't try to allocate.
+       (_Jv_CreateJavaVM): Set gcj::runtimeInitialized.
+       * include/jvm.h (gcj::runtimeInitialized): New variable declaration.
+       * java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Handle
+       duplicate class registration with JvFail if the runtime hasn't been
+       initialized yet.
+       
+       * java/io/BufferedWriter (write (String, int, int)): Remove redundant 
+       bounds checks.
+       (write (char[], int, int)): Likewise.
+
+2001-10-22  Tom Tromey  <tromey@redhat.com>
+
+       * java/util/GregorianCalendar.java (getGregorianChange): Removed
+       `date' argument.
+
+2001-10-22  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * gnu/gcj/convert/JIS0208_to_Unicode.cc: Declare java_exceptions pragma.
+       * gnu/gcj/convert/JIS0212_to_Unicode.cc: Likewise.
+       * gnu/gcj/convert/Unicode_to_JIS.cc: Likewise.
+       * gnu/gcj/convert/gen-from-JIS.c: Put java_exceptions pragma in output
+       file.
+
+2001-10-19  Mark Wielaard  <mark@klomp.org>
+
+       * java/lang/Double.java: More Classpath merging
+       (isInfinite): Don't use doubleToLongBits
+       (isNaN (Object)): return v != v
+       (initIDs): make native
+       * java/lang/Float.java: Ditto
+       (isInfinite): Don't use floatToIntBits
+       (isNaN (Object)): return v != v
+       * java/lang/natDouble.cc: add empty initIDs()
+
+2001-10-19  Mark Wielaard  <mark@klomp.org>
+
+       * javax/naming/BinaryRefAddr.java: New file
+       * javax/naming/InitialContext.java: Compile fix
+       * javax/naming/InvalidNameException.java: Add comments
+       * javax/naming/Name.java: Ditto
+       * javax/naming/NamingException.java: Implement
+       * javax/naming/OperationNotSupportedException.java: Compile fix
+       * javax/naming/RefAddr.java: Implement
+       * javax/naming/StringRefAddr.java: Add comments and implement
+       * javax/naming/directory/InitialDirContext.java: Compile fix
+
+2001-10-18  Tom Tromey  <tromey@redhat.com>
+
+       * java/io/BufferedWriter.java (write(String,int,int)): Correctly
+       check bounds.
+
+       * java/security/Security.java (loadProviders): Removed unused
+       `pname' variable.  Don't create `File' object.  Don't update
+       `providerCount'.
+       (providerCount): Removed.
+       (insertProviderAt): Don't use `providerCount'.
+       (addProvider(Provider,int)): Likewise.
+       (removeProvider): Likewise.
+       (addProvider(Provider)): Rewrote.
+       (getProviders): Rewrote.
+       (getProvider): Don't use `providerCount'.
+
+2001-10-17  Tom Tromey  <tromey@redhat.com>
+
+       * gnu/java/security/provider/SHA1PRNG.java (engineNextBytes):
+       Rewrote.
+       * java/security/SecureRandom.java (setSeed(long)): Don't set seed
+       if secureRandomSpi is not initialized.
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (secdir): New macro.
+       (install-data-local): Install new data files.
+       * java/security/classpath.security: New file.
+       * java/security/libgcj.security: New file.
+
+       * java/security/Security.java (loadProviders): Added `vendor'
+       argument.
+       Load both `classpath' and `java.vm.name' providers.
+
+2001-10-17  Anthony Green  <green@redhat.com>
+
+       * java/security/Security.java (loadProviders): Fix bug in how
+       providers are loaded.
+
+2001-10-16  Tom Tromey  <tromey@redhat.com>
+
+       * gcj/javaprims.h: Updated class list.
+       * java/util/Hashtable.java: Re-merged with Classpath.
+
+2001-10-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * name-finder.cc (_Jv_name_finder::lookup): Check for NULL dli_sname.
+
+       Eliminate use of C++ static constructors.               
+       * interpret.cc: Remove static Utf8Consts. Use namespace gcj. 
+       * jni.cc: Likewise.
+       * resolve.cc: Likewise.
+       * defineclass.cc: Likewise.
+       (_Jv_ClassReader::handleClassBegin): Synchronize call to 
+       _Jv_RegisterClass.
+       * include/jvm.h (void_signature, clinit_name, init_name, finit_name):
+       Declare in namespace gcj.
+       * java/lang/Class.h (Class): Remove initialization for primitive
+       types.
+       (friend void _Jv_InitPrimClass): This is in prims.cc.
+       * prims.cc (_Jv_InitPrimClass): Do primitive type initialization
+       here instead.
+       (void_signature, clinit_name, init_name, finit_name): Define in 
+       namespace gcj.
+       (_Jv_CreateJavaVM): Call _Jv_InitThreads, _Jv_InitGC, and 
+       _Jv_InitializeSyncMutex from here. Initialize Utf8 constants. 
+       Initialize primitive types.
+       * java/lang/natClassLoader.cc (_Jv_RegisterClasses): Don't call
+       initialization routines. Don't synchronize.
+       * java/lang/natRuntime.cc (_load): Synchronize on java.lang.Class
+       across dlopen call.
+
+2001-10-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/util/HashMap.java (HashEntry.clone): Removed.
+       (HashMap(Map)): Use putAllInternal.
+       (clone): Likewise.
+       (putAllInternal): New method. Efficient counterpart to putAll which 
+       does not call put().    
+       * java/util/LinkedHashMap.java (rethread): Removed.
+       (putAllInternal): New method. Clear "head" and "tail".
+       (addEntry): New argument "callRemove". Don't call removeEldestEntry()
+       if callRemove == false. 
+
+       * Makefile.am: Add new classes RandomAccess and LinkedHashMap.
+       * Makefile.in: Rebuilt.
+
+2001-10-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/Collection.java: Updated javadoc.
+       * java/util/Comparator.java: Updated javadoc.
+       * java/util/Enumeration.java: Updated javadoc.
+       * java/util/Iterator.java: Updated javadoc.
+       * java/util/List.java: Updated javadoc.
+       * java/util/ListIterator.java: Updated javadoc.
+       * java/util/Map.java: Updated javadoc.
+       * java/util/RandomAccess.java: New file.
+       * java/util/Set.java: Updated javadoc.
+       * java/util/SortedMap.java: Updated javadoc.
+       * java/util/SortedSet.java: Updated javadoc.
+
+2001-10-15  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/reflect/AccessibleObject.java (checkPermission):
+       Implemented.
+       Updated copyright information.
+
+2001-10-15  Hans Boehm <Hans_Boehm@hp.com>
+
+       * java/lang/natObject.cc (heavy_lock): Moved fields
+       old_client_data, old_finalization_proc near beginning.
+       (heavy_lock_finalization_proc): Now inline; changed type of
+       argument.
+       (JV_SYNC_TABLE_SZ): Now 2048.
+       (mp): New global.
+       (spin): `mp' now global.
+       (heavy_lock_obj_finalization_proc): Updated to correctly handle
+       heavy lock finalization.
+       (remove_all_heavy): New function.
+       (maybe_remove_all_heavy): Likewise.
+       (_Jv_MonitorEnter): Throw exception if object is NULL.
+       (_Jv_MonitorExit): Likewise.  Also, clear long lists of unlocked
+       heavy locks.
+       * include/jvm.h (_Jv_AllocTraceTwo): Declare.
+       * nogc.cc (_Jv_AllocTraceTwo): New function.
+       * boehm.cc (trace_two_vtable): New global.
+       (_Jv_AllocTraceTwo): New function.
+
+2001-10-15  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (awt_java_source_files): Added new file.
+       * java/beans/AppletInitializer.java: New file.
+
+       * java/net/SocketPermission.java (hostport, actions): Now
+       private.
+
+2001-10-14  Mark Wielaard  <mark@klomp.org>
+
+       * java/lang/Double.java: Partial merge with Classpath
+       (TYPE): initialized through VMClassLoader.getPrimitiveClass()
+       (value): made final
+       (static): new static block to load native libary (not used in libgcj)
+       (Double (String)): call parseDouble()
+       (byteValue): removed, already defined in superclass Number
+       (shortValue): likewise
+       (valueOf (String)): call new Double(String) directly
+       (compare (double,double)): new 1.4 method
+       (compareTo (Double)): call new compare(double,double) method
+       (initIDs): new private method (not used in libgcj)
+       * java/lang/Float.java: Partial merge with Classpath
+       (TYPE): initialized through VMClassLoader.getPrimitiveClass()
+       (value): made final
+       (static): new static block to load native libary (not used in libgcj)
+       (Float (String)): call parseFloat()
+       (byteValue): removed, already defined in superclass Number
+       (shortValue): likewise
+       (valueOf (String)): call new Float(String) directly
+       (compare (float,float)): new 1.4 method
+       (compareTo (Float)): call new compare(double,double) method
+
+2001-10-13  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/SecurityManager.java (SecurityManager): Now public.
+
+       * java/security/AccessController.java (checkPermission): Now
+       throws AccessControlException.
+       * java/security/AllPermission.java: Class now final.
+       * java/security/Permission.java (getName): Now final.
+       (name): Now private.
+       (equals): New abstract method.
+       * java/security/PermissionCollection.java (linesep): Now private.
+       * java/security/Permissions.java: Class now final.
+       * java/security/Security.java (Security): New private
+       constructor.
+       * java/security/UnresolvedPermission.java: Import
+       java.security.cert.Certificate.  Class now final.
+       * java/security/acl/Group.java: Now extends Principal.
+       (isMember): Added Principal argument.
+       * java/security/spec/X509EncodedKeySpec.java (getFormat): Now
+       final.
+       * java/security/spec/PKCS8EncodedKeySpec.java (getFormat): Now
+       final.
+
+2001-10-12  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (rmi_java_source_files): Added new files.
+       * gnu/java/rmi/rmic/RMIC.java (compile): Uncommented; fixed to use
+       new Compiler class.
+       * gnu/java/rmi/rmic/Makefile.am (EXTRA_DIST): Updated.
+       * gnu/java/rmi/rmic/Compile_gcj.java: New file.
+       * gnu/java/rmi/rmic/CompilerProcess.java: New file.
+       * gnu/java/rmi/rmic/Compiler.java: New file.
+
+2001-10-11  Tom Tromey  <tromey@redhat.com>
+
+       * configure: Rebuilt.
+       * configure.in: Recognize --disable-java-awt.
+
 2001-10-10  Tom Tromey  <tromey@redhat.com>
 
        * gnu/gcj/runtime/natFinalizerThread.cc: New file.
 2001-10-03  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
        * resolve.cc (_Jv_PrepareClass): Fix typos in vtable layout.
+       * gij.cc (version): Use GCJVERSION.
 
 2001-10-02  Mark Wielaard  <mark@klomp.org>