OSDN Git Service

gcc/java:
[pf3gnuchains/gcc-fork.git] / libjava / ChangeLog
index 1c55198..39375cf 100644 (file)
+2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * include/jvm.h (_Jv_VTable::idx_to_offset): New method.
+       * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
+       _Jv_MakeVTable and _Jv_LinkOffsetTable if needed.
+       * java/lang/Class.h (_Jv_Method): Add "index" field.
+       (_Jv_MethodSymbol): New struct type.
+       (_Jv_LinkOffsetTable, _Jv_LayoutVTableMethods, _Jv_SetVTableEntries,
+       _Jv_MakeVTable): Friends.
+       (otable, otable_syms): New Class fields.
+       * java/lang/natClass.cc (_Jv_LinkOffsetTable): New function.
+       (isVirtualMethod): New static function.
+       (_Jv_LayoutVTableMethods): New function.
+       (_Jv_SetVTableEntries): New function.
+       (_Jv_MakeVTable): New function.
+
+2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of
+       the bitset.
+       (andNot): Likewise.
+       (xor): Likewise.
+
+2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
+       entry.
+
+2001-12-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/TreeMap.java (removeNode): Fix bug in node removal.
+
+2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/util/AbstractCollection.java (containsAll): Use size of the
+       correct collection for loop bound.
+       * java/util/AbstractList.java (iterator.next): Increment pos after
+       calling get on backing list.
+       (listIterator.next): Likewise.
+       * java/util/LinkedList.java (addLastEntry): Don't increment size before
+       checking for size == 0.
+       (addFirstEntry): Rearrange to match addLastEntry.
+       (add): Do not increment size before inserting the new entry.
+
+       * java/util/AbstractCollection.java (addAll): Use size of the
+       correct collection for loop bound.
+
+2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * java/util/AbstractSet.java (removeAll): Fix scoping thinko.
+       * java/util/HashMap.java (putAllInternal): Set size here.
+       * java/util/Hashtable.java (putAllInternal): New method. Copy contents
+       of a map efficiently without calling put() or putAll().
+       (Hashtable (map)): Use putAllInternal.
+       (clone): Likewise.
+
+2001-12-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/Collections.java:
+       * java/util/Vector.java:
+       * java/util/WeakHashMap.java: Fix spelling errors.
+
+2001-12-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/AbstractCollection.java (removeAllInternal),
+       (retainAllInternal): Add hooks for use by ArrayList.
+       * java/util/AbstractList.java: Minor code updates. Fix some
+       scoping.
+       * java/util/AbstractMap.java: ditto
+       * java/util/ArrayList.java (readObject, writeObject): ditto
+       (removeAllInternal, retainAllInternal): Optimize.
+       * java/util/Arrays.java: ditto
+       * java/util/Collections.java: ditto. Change order of parameters
+       to equals(Object, Object) to match specs.
+       * java/util/Dictionary.java: Improve javadoc.
+       (Dictionary): Add explicit constructor.
+       * java/util/HashMap.java: Improve javadoc. Rearrange methods to
+       follow order in JDK. Cleanups related to recent code migration to
+       AbstractMap. Fix some scoping.
+       (entrySet): Cache the result.
+       (modCount): Ensure that this is updated correctly.
+       * java/util/HashSet.java: Improve javadoc. Fix some scoping.
+       (init): Add hooks for LinkedHashSet.
+       (map): Use "" instead of Boolean.TRUE in backing map. Use
+       package-private API where possible for less overhead.
+       (readObject, writeObject): Fix serialization.
+       * java/util/Hashtable.java: Improve javadoc. Fix some scoping.
+       (entrySet, keySet, values): Cache the result.
+       (modCount): Ensure that this is updated correctly.
+       (contains, remove): Fix NullPointer checking to match specs.
+       (class Enumeration): Make more like HashIterator.
+       * java/util/IdentityHashMap.java: Minor code updates.
+       (modCount): Ensure that this is updated correctly.
+       (readObject, writeObject): Fix serialization.
+       * java/util/LinkedHashMap.java: Minor code updates. Cleanups
+       related to recent code migration to AbstractMap.
+       * java/util/LinkedHashSet.java: New file.
+       * java/util/LinkedList.java:
+       (readObject, writeObject): Fix serialization.
+       * java/util/Makefile.am: List recently added files.
+       * java/util/Stack.java: Minor code updates.
+       * java/util/TreeMap.java: Improve javadoc. Overhaul the class to
+       be more efficient. Fix some scoping. Rearrange the methods.
+       (nil): Ensure that this can be thread-safe, and make it a static
+       final. Initialize it to be more useful as a sentinal node.
+       (Node): Specify color in constructor.
+       (deleteFixup, insertFixup): Improve comments and algorithm.
+       (fabricateTree): Redesign with less overhead.
+       (lowestGreaterThan): Add parameter first to make SubMap easier.
+       (removeNode): Patch hole where nil was being modified. Choose
+       predecessor instead of successor so in-place swap works.
+       (class VerifyResult, verifyTree, verifySub, verifyError): Remove
+       this dead code after verifying the class works.
+       (class SubMap): Rewrite several algorithms to avoid problems with
+       comparing nil.
+       * java/util/TreeSet.java: Improve javadoc. Fix some scoping.
+       (clone): Fix ClassCastException when cloning subSet().
+       (readObject, writeObject): Fix serialization.
+       * java/util/WeakHashMap.java: Improve javadoc. Fix some scoping.
+       (NULL_KEY): Make it compare as null, for ease elsewhere.
+       (Class WeakEntry): Rename from Entry, to avoid shadowing
+       Map.Entry. Add missing toString.
+       (modCount): Ensure that this is updated correctly.
+       (clear, containsValue, keySet, putAll, values, WeakHashMap(Map)):
+       Add missing methods and constructor.
+
+2001-12-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/ArrayList.java (checkBoundExclusive),
+       (checkBoundInclusive): Rename from range??clusive, to match
+       AbstractList.
+       * java/util/LinkedList.java (checkBoundsExclusive),
+       (checkBoundsInclusive): ditto
+       * java/util/Vector.java (checkBoundExclusive),
+       (checkBoundInclusive): Move bounds checking into common methods.
+
+2001-12-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/AbstractList.java:
+       (modCount): Make sure it is updated in all needed places.
+       * java/util/ArrayList.java: Improve javadoc. Implements
+       RandomAccess. Add serialVersionUID. Reorder methods.
+       (modCount): Make sure it is updated in all needed places.
+       (rangeExclusive, rangeInclusive): Add common methods for bounds
+       check.
+       (isEmpty): Add missing method.
+       * java/util/Collections.java: (class SynchronizedList): Make
+       package visible.
+       * java/util/ConcurrentModificationException.java: Improve
+       javadoc.
+       * java/util/EmptyStackException.java: Improve javadoc.
+       * java/util/LinkedList.java: Improve javadoc.
+       (modCount): Make sure it is updated in all needed places.
+       (rangeExclusive, rangeInclusive): Add common methods for bounds
+       check.
+       * java/util/NoSuchElementException.java: Improve javadoc.
+       * java/util/Stack.java: Improve javadoc. Fix synchronization
+       issues.
+       (modCount): Make sure it is updated in all needed places.
+       * java/util/Vector.java: Improve javadoc. Fix synchronization
+       issues. Implements RandomAccess. Reorder methods.
+       (modCount): Make sure it is updated in all needed places.
+       (setSize): Fix according to specifications: this does not dictate
+       the backing array size.
+       (removeAll, retainAll): Faster implementations.
+
+2001-12-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/BitSet.java: Improve javadoc.
+       (cardinality(), clear(), clear(int, int), flip(int)),
+       (flip(int, int), get(int, int), intersects(BitSet), isEmpty()),
+       (nextClearBit(int), nextSetBit(int), set(int, boolean)),
+       (set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods.
+       (clone): Fix so subclasses clone correctly.
+
+2001-12-15  Eric Blake  <ebb9@email.byu.edu>
+
+       * java/util/AbstractCollection.java: Improve javadoc.
+       (AbstractCollection()): Make constructor protected.
+       (equals(Object, Object), hashCode(Object)): Add utility methods.
+       * java/util/AbstractList.java: Improve javadoc.
+       (AbstractList()): Make constructor protected.
+       (indexOf(Object)): Call listIterator(), not listIterator(int).
+       (iterator()): Follow Sun's requirement to not use listIterator(0).
+       (listIterator(int)): Make AbstractListItr anonymous.
+       (subList(int, int)): Add support for RandomAccess.
+       (SubList.add(int, Object), SubList.remove(Object)): Fix bug with
+       modCount tracking.
+       (SubList.addAll(Collection)): Add missing method.
+       (SubList.listIterator(int)): Fix bugs in indexing, modCount
+       tracking.
+       (class RandomAccessSubList): Add new class.
+       * java/util/AbstractMap.java: Improve javadoc.
+       (keys, values, KEYS, VALUES, ENTRIES): Consolidate common map
+       fields.
+       (AbstractMap()): Make constructor protected.
+       (equals(Object, Object), hashCode(Object)): Add utility methods.
+       (equals(Object)): Change algorithm to
+       entrySet().equals(m.entrySet()), as documented by Sun.
+       (keySet(), values()): Cache the collections.
+       * java/util/AbstractSequentialList.java: Improve javadoc.
+       (AbstractSequentialList()): Make constructor protected.
+       * java/util/AbstractSet.java: Improve javadoc.
+       (AbstractSet()): Make constructor protected.
+       (removeAll(Collection)): Add missing method.
+       * java/util/Arrays.java: Improve javadoc, rearrange method orders.
+       (defaultComparator): Remove, in favor of
+       Collections.compare(Object, Object, Comparator).
+       (binarySearch, equals, sort): Fix natural order comparison of
+       floats and doubles. Also improve Object comparison - when
+       comparator is null, use natural order.
+       (fill, sort): Add missing checks for IllegalArgumentException.
+       (sort, qsort): Fix sorting bugs, rework the code for more
+       legibility.
+       (mergeSort): Inline into sort(Object[], int, int, Comparator).
+       (class ArrayList): Rename from ListImpl, and make compatible with
+       JDK serialization. Add methods which more efficiently override
+       those of AbstractList.
+       * java/util/Collections: Improve javadoc.
+       (isSequential(List)): Add and use a method for deciding between
+       RandomAccess and sequential algorithms on lists.
+       (class Empty*, class Synchronized*, class Unmodifiable*): Make
+       compliant with JDK serializability.
+       (class Singleton*, class CopiesList, class RevereseComparator),
+       (class UnmodifiableMap.UnmodifiableEntrySet),
+       (class *RandomAccessList): New classes for serial compatibility.
+       (class Empty*, class Singleton*, class CopiesList): Add methods
+       which more efficiently override those of Abstract*.
+       (search): Inline into binarySearch(List, Object, Comparator).
+       (binarySearch): Make sequential search only do log(n) comparisons,
+       instead of n.
+       (copy(List, List)): Do bounds checking before starting.
+       (indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate),
+       (swap): Add new JDK 1.4 methods.
+       (binarySearch, max, min, sort): Allow null comparator to represent
+       natural ordering.
+       (reverse(List)): Avoid unnecessary swap.
+       (shuffle(List, Random)): Do shuffle in-place for RandomAccess
+       lists.
+       (SingletonList.get): Fix logic bug.
+       (SingletonMap.entrySet): Make the entry immutable, and cache the
+       returned set.
+       (SynchronizedCollection, SynchronizedMap, UnmodifiableCollection),
+       (UnmodifiableMap): Detect null pointer in construction.
+       (SynchronizedMap, UnmodifiableMap): Cache collection views.
+       * java/util/BasicMapEntry: Improve javadoc.
+
+2001-12-14  Hans Boehm  <Hans_Boehm@hp.com>
+
+       * libjava/prims.cc: Some old cleanups.  The collector now
+       handles test for out of memory.
+
+       * libjava/prims.cc, libjava/gcj/javaprims.h:
+       (_Jv_AllocObjectNoInitNoFinalizer, _Jv_AllocObjectNoFinalizer):
+       New functions for finalizer-free allocation.
+       (jvmpi_notify_alloc): Became separate function.
+
+       * libjava/java/lang/Object.h, libjava/include/jvm.h: Adjust for
+       revised vtable layout on IA64.  With TARGET_VTABLE_USES_DESCRIPTORS,
+       there is only one extra descriptor.
+
+2001-12-12  Tom Tromey  <tromey@redhat.com>
+
+       * prims.cc (_Jv_RunMain): Use `using' to simplify code.  Set
+       _Jv_Jar_Class_Path early.
+
+       * jni.cc (call): Synchronize if required.
+
+       * gij.cc (main): Clarify --help output.
+
+       * gnu/gcj/runtime/StringBuffer.java
+       (ensureCapacity_unsynchronized): Ensure we always get at least
+       `minimumCapacity' characters in new buffer.
+
+2001-12-11  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/String.java (String): New constructor.
+       * gnu/gcj/runtime/natStringBuffer.cc: New file.
+       * gnu/gcj/runtime/StringBuffer.java: New file.
+       * Makefile.in: Rebuilt.
+       * Makefile.am (ordinary_java_source_files): Added
+       gnu/gcj/runtime/StringBuffer.java.
+       (nat_source_files): Added gnu/gcj/runtime/natStringBuffer.cc.
+
+2001-12-10  Tom Tromey  <tromey@redhat.com>
+
+       For PR libgcj/1147:
+       * prims.cc (JvConvertArgv): Convert using current locale's
+       encoding.
+
+2001-12-10  Tom Tromey  <tromey@redhat.com>
+
+       Fix for PR libgcj/5064.
+       * java/lang/natClassLoader.cc: Don't include stdio.h.
+       (_Jv_RegisterClassHookDefault): Don't use snprintf.
+
+2001-12-09  Per Bothner  <per@bothner.com>
+
+       * gnu/gcj/xlib/XImage.java (toString):  Add missing initialization.
+
+2001-12-09  Tom Tromey  <tromey@redhat.com>
+
+       * resolve.cc (_Jv_PrepareClass): Verify method here...
+       * defineclass.cc (handleMethodsEnd): ... not here.
+       * verify.cc (_Jv_BytecodeVerifier::initialize_stack): New method.
+       (_Jv_BytecodeVerifier::verify_instructions_0) [op_return]: Ensure
+       there are no uninitialized objects.
+       (_Jv_BytecodeVerifier::state::this_type): New field.
+       (_Jv_BytecodeVerifier::state::state): Initialize this_type.
+       (_Jv_BytecodeVerifier::state::copy): Copy this_type.
+       (_Jv_BytecodeVerifier::state::merge): Merge this_type.
+       (_Jv_BytecodeVerifier::state::check_no_uninitialized_objects):
+       Handle this_type.
+       (_Jv_BytecodeVerifier::state::check_this_initialized): New
+       method.
+       (_Jv_BytecodeVerifier::state::set_initialized): Handle this_type.
+       (_Jv_BytecodeVerifier::state::set_this_type): New method.
+       (_Jv_BytecodeVerifier::verify_instructions_0) [op_putfield]: Allow
+       assignment to fields of `this' before another initializer is run.
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (gnu/gcj/runtime/VMClassLoader.h): Use `::java'.
+
+2001-12-08  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in: Rebuilt.
+       * Makefile.am (java/lang/reflect/Method.h): ObjectInputStream now
+       a friend.
+       * java/lang/natClass.cc (getSignature): Only look at elements of
+       non-null parameters.
+       (getPrivateMethod): Removed old FIXME comment.
+       * java/io/natObjectInputStream.cc (allocateObject): Removed old
+       FIXME comment.
+       (callConstructor): Simply use `NULL' for value of parameters.
+       (ObjectClass): Removed.
+       (ClassClass): Likewise.
+       * java/io/ObjectInputStream.java (readObject): Fixed typo.
+
+       * verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow):
+       Handle case of array whose component type is not prepared.
+
+2001-12-07  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/ClassLoader.java (defineClass): Rethrow any
+       LinkageError.
+
+       * java/lang/ThreadGroup.java (uncaughtException): Print message to
+       System.err.  Required by spec.
+
+       * verify.cc (_Jv_BytecodeVerifier::branch_prepass): Set start_PC
+       earlier, for error handling.
+       (_Jv_BytecodeVerifier::note_branch_target): Fixed branch target
+       check.
+
+2001-12-06  Tom Tromey  <tromey@redhat.com>
+
+       * verify.cc (_Jv_BytecodeVerifier::FLAG_JSR_TARGET): Removed.
+       (_Jv_BytecodeVerifier::note_branch_target): Likewise.
+
+       * verify.cc (_Jv_BytecodeVerifier::type_val): Added
+       unused_by_subroutine_type.
+       (_Jv_BytecodeVerifier::type::merge): Handle
+       unused_by_subroutine_type.
+       (_Jv_BytecodeVerifier::state::state): Added `ret_semantics'
+       argument.
+       (_Jv_BytecodeVerifier::state::copy): Likewise.
+       (_Jv_BytecodeVerifier::push_jump_merge): Pass `ret_semantics' to
+       state constructor.
+       (_Jv_BytecodeVerifier::state::is_unmerged_ret_state): New method.
+       (_Jv_BytecodeVerifier::pop_jump): Don't accept a jump which is
+       from an unmerged ret.
+       (_Jv_BytecodeVerifier::verify_instructions_0): Don't let an
+       unmerged ret state skip verification in the fall-through case.
+       (debug_print): New function.
+       (_Jv_BytecodeVerifier::type::print): New method.
+       (_Jv_BytecodeVerifier::state::print): New method.
+       (_Jv_BytecodeVerifier::push_jump_merge): Print state.
+       (_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
+       (_Jv_BytecodeVerifier::get_variable): Don't call note_variable.
+       (_Jv_BytecodeVerifier::_Jv_BytecodeVerifier): Print debug
+       information.
+
+2001-12-05  Tom Tromey  <tromey@redhat.com>
+
+       * defineclass.cc (character): Removed.
+       (prepare_character): Removed.
+       (is_identifier_start): Use Character, not character.
+       (is_identifier_part): Likewise.
+
+2001-12-04  Tom Tromey  <tromey@redhat.com>
+
+       * verify.cc (_Jv_BytecodeVerifier::linked_utf8): New structure.
+       (_Jv_BytecodeVerifier::utf8_list): New field.
+       (_Jv_BytecodeVerifier::_Jv_BytecodeVerifier): Initialize it.
+       (_Jv_BytecodeVerifier::~_Jv_BytecodeVerifier): Free it.
+       (_Jv_BytecodeVerifier::make_utf8_const): New method.
+       (_Jv_BytecodeVerifier::get_one_type): Use it.
+       (_Jv_BytecodeVerifier::type::merge): When using local semantics,
+       if the destination type is already unsuitable then we didn't
+       change.
+
+       * defineclass.cc (read_one_method_attribute): `end_pc' for an
+       exception can be equal to code length.
+       * verify.cc (_Jv_BytecodeVerifier::verify_instructions_0): Removed
+       `start_PC' from error invocation where it didn't make sense, and
+       updated error message.  Use `copy' to copy a state.  Only try to
+       merge current state with saved state when we've fallen through
+       from the previous instruction.
+       (_Jv_BytecodeVerifier::pop_ref_or_return): New method.
+       (_Jv_BytecodeVerifier::verify_instructions_0) [op_astore_0]: Use
+       pop_ref_or_return.
+       (_Jv_BytecodeVerifier::verify_instructions_0) [op_astore]:
+       Likewise.
+       (_Jv_BytecodeVerifier::push_jump_merge): Pass max_locals, not
+       max_stack, to merge.
+       (_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
+       (_Jv_BytecodeVerifier::push_jump_merge): Merge from new state into
+       state at branch target, not vice versa.
+       (_Jv_BytecodeVerifier::branch_prepass): Allow end of exception to
+       be equal to code length.  Removed redundant test to see if
+       exception start is after exception end.
+       (_Jv_BytecodeVerifier::verify_instructions_0): Type of argument to
+       `finally' is Throwable.
+
+2001-12-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * Makefile.in: Rebuilt with automake-gcj.
+
+2001-12-03  Tom Tromey  <tromey@redhat.com>
+
+       * defineclass.cc (handleMethodsEnd): Invoke verifier here...
+       (handleCodeAttribute): ... not here.
+       * verify.cc (_Jv_BytecodeVerifier::state::state): Use `copy', not
+       structure assignment.
+
+2001-12-02  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * Makefile.am (nat_files, x_nat_files): Make sure the dependencies
+       don't get deleted if compilation fails.
+       * Makefile.in: Rebuilt.
+
+2001-11-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * Makefile.am (nat_headers, x_nat_headers): Depend on .class files, not
+       libgcj.jar.
+       (nat_files, x_nat_files): Build native files in subdirectories using 
+       the same dependency options as the java files.
+       (gnu/gcj/runtime/FirstThread.h): Remove explicit rule and friend
+       declarations.
+       * configure.in: Put dependencies for .cc files in deps.mak.
+       * Makefile.in: Rebuilt.
+       * configure: Rebuilt.
+
+2001-11-25  Tom Tromey  <tromey@redhat.com>
+
+       Fix for PR libgcj/2024, plus other class name cleanups:
+       * include/jvm.h (_Jv_VerifyFieldSignature,
+       _Jv_VerifyMethodSignature, _Jv_VerifyClassName,
+       _Jv_VerifyIdentifier, _Jv_ClassNameSamePackage): Moved from ...
+       * include/java-interp.h: ... here.
+       * defineclass.cc (UTF8_PEEK): No longer conditional on
+       interpreter.
+       (_Jv_VerifyOne): Likewise.
+       (_Jv_VerifyFieldSignature): Likewise.
+       (_Jv_VerifyMethodSignature): Likewise.
+       (is_identifier_start): Likewise.
+       (is_identifier_part): Likewise.
+       (_Jv_VerifyIdentifier): Likewise.
+       (_Jv_VerifyClassName): Likewise.
+       (_Jv_VerifyClassName): Likewise.
+       (_Jv_ClassNameSamePackage): Likewise.
+       (_Jv_VerifyClassName): Fail if class name is too long.
+       * java/lang/natClassLoader.cc (_Jv_NewArrayClass): Disallow array
+       of void.
+       * java/lang/natClass.cc (forName): Check syntax of class name.
+       Include IllegalArgumentException.h.
+
+2001-11-22  Tom Tromey  <tromey@redhat.com>
+
+       * verify.cc (_Jv_BytecodeVerifier::branch_prepass): Use
+       java_opcode as type for switch.
+       [op_wide]: Likewise.
+       (_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
+       [op_invokevirtual]: Likewise.
+       * include/java-insns.h (java_opcode): Give enum a name.
+
+2001-11-25  Tom Tromey  <tromey@redhat.com>
+
+       Fix for PR libgcj/4583:
+       * java/math/BigDecimal.java (BigDecimal(double)): Rewrote.
+       (BigDecimal(String)): Likewise.
+
+2001-11-19  Tom Tromey  <tromey@redhat.com>
+
+       * verify.cc (_Jv_BytecodeVerifier::branch_prepass) [op_iinc]:
+       Uses two operand bytes, not one.
+       [op_arraylength]: Has no operands in bytecode.
+       (_Jv_BytecodeVerifier::push_jump): Fixed call to
+       check_no_uninitialized_objects.
+       (_Jv_BytecodeVerifier::push_exception_jump): Likewise.
+       (_Jv_BytecodeVerifier::handle_ret_insn): Likewise.
+       (_Jv_BytecodeVerifier::handle_jsr_insn): Likewise.
+
+       * verify.cc (_Jv_BytecodeVerifier::require_array_type): Special
+       case for boolean arrays.
+
+       * verify.cc (_Jv_BytecodeVerifier::compute_jump): Put PC into
+       error message.
+
+       * verify.cc (_Jv_BytecodeVerifier::verify_instructions_0)
+       [op_lshl, op_lshr, op_lushr]: Shift argument is an int, not a
+       long.
+
+2001-11-18  Tom Tromey  <tromey@redhat.com>
+
+       * verify.cc (type::to_array): New method.
+       (_Jv_BytecodeVerifier::verify_instructions_0) [op_anewarray]:
+       Construct new array type.
+
+       * verify.cc (_Jv_BytecodeVerifier::branch_prepass) [op_sipush]:
+       Skip a short, not a byte.
+       [op_newarray]: Skip a byte, not a short.
+
+       * verify.cc (_Jv_BytecodeVerifier::get_type_val_for_signature):
+       Added `B' case.
+
+       * verify.cc (_Jv_BytecodeVerifier::get_ushort): Use `jint' for
+       temporary values.
+       (_Jv_BytecodeVerifier::get_short): Likewise.
+       (_Jv_BytecodeVerifier::get_int): Likewise.
+       (_Jv_BytecodeVerifier::check_return_type): Reverse ordering of
+       `compatible' call.
+
+       * 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.
        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.
@@ -4524,7 +5575,7 @@ Sun Nov 26 21:30:25 2000  Anthony Green  <green@redhat.com>
        * 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.
@@ -5155,7 +6206,7 @@ Sat Aug 19 11:00:53 2000  Anthony Green  <green@redhat.com>
        * 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.