+2001-11-18 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (_Jv_BytecodeVerifier::pop_type): Put PC into error
+ message.
+ (_Jv_BytecodeVerifier::pop64): Likewise.
+ (_Jv_BytecodeVerifier::pop32): Likewise.
+ (_Jv_BytecodeVerifier::pop_raw): Likewise.
+ (_Jv_BytecodeVerifier::pop_type): Promote the match type.
+ (type::set_initialized): Only modify uninitialized types.
+ (type::set_uninitialized): Fix shadowing bug. Simplify code.
+
+ * verify.cc: Include StringBuffer.h.
+ (verify_fail): Added pc argument. Use StringBuffer to construct
+ exception message.
+ (_Jv_BytecodeVerifier::verify_instructions_0): Put PC into error
+ message.
+ (_Jv_BytecodeVerifier::check_return_type): Likewise.
+ (_Jv_BytecodeVerifier::handle_field_or_method): Likewise.
+ (_Jv_BytecodeVerifier::check_constant): Likewise.
+ (_Jv_BytecodeVerifier::check_class_constant): Likewise.
+ (_Jv_BytecodeVerifier::check_pool_index): Likewise.
+ (_Jv_BytecodeVerifier::get_variable): Likewise.
+ (_Jv_BytecodeVerifier::branch_prepass): Likewise. Also, correctly
+ check exception handler endpoint.
+ (_Jv_BytecodeVerifier::verify_instructions_0): Correctly handle
+ wide arguments to current method.
+ (_Jv_BytecodeVerifier::check_wide_constant): New method.
+ (_Jv_BytecodeVerifier::verify_instructions_0) [op_ldc2_w]: Use
+ it.
+
+2001-11-17 Anthony Green <green@redhat.com>
+
+ * jni.cc (unwrap): Fix test for wrapped objects.
+
+2001-11-16 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (_Jv_BytecodeVerifier::check_field_constant): Handle
+ case where field has primitive type.
+
+ * verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow): New
+ method.
+ (type::compatible): Use it.
+ (type::merge): Likewise.
+ (type::promote): Return a `type&'.
+ (get_one_type): Promote return value.
+
+ Re-merge with Classpath, from Brian Jones:
+ * java/lang/Integer.java (getInteger): Attempt to decode the value
+ of the system property instead of the name of the system property.
+ (parseInt): Throw NumberFormatException explicitly in the case of
+ a null argument in keeping with JDK 1.3.
+
+2001-11-16 Mark Wielaard <mark@klomp.org>
+
+ * java/util/Timer.java (TaskQueue.isStopped): Remove method.
+ (Scheduler.run): Try to re-schedule task and ignore exception if
+ queue has been stopped.
+
+2001-11-15 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (type::compatible): Use _Jv_IsAssignableFrom.
+ (type::merge): Likewise.
+
+2001-11-14 Hans Boehm <Hans_Boehm@hp.com>
+
+ * java/lang/natString.cc: correct argument order for
+ _Jv_AllocPtrFreeObj
+
+2001-11-14 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (class _Jv_BytecodeVerifier) [op_dup2]: Fixed logic.
+ [op_dup_x2]: Likewise.
+ [op_dup2_x1]: Likewise.
+ [op_dup2_x2]: Likewise.
+ (branch_prepass): Added `op_newarray' case. Updated unrecognized
+ instruction error.
+ (verify_instructions_0): Updated unrecognized instruction error.
+
+ * java/lang/reflect/Constructor.java (toString): Use more
+ efficient form of Modifier.toString().
+
+ Re-merges with Classpath, from various people:
+ * java/lang/reflect/Modifier.java: Reindented.
+ (toString): Only trim trailing space if text was added to
+ StringBuffer.
+ * java/lang/reflect/ReflectPermission: Reindented.
+
+ Re-merges with Classpath, from various people:
+ * java/lang/Double.java (parseDouble): Fixed ordering of
+ modifiers.
+ * java/lang/reflect/AccessibleObject.java: Javadoc, reindented.
+ * java/lang/reflect/Member.java: Reindented.
+ * java/util/ConcurrentModificationException.java: Javadoc
+ updates.
+ * java/util/EmptyStackException.java: Likewise.
+ * java/util/NoSuchElementException.java: Likewise.
+
+2001-11-13 Tom Tromey <tromey@redhat.com>
+
+ Fix for PR libgcj/4859:
+ * java/util/Timer.java (TaskQueue.isStopped): New method.
+ (Scheduler.run): Don't re-schedule task if queue has been
+ stopped.
+
+2001-11-07 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (ordinary_java_source_files): Added JNIWeakRef.java.
+ * jni.cc: Include JNIWeakRef.h.
+ (unwrap): New function.
+ (_Jv_JNI_DefineClass): Use it.
+ (_Jv_JNI_GetSuperclass): Likewise.
+ (_Jv_JNI_IsAssignableFrom): Likewise.
+ (_Jv_JNI_Throw): Likewise.
+ (_Jv_JNI_ThrowNew): Likewise.
+ (_Jv_JNI_IsSameObject): Likewise.
+ (_Jv_JNI_AllocObject): Likewise.
+ (_Jv_JNI_GetObjectClass): Likewise.
+ (_Jv_JNI_IsInstanceOf): Likewise.
+ (_Jv_JNI_GetAnyMethodID): Likewise.
+ (array_from_valist): Likewise.
+ (_Jv_JNI_CallAnyMethodV): Likewise.
+ (_Jv_JNI_CallAnyMethodA): Likewise.
+ (_Jv_JNI_CallAnyVoidMethodV): Likewise.
+ (_Jv_JNI_CallAnyVoidMethodA): Likewise.
+ (_Jv_JNI_CallStaticMethodV): Likewise.
+ (_Jv_JNI_CallStaticMethod): Likewise.
+ (_Jv_JNI_CallStaticMethodA): Likewise.
+ (_Jv_JNI_NewObjectV): Likewise.
+ (_Jv_JNI_NewObject): Likewise.
+ (_Jv_JNI_NewObjectA): Likewise.
+ (_Jv_JNI_GetField): Likewise.
+ (_Jv_JNI_SetField): Likewise.
+ (_Jv_JNI_GetAnyFieldID): Likewise.
+ (_Jv_JNI_SetStaticField): Likewise.
+ (_Jv_JNI_GetStringLength): Likewise.
+ (_Jv_JNI_GetStringChars): Likewise.
+ (_Jv_JNI_ReleaseStringChars): Likewise.
+ (_Jv_JNI_GetStringUTFLength): Likewise
+ (_Jv_JNI_GetStringUTFChars): Likewise.
+ (_Jv_JNI_GetStringRegion): Likewise.
+ (_Jv_JNI_GetStringUTFRegion): Likewise.
+ (_Jv_JNI_GetStringCritical): Likewise.
+ (_Jv_JNI_GetArrayLength): Likewise.
+ (_Jv_JNI_NewObjectArray): Likewise.
+ (_Jv_JNI_GetObjectArrayElement): Likewise.
+ (_Jv_JNI_SetObjectArrayElement): Likewise.
+ (_Jv_JNI_GetPrimitiveArrayElements): Likewise.
+ (_Jv_JNI_ReleasePrimitiveArrayElements): Likewise.
+ (_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
+ (_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
+ (_Jv_JNI_MonitorEnter): Likewise.
+ (_Jv_JNI_MonitorExit): Likewise.
+ (_Jv_JNI_ToReflectedField): Likewise.
+ (_Jv_JNI_FromReflectedField): Likewise.
+ (_Jv_JNI_ToReflectedMethod): Likewise.
+ (_Jv_JNI_FromReflectedMethod): Likewise.
+ (_Jv_JNI_NewGlobalRef): Likewise.
+ (_Jv_JNI_DeleteGlobalRef): Likewise.
+ (_Jv_JNI_DeleteLocalRef): Likewise.
+ (_Jv_JNI_NewLocalRef): Likewise.
+ (_Jv_JNI_NewWeakGlobalRef): New function.
+ (_Jv_JNI_DeleteWeakGlobalRef): Likewise.
+ (_Jv_JNIFunctions): Updated for new methods.
+ (NOT_IMPL): Removed.
+ * gnu/gcj/runtime/JNIWeakRef.java: New file.
+
+2001-11-12 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
+
+ * boehm.cc (_Jv_GCCanReclaimSoftReference): Fix warning.
+
+2001-11-09 Jeff Sturm <jsturm@one-point.com>
+
+ * verify.cc: Wrap in #ifdef INTERPRETER...#endif.
+
+2001-11-07 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (skip_padding): Fail if padding byte is nonzero.
+
+2001-11-06 Tom Tromey <tromey@redhat.com>
+
+ * HACKING: Make people commit their own patches.
+
+2001-11-05 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/Class.h (Class): Made _Jv_BytecodeVerifier a friend.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (libgcj_la_SOURCES): Added verify.cc.
+ * verify.cc: New file.
+ * include/java-interp.h (_Jv_count_arguments): Declare.
+ (_Jv_VerifyMethod): Likewise.
+ (class _Jv_InterpMethod): Made _Jv_BytecodeVerifier a friend.
+ (class _Jv_InterpException): Likewise.
+ * resolve.cc (_Jv_count_arguments): Renamed from count_arguments.
+ No longer static. Updated callers.
+ * defineclass.cc (int_bits_to_float): Removed.
+ (long_bits_to_double): Likewise.
+ (prepare_pool_entry): Updated.
+ (handleCodeAttribute): Verify method (commented out for now).
+
+2001-11-05 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
+
+ * java/util/ResourceBundle.java (class Security): Now static.
+
+2001-11-04 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
+
+ * java/util/ResourceBundle.java (getClassContext): Removed.
+ (Security): New class, extends SecurityManger.
+ (getBundle): Use Security.getCallingClassLoader instead of
+ getClassContext.
+ * java/util/natResourceBundle.cc: Removed.
+
+2001-11-03 Tom Tromey <tromey@redhat.com>
+
+ * defineclass.cc (handleClassBegin): Use Object::class$, not
+ Class::class$, when initializing interface superclass.
+
+2001-11-02 Hans Boehm <Hans_Boehm@hp.com>
+
+ * java/util/natResourceBundle.cc:getClassContext: return
+ array of Class instead of array of ClassLoader.
+
+2001-10-31 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * HACKING, gnu/gcj/xlib/Pixmap.java, gnu/gcj/xlib/XException.java,
+ gnu/java/rmi/rmic/RMIC.java, java/awt/Window.java,
+ java/awt/AWTEvent.java, java/io/ByteArrayOutputStream.java,
+ java/io/CharConversionException.java,
+ java/io/PipedInputStream.java, java/io/PipedReader.java,
+ java/io/PrintWriter.java, java/io/WriteAbortedException.java,
+ java/io/natFileWin32.cc, java/lang/Class.h,
+ java/lang/natClassLoader.cc, java/lang/natObject.cc,
+ java/lang/Package.java, java/net/BindException.java,
+ java/net/ConnectException.java, java/net/ProtocolException.java,
+ java/net/SocketException.java,
+ java/net/UnknownServiceException.java,
+ java/security/cert/X509Certificate.java,
+ java/security/interfaces/DSAKey.java,
+ java/security/SecureRandom.java, java/security/SignedObject.java,
+ java/sql/DatabaseMetaData.java,
+ java/text/DecimalFormatSymbols.java,
+ java/util/jar/Attributes.java, java/util/jar/JarEntry.java,
+ java/util/jar/JarInputStream.java,
+ java/util/jar/JarOutputStream.java, java/util/Calendar.java,
+ java/util/Collections.java, java/util/GregorianCalendar.java,
+ java/util/HashMap.java, java/util/List.java,
+ java/util/Properties.java, java/util/Timer.java,
+ java/util/Vector.java, java/util/WeakHashMap.java,
+ javax/naming/NamingException.java,
+ testsuite/libjava.lang/Thread_Wait.java,
+ org/xml/sax/helpers/DefaultHandler.java,
+ org/xml/sax/HandlerBase.java, org/xml/sax/SAXParseException.java,
+ ChangeLog, acinclude.m4, aclocal.m4, posix-threads.cc: Fix
+ spelling errors.
+ * configure: Regenerate.
+
+2001-10-30 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
+
+ * jni.cc (JNI_CreateJavaVM): Call _Jv_CreateJavaVM. Don't call
+ _Jv_JNI_Init.
+
+2001-10-29 Tom Tromey <tromey@redhat.com>
+
+ * java/util/zip/GZIPOutputStream.java (write(int)): New method.
+ Fixes PR libgcj/4728.
+
+2001-10-27 Tom Tromey <tromey@redhat.com>
+
+ * include/jni.h (struct JNINativeInterface) [GetStringLength]:
+ Returns jsize, not jint.
+
+2001-10-26 Tom Tromey <tromey@redhat.com>
+
+ * java/util/zip/Adler32.java: Use correct class name. (Re-merge
+ from Classpath.)
+
+2001-10-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
+
+ * java/lang/VMClassLoader.java (getPrimitiveClass): Now native. Now
+ takes a jchar type-code argument, not a string.
+ * java/lang/natClassLoader.cc (VMClassLoader::getPrimitiveClass):
+ New method. Just call _Jv_FindClassFromSignature.
+ * java/lang/Boolean.java (TYPE): Initialize from
+ VMClassLoader.getPrimitiveClass using type-code.
+ * java/lang/Character.java (TYPE): Likewise.
+ * java/lang/Double.java (TYPE): Likewise.
+ * java/lang/Float.java (TYPE): Likewise.
+ * java/lang/Integer.java (TYPE): Likewise.
+ * java/lang/Long.java (TYPE): Likewise.
+ * java/lang/Short.java (TYPE): Likewise.
+ * java/lang/Void.java (TYPE): Likewise.
+
+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.
+ * java/lang/natRuntime.cc: Include FinalizerThread.h.
+ (runFinalization): Call finalizerReady.
+ * nogc.cc (_Jv_GCInitializeFinalizers): New function.
+ * prims.cc: Include VirtualMachineError.h, FinalizerThread.h.
+ (_Jv_CreateJavaVM): Start the finalizer thread.
+ * no-threads.cc: Include InternalError.h.
+ (_Jv_ThreadStart): Throw InternalError.
+ (_Jv_ThreadInitData): Don't throw error if this is not the first
+ thread.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (ordinary_java_source_files): Added
+ FinalizerThread.java.
+ (nat_source_files): Added natFinalizerThread.cc.
+ * include/jvm.h (_Jv_GCInitializeFinalizers): Declare.
+ * boehm.cc (_Jv_GCInitializeFinalizers): New function.
+ * gnu/gcj/runtime/FirstThread.java (run): Start finalizer thread.
+ * gnu/gcj/runtime/FinalizerThread.java: New file.
+
+2001-10-09 Per Bothner <per@bothner.com>
+
+ * strtod.c (_strtod_r): Logic to check for missing digits
+ after exponent had 'else' attached to wrong 'if'.
+
2001-10-09 Mark Wielaard <mark@klomp.org>
* java/net/SocketImpl.java: Merge with Classpath
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>
of _Jv_AttachCurrentThread.
* gnu/gcj/runtime/FirstThread.java (FirstThread): Now extends Thread.
(run): New method. Take care of looking up main class manifest
- attribute and calling forName if neccessary. Then call call_main.
+ attribute and calling forName if necessary. Then call call_main.
(call_main): New native method.
* gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code
relocated from prims.cc. Look up and call main method.
Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Ensure that ancestors
- table index is within allowed bounds. Ensure that we dont try to access
+ table index is within allowed bounds. Ensure that we don't try to access
class itable at a negative offset. Avoid an ancestor table lookup if
source is a primitive type class.
(isInstance): Remove redundant isPrimitive() check.
* java/awt/Toolkit.java (systemEventQueue): Removed.
(getDefaultToolkit): Default to "gnu.awt.gtk.GtkToolkit".
* java/awt/Window.java (getToolkit): Don't call super.
- * java/awt/image/BufferedImage.java: Fix definate assignment errors.
+ * java/awt/image/BufferedImage.java: Fix definite assignment errors.
* java/awt/peer/ContainerPeer.java (insets): Remove unused method.
* gnu/awt/gtk/GtkComponentPeer.java: New file.
* gnu/awt/gtk/GtkContainerPeer.java: New file.
* java/awt/image/BufferedImage.java: New file.
* java/awt/image/RasterOp.java: New file.
* java/awt/peer/ComponentPeer.java (getGraphicsConfiguration):
- More powerfull replacement for getColorModel().
+ More powerful replacement for getColorModel().
(getColorModel) Removed.
(setEventMask) New method.
* Makefile.am: Added new files.