diff options
Diffstat (limited to 'libjava/ChangeLog-2001')
-rw-r--r-- | libjava/ChangeLog-2001 | 4259 |
1 files changed, 4259 insertions, 0 deletions
diff --git a/libjava/ChangeLog-2001 b/libjava/ChangeLog-2001 new file mode 100644 index 000000000..52a2ae594 --- /dev/null +++ b/libjava/ChangeLog-2001 @@ -0,0 +1,4259 @@ +2001-12-29 Andreas Tobler <a.tobler@schweiz.ch> + + * libjava/java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for + Darwin. + +2001-12-21 Tom Tromey <tromey@redhat.com> + + * java/io/ObjectInputStream.java (enableResolveObject): Use + correct security check. + * java/io/ObjectOutputStream.java (enableReplaceObject): Use + correct security check. + + Fix for PR java/5165: + * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): + Convert any constant string field to a String; not just final + fields. + + Fix for PR libgcj/2428: + * java/lang/natClass.cc: Include RuntimePermission.h. + (getClassLoader): Define. + * java/lang/Class.h (Class.getClassLoader): Only declare. + +2001-12-19 Tom Tromey <tromey@redhat.com> + + * java/awt/FlowLayout.java (FlowLayout(), FlowLayout(int)): Set + gaps to 5. + (FlowLayout(int,int,int)): Use methods to set fields. + (getSize): Skip invisible components. + (layoutContainer): Skip invisible components. + +2001-12-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * include/jvm.h (_Jv_BuildGCDescr): Declare unconditionally. + * nogc.cc (_Jv_BuildGCDescr): Define unconditionally. + * boehm.cc (_Jv_BuildGCDescr): Likewise. + +2001-12-18 Tom Tromey <tromey@redhat.com> + + * java/text/CollationElementIterator.java (secondaryOrder): Cast + result to `short'. + (tertiaryOrder): Likewise. + +2001-12-16 Tom Tromey <tromey@redhat.com> + + For PR libgcj/5103: + * include/jvm.h (__GCJ_JNI_IMPL__): Define. + * include/config.h.in: Rebuilt. + * configure: Rebuilt. + * configure.in: Define JV_HAVE_INTTYPES_H if inttypes.h found. + Added comment for HAVE_DLOPEN to avoid autoheader error. + * gcj/libgcj-config.h.in (JV_HAVE_INTTYPES_H): Added. + * include/jni.h: Include <gcj/libgcj-config.h>. Don't include + CNI-specific headers if we are compiling ordinary JNI code with a + C++ compiler. Include <inttypes.h> and JNIWeakRef.h when + appropriate. + * jni.cc: Don't include JNIWeakRef.h. + (__GCJ_JNI_IMPL__): Don't define. + + For PR java/5088: + * java/lang/natClassLoader.cc (_Jv_InitNewClassFields): New + function. + (_Jv_NewClass): Use it. + (defineClass0): Use it. + * prims.cc (_Jv_InitPrimClass): Adjust vtable here. + (_Jv_InitPrimClass): Use _Jv_InitNewClassFields. + (_Jv_NewArray): Don't abort; just throw exception. + Include InternalError.h. + * java/lang/Class.h (Class::Class): Declare, don't define. + (Class): Declare _Jv_InitNewClassFields as a friend. + (union _Jv_Self): Removed. + + * Makefile.in: Rebuilt. + * Makefile.am (ordinary_java_source_files): Removed old file; + added new file. + * gnu/java/math/MPN.java: New file. + * gnu/gcj/math/MPN.java: Removed. + * java/math/BigInteger.java: Merged with Classpath. + +2001-12-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/io/DataOutputStream (write (byte[], int, int)): Update + "written" correctly. Fix from the ORP team. + +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. + * 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-08 Mark Wielaard <mark@klomp.org> + + * java/net/DatagramSocketImpl.java: Merge with Classpath + +2001-10-07 Mark Wielaard <mark@klomp.org> + + * java/net/URLDecoder.java: Remerge with Classpath + * java/net/URLEncoder.java: Merge with Classpath + +2001-10-08 Tom Tromey <tromey@redhat.com> + + Fix for PR libgcj/4481: + * java/io/File.java (getParent): Handle case where path is "/". + (normalizePath): Use correct string for UNC leader. + +2001-10-06 Mark Wielaard <mark@klomp.org> + + * java/io/BufferedInputStream.java: Merge with Classpath + +2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk> + + * defineclass.cc, java/awt/image/ColorModel.java, + java/awt/image/SampleModel.java, java/lang/Package.java, + java/security/cert/X509Extension.java: Fix spelling errors of + "separate" as "seperate", and corresponding spelling errors of + related words. + +2001-10-05 Tom Tromey <tromey@redhat.com> + + * java/text/DecimalFormat.java (format): Use localized minus sign + when generating exponent; never use `+'. Use floor to compute + exponent. + +2001-10-05 Mark Wielaard <mark@klomp.org> + + * java/util/zip/Adler32.java: Merge with Classpath + * java/util/zip/CRC32.java: Ditto + * java/util/zip/Checksum.java: Ditto + * java/util/zip/DataFormatException.java: Ditto + * java/util/zip/ZipException.java: Ditto + +2001-10-04 Martin Kahlert <martin.kahlert@infineon.com> + + * jni.cc (_Jv_JNI_DeleteLocalRef): Use correct frame size + +2001-10-04 Mark Wielaard <mark@klomp.org> + + * java/lang/reflect/Modifier.java: Merge with Classpath + +2001-10-03 Mark Wielaard <mark@klomp.org> + + * java/io/SequenceInputStream.java: Merge with Classpath + * java/io/StringBufferInputStream.java: Ditto + * java/util/Collections.java: Remerge with Classpath + +2001-10-03 Tom Tromey <tromey@redhat.com> + + * java/lang/ref/natReference.cc (add_to_hash): Set n->next before + setting *link. + +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> + + * Makefile.am (core_java_source_files): add InheritableThreadLocal + * Makefile.in: regenerate + * gcj/javaprims.h: ditto + * java/lang/InheritableThreadLocal.java: new class from Classpath + * java/lang/Thread.java Thread (Thread, ThreadGroup, Runnable, String): + call InheritableThreadLocal.newChildThread() + +2001-10-01 Mark Wielaard <mark@klomp.org> + + * Makefile.am: Add new classes + (core_java_source_files): CharSequence + (ordinary_java_source_files): Authenticator, PasswordAuthentication + * Makefile.in: regenerate + * gcj/javaprims.h: ditto + * java/lang/CharSequence: new class from Classpath + * java/lang/String.java: implements CharSequence + (subSequence (int,int)): new method + * java/lang/SubString.java: implements CharSequence + (subSequence (int,int)): new method + remerge comments with Classpath + * java/net/Authenticator.java: new class from Classpath + * java/net/PasswordAuthentication.java: ditto + +2001-10-01 Tom Tromey <tromey@redhat.com> + + * gcj/javaprims.h: Rebuilt class list. + * boehm.cc (_Jv_GCRegisterDisappearingLink): New function. + (_Jv_GCCanReclaimSoftReference): New function. + * include/jvm.h (_Jv_GCRegisterDisappearingLink): Declare. + (_Jv_GCCanReclaimSoftReference): Declare. + * java/lang/ref/Reference.java (referent): Now a RawData. + (create): Renamed from `created'. Added object argument. + (Reference): Don't initialize `referent' here. + * Makefile.in: Rebuilt. + * Makefile.am (nat_source_files): Added new file. + * java/lang/ref/natReference.cc: New file. + + * prims.cc (_Jv_NewMultiArrayUnchecked): New method. + (_Jv_NewMultiArray): Use it. Check each array dimension. + (_Jv_NewMultiArray): Likewise. + * java/lang/reflect/natMethod.cc (can_widen): Nothing promotes to + `char'. + * java/lang/reflect/natArray.cc (newInstance): Throw + IllegalArgumentException if there are no dimensions. + +2001-10-01 Mark Wielaard <mark@klomp.org> + + * java/io/FileWriter.java: Merge with Classpath. + * java/io/FilterInputStream.java: Ditto. + (mark): no longer synchronized + (reset): Likewise + * java/io/FilterOutputStream.java: Merge with Classpath. + * java/io/FilterReader.java: Ditto. + (mark): no longer synchronized + (reset): Likewise + * java/io/FilterWriter.java: Merge with Classpath. + * java/io/Writer.java: Ditto. + * java/lang/Compiler.java: Ditto. + * java/lang/Process.java: Ditto. + * java/lang/Void.java: Ditto. + * java/net/ContentHandler.java: Ditto. + * java/net/DatagramPacket.java: Ditto. + * java/net/MulticastSocket.java: Merge comments with Classpath. + +2001-09-30 Mark Wielaard <mark@klomp.org> + + * java/io/DataInput.java: Merge with Classpath. + * java/io/DataOutput.java: Idem. + * java/io/FilenameFilter.java: Idem. + * java/io/Serializable.java: Idem. + * java/lang/Cloneable.java: Idem. + * java/lang/Comparable.java: Idem. + * java/lang/Runnable.java: Idem. + * java/lang/reflect/Member.java: Idem. + * java/net/ContentHandlerFactory.java: Idem. + * java/net/FileNameMap.java: Idem. + * java/net/SocketImplFactory.java: Idem. + * java/net/SocketOptions.java: Idem. + * java/net/URLStreamHandlerFactory.java: Idem. + +2001-09-30 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/lang/natClass.cc (_Jv_IsAssignableFrom): Handle the case of + an uninitialized target class. + + * gnu/gcj/protocol/file/Connection.java (connect): Throw + FileNotFoundException if appropriate. + * gnu/gcj/protocol/file/Handler.java (openConnection): Throw an + IOException if we got a file: url with a hostname. Comment out protocol + switch to ftp for now. + * java/net/URL.java (URL): Include protocol name in exception message + when handler can't be found. + +2001-09-28 Per Bothner <per@bothner.com> + + * gnu/gcj/runtime/SharedLibLoader.java: New class. + * gnu/gcj/runtime/natSharedLibLoader.cc: Native methods. + * Makefile.am: Update accordingly. + * configure.in: Add AC_CHECK_LIB for dlopen. + * include/config.h.in: Add HAVE_DLOPEN. + +2001-09-29 Jeff Sturm <jsturm@one-point.com> + + * Makefile.am (libgcj_la_LDFLAGS): Added $(GCLIBS), $(ZLIBS). + * Makefile.in: Rebuilt. + +2001-09-27 Tom Tromey <tromey@redhat.com> + + * java/util/IdentityHashMap.java (containsKey): Use getHash. + (get): Likewise. + (put): Likewise. + (remove): Likewise. + (getHash): New method. + (tombstone, emptyslot): Now static final. + (put): Correctly determine when to rehash, and correctly rehash. + (containsKey, remove): Test against table length with `>='. + +2001-09-26 Tom Tromey <tromey@redhat.com> + + * gnu/classpath/Configuration.java.in (INIT_LOAD_LIBRARY): New + constant. + * java/io/StreamTokenizer.java, java/util/ResourceBundle.java: + Re-merged with Classpath. + + * java/io/DataInputStream.java (readChar): Use readFully. + (readInt): Likewise. + (readLong): Likewise. + (readShort): Likewise. + (readUnsignedShort): Likewise. + +2001-09-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/lang/PosixProcess.java (exitValue): Implement here. Throw + IllegalThreadStateException if process hasn't exited yet. + * java/lang/natPosixProcess.cc (exitValue): Removed. + (waitFor): Only check thread interrupted status if waitpid() returned + an error. Use WIFEXITED and WEXITSTATUS to process process's exit + value. + + * java/security/cert/X509Extension.java: Merge from classpath. + +2001-09-22 Anthony Green <green@redhat.com> + + * java/security/DummyKeyPairGenerator.java (initialize): New + method (with AlgorithmParameterSpec argument). + +2001-09-22 Anthony Green <green@redhat.com> + + * java/security/spec/EncodedKeySpec.java: Implements KeySpec. + + * gnu/java/security/provider/SHA1PRNG.java: Extend from + SecureRandomSpi. + (engineNextBytes): Fix order of memory copies. + +2001-09-21 Richard Henderson <rth@redhat.com> + + * include/jvm.h (_Jv_VTable): Handle function descriptors for ia64; + add get_method, set_method, vtable_elt_size, new_vtable. + (_Jv_ArrayVTable): Derive from _Jv_VTable. + * resolve.cc (_Jv_PrepareClass): Use new _Jv_VTable methods. + * interpret.cc (_Jv_InterpMethod::continue1): Likewise. + * java/lang/natClassLoader.cc (_Jv_NewArrayClass): Likewise. + +2001-09-21 Richard Henderson <rth@redhat.com> + + * no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments. + * java/lang/mprec.c (lo0bits): Fix paren typo. + +2001-09-20 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * posix-threads.cc (_Jv_ThreadInterrupt): Re-enable interrupt of + blocking IO via pthread_kill(). + * java/io/natFileDescriptorPosix.cc (write (jint)): Check for thread + interrupted status flag only if ::write returned an error. + (write (jbyteArray, jint, jint): Likewise. + (read (jint)): Likewise. + (read (jbyteArray, jint, jint): Likewise. + +2001-09-19 Anthony Green <green@redhat.com> + + * gnu/gcj/protocol/file/Handler.java: Avoid NullPointerException + when host is null. + +2001-09-17 Andreas Jaeger <aj@suse.de> + + * jni.cc (array_from_valist): Use promoted types for va_arg. + +2001-09-16 Anthony Green <green@redhat.com> + + * gnu/java/locale/LocaleInformation.java: Extend + LocaleInformation_en_US, not LocaleInformation_en. + +2001-09-16 Anthony Green <green@redhat.com> + + * gnu/gcj/convert/IOConverter.java: Add support for iso8859_1. + +2001-09-14 Tom Tromey <tromey@redhat.com> + + * java/util/TimeZone.java: Updated list of timezones from + Classpath. + + * java/lang/CloneNotSupportedException.java: Re-merged with + Classpath. + +2001-09-14 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/io/File.java (normalizePath): Use equals() not '==' for string + comparison. + + * java/util/Hashtable.java (Enumerator): Ensure that if + hasMoreElements() returns true, nextElement() will always return + something even if the table has been modified. + +2001-09-12 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (class-check): New target. + +2001-09-11 Tom Tromey <tromey@redhat.com> + + * java/io/File.java (toURL): Use getAbsolutePath and `file://'. + +2001-09-10 Tom Tromey <tromey@redhat.com> + + * java/util/Properties.java (load): Correctly read \u sequences. + Report from Anthony Green. + +2001-09-10 Manfred Hollstein <manfredh@redhat.com> + + * configure.in (LIBFFIINCS): Quote uses of $(top_srcdir) + and $(MULTIBUILDTOP). + * configure: Re-generate. + +2001-09-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * include/jvm.h (_Jv_AllocRawObj): New prototype. + * boehm.cc (_Jv_AllocRawObj): Implement. + * nogc.cc (_Jv_AllocRawObj): Likewise. + * exception.cc (_Jv_Throw): Use _Jv_AllocRawObj, not GC_malloc. + +2001-09-06 Anthony Green <green@redhat.com> + + * java/util/ResourceBundle.java (tryLocalBundle): Eliminate + redundant method calls. + (emptyLocale): New private member. + (tryBundle): Use emptyLocale. Remove duplicate code. Only cache + exact matches. + +2001-09-06 Tom Tromey <tromey@redhat.com> + + * java/text/RuleBasedCollator.java (clone): Rewrote. + (RuleBasedCollator(RuleBasedCollator)): Removed. + * java/text/MessageFormat.java: Re-merged from Classpath. + * java/text/DecimalFormat.java: Re-merged from Classpath. + +2001-09-06 Anthony Green <green@redhat.com> + + * include/jvm.h: Declare _Jv_RegisterResource. + * gnu/gcj/Core.java, gnu/gcj/natCore.cc, + gnu/gcj/protocol/core/Connection.java, + gnu/gcj/protocol/core/Handler.java, + gnu/gcj/protocol/core/CoreInputStream.java, + gnu/gcj/protocol/core/natCoreInputStream.cc: New files. + * java/net/URL.java (setURLStreamHandler): Use + gnu.gcj.protocol.core.Handler for the core protocol. + * gnu/gcj/runtime/VMClassLoader.java (init): Add "core:/" to the + end of java.class.path. + * Makefile.am (ordinary_java_source_files): Add new java files. + (nat_source_files): Add new native code files. + * Makefile.in: Rebuilt. + +2001-09-05 Tom Tromey <tromey@redhat.com> + + * java/util/Properties.java: Re-merged from Classpath. + + From Eric Blake, via Classpath: + * java/lang/String.java (CaseInsensitiveComparator): New class. + (CASE_INSENSITIVE_ORDER): Use instance of CaseInsensitiveComparator. + + * java/util/Date.java: Re-merged with Classpath. + + * java/text/DateFormatSymbols.java: Re-merged with Classpath. + +2001-09-05 Corey Minyard <minyard@acm.org> + Tom Tromey <tromey@redhat.com> + + * java/lang/natClassLoader.cc: Include VirtualMachineError.h + (_Jv_RegisterClassHookDefault): Throw error if a class is + registered twice. + +2001-09-05 Tom Tromey <tromey@redhat.com> + + * java/lang/natSystem.cc (init_properties): Default locale is + en_US, not just en. + +2001-09-05 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/text/MessageFormat.java (setLocale): Don't catch ParseException + here, DecimalFormat.applyPattern() does not throw it. + +2001-09-04 Tom Tromey <tromey@redhat.com> + + * java/util/AbstractMap.java: Re-merged with Classpath. + * java/util/IdentityHashMap.java: Re-merged with Classpath. + + * java/text/SimpleDateFormat.java: Re-merged with Classpath. + * gnu/gcj/text/LocaleData.java, gnu/gcj/text/LocaleData_en.java, + gnu/gcj/text/LocaleData_en_US.java: Removed. + * java/text/DateFormatSymbols.java (clone): Use Classpath + implementation. + (equals): Simplified. + (DateFormatSymbols): Look in gnu.java.locale for information. + (DateFormatSymbols(DateFormatSymbols)): Removed. + (safeGetResource): Removed. + (DateFormatSymbols): Throws MissingResourceException. + (ampmsDefault, erasDefault, localPatternCharsDefault, + monthsDefault, shortMonthsDefault, shortWeekdaysDefault, + weekdaysDefault, zoneStringsDefault): Removed. + * java/text/Collator.java (getAvailableLocales): Use modified + Classpath implementation. + (getInstance): Look in gnu.java.locale for information. + (clone): Rewrote. + * java/text/MessageFormat.java: Reindented. + (clone): Rewrote. + * java/text/FieldPosition.java: Merged with Classpath. + * java/text/ParsePosition.java: Merged with Classpath. + * java/text/Format.java: Merged with Classpath. + * java/text/StringCharacterIterator.java + (StringCharacterIterator(StringCharacterIterator,int,int)): New + constructor from Classpath. + * java/text/Annotation.java, + java/text/AttributedCharacterIterator.java, + java/text/AttributedString.java, + java/text/AttributedStringIterator.java: New from Classpath. + * java/text/CharacterIterator.java: Copied from Classpath. + * java/text/ChoiceFormat.java: Reindented. + (clone): Removed. + * gnu/java/text/BaseBreakIterator.java, + gnu/java/text/CharacterBreakIterator.java, + gnu/java/text/LineBreakIterator.java, + gnu/java/text/LocaleData_en.java, + gnu/java/text/LocaleData_en_US.java, + gnu/java/text/SentenceBreakIterator.java, + gnu/java/text/WordBreakIterator.java: Renamed from gnu/gcj/text/*. + * gnu/gcj/text/BaseBreakIterator.java (last): Advance past final + character. + * java/text/BreakIterator.java (getAvailableLocales): Use + Classpath implementation. + (getInstance): Look in gnu.java.locale for information. + (getCharacterInstance, getLineInstance, getSentenceInstance, + getWordInstance): Look in gnu.java.text for implementations. + * java/text/DecimalFormatSymbols.java: Reindented + (clone): Use Classpath implementation. + (DecimalFormatSymbols(DecimalFormatSymbols)): Removed. + (DecimalFormatSymbols(Locale)): Look in gnu.java.locale for + information. + * java/text/DateFormat.java: Merged with Classpath. + (getAvailableLocales): Use Classpath implementation. + (format(Object,StringBuffer,FieldPosition)): Minor cleanup. + (computeInstance): Look in gnu.java.locale for information. + * java/text/NumberFormat.java: Reindented. + (computeInstance): Look in gnu.java.locale for information. + (getAvailableLocales): Use implementation from Classpath. + (setMaximumIntegerDigits): Likewise. + (setMinimumIntegerDigits): Likewise. + (setMaximumFractionDigits): Likewise. + (clone): Removed. + * java/text/DecimalFormat.java: Reindented. + * gnu/java/locale/LocaleInformation_en.java: Copied from Classpath. + * gnu/java/locale/LocaleInformation_en_US.java: Copied from Classpath. + * Makefile.in: Rebuilt. + * Makefile.am (ordinary_java_source_files): Added all new files. + (ordinary_java_source_files): Renamed or removed gnu/gcj/text/*. + * java/security/spec/AlgorithmParameterSpec.java, + java/security/spec/KeySpec.java: Re-merged with Classpath. + + Fix for PR libgcj/4213: + * Makefile.am (ordinary_java_source_files): Added new file. + * gnu/gcj/text/LocaleData.java: New file. + +2001-09-03 Tom Tromey <tromey@redhat.com> + + * java/lang/reflect/natField.cc (set): Allow for case when the + value is null. Fixes PR libgcj/4208. + + * gcj/javaprims.h: Regenerated class list. + * java/lang/IllegalThreadStateException.java, + java/lang/InstantiationException.java: Minor comment tweaks to + satisfy libgcj `classes.pl' script. + +2001-09-01 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (core_java_source_files): Added + UnsupportedClassVersionError. + * java/lang/UnsupportedClassVersionError.java: New file from + Classpath. + + * java/io/CharConversionException.java, java/io/EOFException.java, + java/io/FileNotFoundException.java, java/io/IOException.java, + java/io/InterruptedIOException.java, + java/io/ObjectStreamException.java, + java/io/OptionalDataException.java, + java/io/StreamCorruptedException.java, + java/io/SyncFailedException.java, + java/io/UTFDataFormatException.java, + java/io/UnsupportedEncodingException.java, + java/lang/AbstractMethodError.java, + java/lang/ArithmeticException.java, + java/lang/ArrayIndexOutOfBoundsException.java, + java/lang/ArrayStoreException.java, + java/lang/ClassCastException.java, + java/lang/ClassCircularityError.java, + java/lang/ClassFormatError.java, + java/lang/CloneNotSupportedException.java, java/lang/Error.java, + java/lang/Exception.java, + java/lang/ExceptionInInitializerError.java, + java/lang/IllegalAccessError.java, + java/lang/IllegalAccessException.java, + java/lang/IllegalArgumentException.java, + java/lang/IllegalMonitorStateException.java, + java/lang/IllegalStateException.java, + java/lang/IllegalThreadStateException.java, + java/lang/IncompatibleClassChangeError.java, + java/lang/IndexOutOfBoundsException.java, + java/lang/InstantiationError.java, + java/lang/InstantiationException.java, + java/lang/InternalError.java, java/lang/InterruptedException.java, + java/lang/LinkageError.java, + java/lang/NegativeArraySizeException.java, + java/lang/NoClassDefFoundError.java, + java/lang/NoSuchFieldError.java, + java/lang/NoSuchFieldException.java, + java/lang/NoSuchMethodError.java, + java/lang/NoSuchMethodException.java, + java/lang/NullPointerException.java, + java/lang/NumberFormatException.java, + java/lang/OutOfMemoryError.java, java/lang/RuntimeException.java, + java/lang/SecurityException.java, + java/lang/StackOverflowError.java, + java/lang/StringIndexOutOfBoundsException.java, + java/lang/ThreadDeath.java, java/lang/UnknownError.java, + java/lang/UnsatisfiedLinkError.java, + java/lang/UnsupportedOperationException.java, + java/lang/VerifyError.java, java/lang/VirtualMachineError.java, + java/lang/reflect/InvocationTargetException.java, + java/net/BindException.java, java/net/ConnectException.java, + java/net/MalformedURLException.java, + java/net/NoRouteToHostException.java, + java/net/ProtocolException.java, java/net/SocketException.java, + java/net/UnknownHostException.java, + java/net/UnknownServiceException.java, + java/text/ParseException.java: Copied from Classpath, thanks to + Mark Wielaard who did the merge. + + * java/lang/System.java (getProperty): Use single argument form of + SecurityManager.checkPropertyAccess. + * Makefile.in: Rebuilt. + * Makefile.am (core_java_source_files): Added VMSecurityManager. + * java/lang/VMSecurityManager.java: New file. + * java/lang/SecurityManager.java: Merged with Classpath. + +2001-08-31 Per Bothner <per@bothner.com> + + * gcj/javaprims.h (_Jv_RegisterClassHook): New extern declaration. + (_Jv_RegisterClassHookDefault): Likewise. + * java/lang/Class.h (_Jv_RegisterClassHookDefault): Declare as friend. + * java/lang/natClassLoader.cc (_Jv_RegisterClassHook): New variable. + (_Jv_RegisterClassHookDefault): New.function. + (_Jv_RegisterClasses): Call _Jv_RegisterClassHook. + + * java/lang/ClassLoader.java (system): Remove static field. + (getSystemClassLoader): Get gnu.gcj.runtime.VMClassLoader.instance + directly instead of using it to set the system field. + (loadClass): Use VMClassLoader.instance instead of system field. + (findSystemClass): Similar. + * prims.cc (_Jv_RunMain): Clear VMClassLoader::instance rather + than ClassLoader::system which no longer exists. + * java/lang/natClassLoader.java (_Jv_FindClass): Simplify. + +2001-08-31 Tom Tromey <tromey@redhat.com> + + * java/io/BufferedReader.java, java/io/ObjectInput.java, + java/io/ObjectInputValidation.java, java/io/ObjectOutput.java: + Re-merged with Classpath. + + Re-merge with Classpath: + * java/util/Comparator (equals): Added. + * java/io/PipedWriter.java (write): Changed argument to `int'. + + * java/io/FileDescriptor.java (FileDescriptor()): New + constructor. + * java/io/File.java (getAbsoluteFile): Doesn't throw IOException. + + * Makefile.in: Rebuilt. + * Makefile.am (ordinary_java_source_files): Removed + EnumerationChain, added DoubleEnumeration. + (nat_source_files): Added natResourceBundle.cc. + * java/util/natResourceBundle.cc: New file. + * gnu/java/util/DoubleEnumeration.java: New file. + * gnu/gcj/util/EnumerationChain.java: Removed. + * java/beans/VetoableChangeSupport.java: Merged with Classpath. + * java/util/ResourceBundle.java: Merged with Classpath. + * java/util/StringTokenizer.java: Merged with Classpath. + * java/util/Locale.java: Merged with Classpath. + * java/util/Random.java: Merged with Classpath. + * java/util/PropertyResourceBundle.java: Merged with Classpath. + * java/util/ListResourceBundle.java: Merged with Classpath. + * java/util/ConcurrentModificationException.java: Re-merged with + Classpath. + * java/util/EmptyStackException.java: Likewise. + * java/util/MissingResourceException.java: Likewise. + * java/util/NoSuchElementException.java: Likewise. + * java/util/TooManyListenersException.java: Likewise. + + * java/io/ByteArrayOutputStream.java: Re-merged with Classpath. + * java/io/OptionalDataException.java: Merged with Classpath. + +2001-08-31 Jason Merrill <jason_merrill@redhat.com> + + * exception.cc (PERSONALITY_FUNCTION): Simplify + leb128 handling. + +2001-08-31 Tom Tromey <tromey@redhat.com> + + * java/io/ByteArrayInputStream.java: Merged with Classpath. + +2001-08-30 Tom Tromey <tromey@redhat.com> + + * java/io/BufferedReader.java: Re-merged with Classpath. + +2001-08-28 Per Bothner <per@bothner.com> + + * java/math/BigInteger.java (init(int,Random)): New method. + Move body of constructor <init>(int,Random)) here. + Re-write it to avoid constructing unneeded temporaries. + (<init>(int,int,Random)): Use new init method to avoid constructing + extra temporary BigIntegers. + +2001-08-27 Tom Tromey <tromey@redhat.com> + + * java/rmi/activation/Activatable.java, + java/rmi/activation/ActivateFailedException.java, + java/rmi/activation/ActivationDesc.java, + java/rmi/activation/ActivationException.java, + java/rmi/activation/ActivationGroup.java, + java/rmi/activation/ActivationGroupDesc.java, + java/rmi/activation/ActivationGroupID.java, + java/rmi/activation/ActivationID.java, + java/rmi/activation/ActivationInstantiator.java, + java/rmi/activation/ActivationMonitor.java, + java/rmi/activation/ActivationSystem.java, + java/rmi/activation/Activator.java, + java/rmi/activation/UnknownGroupException.java, + java/rmi/activation/UnknownObjectException.java, + java/rmi/AccessException.java, + java/rmi/AlreadyBoundException.java, + java/rmi/ConnectException.java, java/rmi/ConnectIOException.java, + java/rmi/MarshalException.java, java/rmi/MarshalledObject.java, + java/rmi/Naming.java, java/rmi/NoSuchObjectException.java, + java/rmi/NotBoundException.java, + java/rmi/RMISecurityException.java, + java/rmi/RMISecurityManager.java, java/rmi/Remote.java, + java/rmi/RemoteException.java, java/rmi/ServerError.java, + java/rmi/ServerException.java, + java/rmi/ServerRuntimeException.java, + java/rmi/StubNotFoundException.java, + java/rmi/UnexpectedException.java, + java/rmi/UnknownHostException.java, + java/rmi/UnmarshalException.java, java/rmi/dgc/DGC.java, + java/rmi/dgc/Lease.java, java/rmi/dgc/VMID.java, + java/rmi/registry/LocateRegistry.java, + java/rmi/registry/Registry.java, + java/rmi/registry/RegistryHandler.java, + java/rmi/server/ExportException.java, + java/rmi/server/LoaderHandler.java, + java/rmi/server/LogStream.java, java/rmi/server/ObjID.java, + java/rmi/server/Operation.java, + java/rmi/server/RMIClassLoader.java, + java/rmi/server/RMIClientSocketFactory.java, + java/rmi/server/RMIFailureHandler.java, + java/rmi/server/RMIServerSocketFactory.java, + java/rmi/server/RMISocketFactory.java, + java/rmi/server/RemoteCall.java, + java/rmi/server/RemoteObject.java, java/rmi/server/RemoteRef.java, + java/rmi/server/RemoteServer.java, + java/rmi/server/RemoteStub.java, + java/rmi/server/ServerCloneException.java, + java/rmi/server/ServerNotActiveException.java, + java/rmi/server/ServerRef.java, java/rmi/server/Skeleton.java, + java/rmi/server/SkeletonMismatchException.java, + java/rmi/server/SkeletonNotFoundException.java, + java/rmi/server/SocketSecurityException.java, + java/rmi/server/UID.java, + java/rmi/server/UnicastRemoteObject.java, + java/rmi/server/Unreferenced.java, gnu/java/rmi/dgc/DGCImpl.java, + gnu/java/rmi/dgc/DGCImpl_Skel.java, + gnu/java/rmi/dgc/DGCImpl_Stub.java, + gnu/java/rmi/registry/RegistryImpl.java, + gnu/java/rmi/registry/RegistryImpl_Skel.java, + gnu/java/rmi/registry/RegistryImpl_Stub.java, + gnu/java/rmi/rmic/RMIC.java, gnu/java/rmi/rmic/TabbedWriter.java, + gnu/java/rmi/server/ProtocolConstants.java, + gnu/java/rmi/server/RMIDefaultSocketFactory.java, + gnu/java/rmi/server/RMIHashes.java, + gnu/java/rmi/server/RMIObjectInputStream.java, + gnu/java/rmi/server/RMIObjectOutputStream.java, + gnu/java/rmi/server/UnicastConnection.java, + gnu/java/rmi/server/UnicastConnectionManager.java, + gnu/java/rmi/server/UnicastRef.java, + gnu/java/rmi/server/UnicastRemoteCall.java, + gnu/java/rmi/server/UnicastRemoteStub.java, + gnu/java/rmi/server/UnicastServer.java, + gnu/java/rmi/server/UnicastServerRef.java: RMI implementation from + Kaffe. Relabelled classes to fit into Classpath tree. + * Makefile.in: Rebuilt. + * Makefile.am (rmi_java_source_files): New macro. + (ordinary_java_source_files): Reference it. + (bin_PROGRAMS): Added rmic and rmiregistry. + (rmic_SOURCES): New macro. + (EXTRA_rmic_SOURCES): Likewise. + (rmic_LDFLAGS): Likewise. + (rmic_LINK): Likewise. + (rmic_LDADD): Likewise. + (rmic_DEPENDENCIES): Likewise. + (rmiregistry_SOURCES): New macro. + (EXTRA_rmiregistry_SOURCES): Likewise. + (rmiregistry_LDFLAGS): Likewise. + (rmiregistry_LINK): Likewise. + (rmiregistry_LDADD): Likewise. + (rmiregistry_DEPENDENCIES): Likewise. + +2001-08-26 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * name-finder.cc (lookup): Ignore a null dli_fname from dladdr. + + * Makefile.am: New friends for java/lang/Thread.h. + * prims.cc (runFirst): Removed. + (JvRunMain): Merged into _Jv_RunMain. Now just calls that. + (_Jv_RunMain): Now takes either a klass or class name parameter. + Create a gnu.gcj.runtime.FirstThread and attach the native thread + to that, then run it using _Jv_ThreadRun. Remove special handling of + jar files, instead pass is_jar parameter through to FirstThread. + * gcj/javaprims.h: Add prototypes for _Jv_ThreadRun and new variant + 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 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. + * java/lang/Thread.java (run_): Removed. + * java/lang/natThread.cc (run_): Renamed to... + (_Jv_ThreadRun): this. JVMPI notification code moved to ... + (_Jv_NotifyThreadStart): here. New function. + (countStackFrames, destroy, resume, suspend, stop): Throw + UnsupportedOperationExceptions rather than JvFail'ing. + (_Jv_AttachCurrentThread): New variant takes a Thread argument. + Existing version wraps new variant. + + +2001-08-23 Tom Tromey <tromey@redhat.com> + + * java/lang/reflect/Field.java (toString): Use + Method.appendClassName. + * java/lang/reflect/Constructor.java (toString): Use + Method.appendClassName. + * java/lang/reflect/Method.java: Reindented. + (appendClassName): New method. + (toString): Use it. + * defineclass.cc (handleMethod ): Initialize `throws' field of + method. + (read_one_method_attribute): Handle Exceptions attribute. + * java/lang/reflect/natMethod.cc (ClassClass): Removed. + (ObjectClass): Removed. + (getType): Compute `exception_types'. + * java/lang/Class.h (struct _Jv_Method): Added `throws' field. + +2001-08-21 Anthony Green <green@redhat.com> + + * java/lang/natClassLoader.cc (findClass): Search for + lib-gnu-pkg-quux.so, not gnu-pkg-quux.so. + +2001-08-21 Jeff Sturm <jsturm@one-point.com> + + * java/util/IdentityHashMap.java (get): Fix off-by-one error. + (put): Likewise. + +2001-08-20 Tom Tromey <tromey@redhat.com> + + * java/awt/GridBagConstraints.java: Removed comment. + + * jni.cc (nathash, nathash_count, nathash_size): New globals. + (DELETED_ENTRY): New define. + (hash): New function. + (nathash_find_slot): Likewise. + (natrehash): Likewise. + (nathash_add): Likewise. + (_Jv_JNI_RegisterNatives): No longer interpreter-specific. Use + nathash_add. + (nathash_find): New function. + (_Jv_LookupJNIMethod): Use it. Synchronize body. + (call): Synchronize around assignment. + +2001-08-17 Jeff Sturm <jsturm@one-point.com> + + * gnu/gcj/convert/UnicodeToBytes.java (write): Write work buffer + starting from zero offset. + +2001-08-17 Hans-J. Boehm <Hans_Boehm@hp.com> + + * boehm.cc: Include gc_local_alloc.h if appropriate. + (GC_GENERIC_MALLOC): Don't define. + (MAYBE_MARK): Redefine for GC 6.0. + (_Jv_MarkObj): Mark class differently. + (_Jv_AllocArray): Use GC_generic_malloc. + +2001-08-17 Mark J Roberts <mjr@anarcast.net> + + * java/math/BigInteger.java (randBytes): New method. + (BigInteger(int,Random)): Use randBytes. + +2001-08-17 Tom Tromey <tromey@redhat.com> + + * gnu/gcj/convert/IOConverter.java: Add `646' alias. + +2001-08-17 Hans-J. Boehm <Hans_Boehm@hp.com> + + * BigInteger.java: fix right shifts by nonzero multiples of 32. + +2001-08-15 Tom Tromey <tromey@redhat.com> + + * jni.cc: Include IdentityHashMap.h, not Hashtable.h. + (local_ref_table, global_ref_table): Now IdentityHashMap. + (_Jv_JNI_Init): Updated for new types. + (mark_for_gc): Likewise. + (unmark_for_gc): Likewise. + * gcj/javaprims.h: Rebuilt class list. + * Makefile.in: Rebuilt. + * Makefile.am (core_java_source_files): Added new file. + * java/util/IdentityHashMap.java: New file. + + * gnu/gcj/convert/natIconv.cc (read): Handle EINVAL and E2BIG + correctly. + +2001-08-09 Tom Tromey <tromey@redhat.com> + + * java/awt/image/SampleModel.java (getPixel): Set correct array + element. From Chris Meyer. + +2001-08-10 Loren J. Rittle <ljrittle@acm.org> + + * java/lang/natObject.cc (is_mp): Protect use of _SC_NPROCESSORS_ONLN. + * gnu/gcj/convert/natIconv.cc (done): Use HAVE_ICONV. + +2001-08-06 Tom Tromey <tromey@redhat.com> + + * java/io/InputStreamReader.java (refill): Only call refill on + BufferedInputStream when appropriate constraints are met. + +2001-08-05 Tom Tromey <tromey@redhat.com> + + * java/io/StringWriter.java: Merged with Classpath. + * java/io/InputStream.java: Merged with Classpath. + * java/io/OutputStream.java: Merged with Classpath. + * java/io/PushbackInputStream.java: Merged with Classpath. + * java/io/CharArrayReader.java: Merged with Classpath. + * java/io/CharArrayWriter.java: Merged with Classpath. + +2001-08-02 Tom Tromey <tromey@redhat.com> + + * prims.cc (JNI_OnLoad): Don't declare. + (_JNI_OnLoad): Don't define. + (_Jv_CreateJavaVM): Don't handle JNI_OnLoad. + +2001-08-02 Tom Tromey <tromey@redhat.com> + + * java/io/RandomAccessFile.java (seek): Let seek go past end of + file. + (skipBytes): Don't fail if seeking past end of file. + * java/io/FileInputStream.java (skip): Don't fail if seeking past + end of file. + * java/io/natFileDescriptorWin32.cc (seek): Handle `eof_trunc' + argument. + * java/io/natFileDescriptorEcos.cc (seek): Handle `eof_trunc' + argument. + * java/io/natFileDescriptorPosix.cc (seek): Handle `eof_trunc' + argument. + * java/io/FileDescriptor.java (seek): Added `eof_trunc' argument. + +2001-08-02 Martin Kahlert <martin.kahlert@infineon.com> + + * jni.cc (JNI_CreateJavaVM): Call _Jv_JNI_Init in order + to initialize global_ref_table/local_ref_table. + +2001-08-02 Tom Tromey <tromey@redhat.com> + + * configure: Rebuilt. + * configure.in (THREADSPEC): Don't set THREADLIBS on Cygwin. From + David Billinghurst. + +2001-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * include/posix.h (_POSIX_PII_SOCKET): Define. + * configure.in (HAVE_SOCKLEN_T): Define. + * java/net/natPlainSocketImpl.cc [!HAVE_SOCKLEN_T]: Move socklen_t + definition up. + (_JV_accept): New function, avoids Tru64 UNIX accept macro. + (java::net::PlainSocketImpl::accept): Use it. + Fixes PRs libgcj/3694, libgcj/3696. + + * configure.in (HAVE_STRUCT_IPV6_MREQ): New test. + * acconfig.h (HAVE_STRUCT_IPV6_MREQ): Provide template. + * configure, include/config.h.in: Regenerate. + * java/net/natPlainDatagramSocketImpl.cc (union McastReq): Use it. + (mcastGrp): Likewise. + (java::net::PlainDatagramSocketImpl::setOption): Guard against + missing IPV6_MULTICAST_IF. + Fixes PR libgcj/3694. + +2001-08-01 Jeff Sturm <jsturm@one-point.com> + + * libgcj.spec.in: Pass -fkeep-inline-functions to jc1. + +2001-07-30 Christian Iseli <chris@ludwig-alpha.unil.ch> + + * Makefile.in: Rebuilt. + * Makefile.am (GCJLINK): Added --tag=GCJ. + (LIBLINK): Likewise. + +2001-07-30 Tom Tromey <tromey@redhat.com> + + * java/util/Date.java: Re-merged with Classpath. + +2001-07-30 Jeff Sturm <jsturm@one-point.com> + + * java/net/natPlainDatagramSocketImpl.cc: Undefine bind if defined. + (_Jv_bind): New static function. + (bind): Use _Jv_bind. + * java/net/natPlainSocketImpl.cc: Undefine bind, connect if defined. + (_Jv_bind, _Jv_connect): New static functions. + (bind): Use _Jv_bind. + (connect): Use _Jv_connect. + +2001-07-30 Tom Tromey <tromey@redhat.com> + Corey Minyard <minyard@acm.org> + + * gnu/gcj/convert/natIconv.cc (done): New methods. + * gnu/gcj/convert/Output_iconv.java (done): New method. + * gnu/gcj/convert/Input_iconv.java (done): New method. + * gnu/gcj/convert/UnicodeToBytes.java (defaultEncodingClass): + Removed. + (getDefaultEncodingClass): Removed. + (getDefaultEncoder): Use getEncoder. + (done): New method. + (defaultEncoding, CACHE_SIZE, encoderCache, currCachePos): New + static fields. + * gnu/gcj/convert/BytesToUnicode.java (defaultDecodingClass): + Removed. + (defaultEncoding, CACHE_SIZE, decoderCache, currCachePos): New + static fields. + (getDefaultDecodingClass): Removed. + (getDefaultDecoder): Use getDecoder. + (getDecoder): Look up decoder in cache. + (done): New method. + * java/lang/natString.cc (init): Call `done' on converter. + (getBytes): Likewise. + +2001-07-30 Tom Tromey <tromey@redhat.com> + + * java/lang/Integer.java: Merged with Classpath. + +2001-07-30 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/util/GregorianCalendar.java (GregorianCalendar): Call + setTimeInMillis() to set the default/current time. + +2001-07-29 Mark Wielaard <mark@klomp.org> + + * HACKING: add description on updating namespace + +2001-07-26 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/util/Calendar.java (set): Never recompute fields here. They + will already be set if someone set time explicitly, and it can cause + problems to do so. Don't invalidate AM_PM setting if HOUR is set. + * java/util/GregorianCalendar.java (computeTime): Don't ignore an + HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is + sane. + * java/text/SimpleDateFormat.java (defaultCentury): New field. + (readObject): Call set2DigitYearStart if appropriate so that + defaultCentury is calculated. + (SimpleDateFormat): Don't bother clearing calendar here. Call + computeCenturyStart(). + (set2DigitYearStart): Calculate and set defaultCentury. + (format): Don't clone the calendar. Use "calendar" not "theCalendar" + everywhere. + (parse): Likewise. If the pattern is "y" or "yy" and it found exactly + 2 numeric digits, use the 80-20 heuristic to parse the value into a + default century based on defaultCenturyStart. + (computeCenturyStart): Rewritten. Call set2DigitYearStart(). + +2001-07-25 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (libgcj.jar): Correctly fail when bytecode + compilation fails. + +2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * prims.cc (_JNI_OnLoad): New function. + (JNI_OnLoad): Use it. + (_Jv_CreateJavaVM): Check for _JNI_OnLoad, not NULL. + +2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS. + Makefile.in: Regenerate. + +2001-07-24 Tom Tromey <tromey@redhat.com> + + * java/lang/VMClassLoader.java (getPrimitiveClass): Return correct + type. + +2001-07-23 Tom Tromey <tromey@redhat.com> + + * gcj/javaprims.h: Rebuilt class list. + * Makefile.in: Rebuilt. + * Makefile.am (core_java_source_files): Added VMClassLoader. + * java/lang/VMClassLoader.java: New file. + * java/lang/Boolean.java: Merged with Classpath. + * java/lang/Byte.java: Merged with Classpath. + * java/lang/Integer.java: Merged with Classpath. + * java/lang/Long.java: Merged with Classpath. + * java/lang/Number.java: Merged with Classpath. + * java/lang/Short.java: Merged with Classpath. + +2001-07-22 Jeff Sturm <jsturm@one-point.com> + + * configure.host: Enable hash synchronization for alpha*-*. + * include/posix-threads.h (_Jv_ThreadSelf): Added inline + function for alpha. + * java/lang/natObject.cc (compare_and_swap, release_set, + compare_and_swap_release): Added inline functions for alpha. + +2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC + 2533 socket options IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, falling + back to old RFC 2133 variants if missing. + +2001-07-18 Tom Tromey <tromey@redhat.com> + + * java/io/natFileWin32.cc (_access): Renamed. + (_stat): Likewise. + * java/io/natFile.cc (_access): Renamed. + (_stat): Likewise. + * java/io/File.java (access, stat): Add leading `_' to name. + Updated all callers. + +2001-07-18 Tom Tromey <tromey@redhat.com> + + For PR java/2812: + * libgcj.spec.in (*lib): Added LIBICONV. + * configure: Rebuilt. + * configure.in: Call AM_ICONV. Don't check for iconv function. + Add parameters to JV_HASH_SYNCHRONIZATION define. + * acinclude.m4 (AM_ICONV): New macro, from Bruno Haible. + +2001-07-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/util/LinkedList.java (clone): Clear the copy list with clear(), + not by setting its size field. + +2001-07-13 Alexandre Petit-Bianco <apbianco@redhat.com> + + * include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): Removed unused + local `_ebp.' + +2001-07-12 Tom Tromey <tromey@redhat.com> + David Brownell <david-b@pacbell.net> + + Fix for PR libgcj/3426: + * gnu/gcj/convert/natIconv.cc: Include CharConversionException.h, + errno.h. + (read): Throw exception if character conversion fails. + * java/io/BufferedInputStream.java (refill): Now package-private. + * java/io/InputStreamReader.java (ready): Simplified. + (refill): New method. + (read): Use it. + +2001-07-12 Tom Tromey <tromey@redhat.com> + + Report from Henner Zeller: + * java/io/FileOutputStream.java (FileOutputStream): Throw + FileNotFoundException, not IOException. + +2001-07-10 Anthony Green <green@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am: Add new files. + * org/w3c/dom/Attr.java, org/w3c/dom/CDATASection.java, + org/w3c/dom/CharacterData.java, org/w3c/dom/Comment.java, + org/w3c/dom/DOMException.java, org/w3c/dom/DOMImplementation.java, + org/w3c/dom/Document.java, org/w3c/dom/DocumentFragment.java, + org/w3c/dom/DocumentType.java, org/w3c/dom/Element.java, + org/w3c/dom/Entity.java, org/w3c/dom/EntityReference.java, + org/w3c/dom/NamedNodeMap.java, org/w3c/dom/Node.java, + org/w3c/dom/NodeList.java, org/w3c/dom/Notation.java, + org/w3c/dom/ProcessingInstruction.java, org/w3c/dom/Text.java, + org/w3c/dom/ranges/DocumentRange.java, + org/w3c/dom/ranges/Range.java, + org/w3c/dom/ranges/RangeException.java, + org/w3c/dom/traversal/DocumentTraversal.java, + org/w3c/dom/traversal/NodeFilter.java, + org/w3c/dom/traversal/NodeIterator.java, + org/w3c/dom/traversal/TreeWalker.java, + org/xml/sax/ext/DeclHandler.java, + org/xml/sax/ext/LexicalHandler.java, + org/xml/sax/helpers/AttributeListImpl.java, + org/xml/sax/helpers/AttributesImpl.java, + org/xml/sax/helpers/DefaultHandler.java, + org/xml/sax/helpers/LocatorImpl.java, + org/xml/sax/helpers/NamespaceSupport.java, + org/xml/sax/helpers/ParserAdapter.java, + org/xml/sax/helpers/ParserFactory.java, + org/xml/sax/helpers/XMLFilterImpl.java, + org/xml/sax/helpers/XMLReaderAdapter.java, + org/xml/sax/helpers/XMLReaderFactory.java, + org/xml/sax/AttributeList.java, org/xml/sax/Attributes.java, + org/xml/sax/ContentHandler.java, org/xml/sax/DTDHandler.java, + org/xml/sax/DocumentHandler.java, org/xml/sax/EntityResolver.java, + org/xml/sax/ErrorHandler.java, org/xml/sax/HandlerBase.java, + org/xml/sax/InputSource.java, org/xml/sax/Locator.java, + org/xml/sax/Parser.java, org/xml/sax/SAXException.java, + org/xml/sax/SAXNotRecognizedException.java, + org/xml/sax/SAXNotSupportedException.java, + org/xml/sax/SAXParseException.java, org/xml/sax/XMLFilter.java, + org/xml/sax/XMLReader.java: New files. + +2001-07-10 Alexandre Petit-Bianco <apbianco@redhat.com> + + * Makefile.am: Added `java/lang/ThreadLocal.java'. + * Makefile.in: Regenerate. + * java/lang/ThreadLocal.java: Initial import. + +2001-07-07 Jeff Sturm <jsturm@one-point.com> + + * Makefile.am (libgcj.jar): Don't recursively make + built_java_source_files. Avoid long command lines. + Don't change to $(srcdir) to invoke javac. + (libgcj.la, libgcjx.la); Avoid long command lines. + ($(nat_headers),$(x_nat_headers)): Depend on libgcj.jar. + * Makefile.in: Rebuilt. + +2001-07-06 Andrew Haley <aph@cambridge.redhat.com> + + * include/i386-signal.h: Don't do anything with unsigned divide + overflow except throw an exception. + +2001-07-05 Tom Tromey <tromey@redhat.com> + + For PR java/3562: + * java/lang/Class.h (Class(void)): Now private. Removed + implementation. From dmorsberger@sensysdl.com. + +2001-07-02 Tom Tromey <tromey@redhat.com> + + Fix for PR bootstrap/3281: + * aclocal.m4, configure: Rebuilt. + * acinclude.m4 (LIBGCJ_CONFIGURE): Don't set libgcj_flagbasedir. + Correctly compute libgcj_basedir. + (mkinstalldirs): Define and subst. + +2001-07-01 Jeremy Nimmer <jwnimmer@alum.mit.edu> + + For PR libgcj/3523: + * java/io/LineNumberReader.java (reset): Pass correct arguments to + countLines. + +2001-06-27 Tom Tromey <tromey@redhat.com> + + * gnu/gcj/convert/IOConverter.java: Manually maintained alias now + lowercase. + +2001-06-25 Tom Tromey <tromey@redhat.com> + + * scripts/encodings.pl: Generate lower-case names. Updated URL + for `character-sets' file. + * gnu/gcj/convert/IOConverter.java (canonicalize): Convert name to + lower case. + Rebuilt list of aliases. + +2001-06-25 Tom Tromey <tromey@redhat.com> + + * java/io/natFileDescriptorPosix.cc (open): Change error message + formatting. From David Brownell. + +2001-06-21 Tom Tromey <tromey@redhat.com> + + * include/java-interp.h (_Jv_InterpClass): Use JV_MARKOBJ_DECL. + From Corey Minyard. + +2001-06-19 Mark J. Roberts <mjr@statesmean.com> + + * java/math/BigInteger.java (byteArrayToIntArray): Don't include + extraneous/malformed sign word. + +2001-06-15 Tom Tromey <tromey@redhat.com> + + * jni.cc (_Jv_JNI_NewLocalRef): Search other frames. + +2001-06-15 Tom Tromey <tromey@redhat.com> + + * java/lang/natRuntime.cc (_Jv_FindSymbolInExecutable): Return + NULL if no library on the list has the symbol. + (init): Call add_library on the program itself. + * prims.cc (JvRunMain): Initialize Runtime before searching for + `main'. + (_Jv_RunMain): Likewise. + +2001-06-15 Tom Tromey <tromey@redhat.com> + + * jni.cc (ClassClass): Removed; updated all users. + (ObjectClass): Likewise. + (ThrowableClass): Likewise. + (MethodClass): Likewise. + (ThreadGroupClass): Likewise. + (local_ref_table): Renamed from `ref_table'. + (global_ref_table): New global. + (_Jv_JNI_Init): Initialize both ref tables. + (mark_for_gc): Added `ref_table' parameter. + (unmark_for_gc): Likewise. Also, fail if we unreferenced too many + times. + (_Jv_JNI_NewGlobalRef): Updated for new mark function. + (_Jv_JNI_DeleteGlobalRef): Likewise. + (_Jv_JNI_DeleteLocalRef): Likewise. + (_Jv_JNI_NewLocalRef): Likewise. + (_Jv_JNI_PopLocalFrame): Likewise. + (_Jv_JNI_GetStringChars): Likewise. + (_Jv_JNI_ReleaseStringChars): Likewise. + (_Jv_JNI_GetPrimitiveArrayElements): Likewise. + (_Jv_JNI_ReleasePrimitiveArrayElements): Likewise. + +2001-06-14 Tom Tromey <tromey@redhat.com> + + Fix for PR libgcj/3144: + * java/util/Date.java: Merged with Classpath. + +2001-06-12 Tom Tromey <tromey@redhat.com> + + * aclocal.m4, configure: Rebuilt. + * acinclude.m4: Find configure.host in srcdir. + +2001-06-07 Tom Tromey <tromey@redhat.com> + + Fix for PR libgcj/3059: + * java/lang/natSystem.cc (init_properties): Define `java.home'. + * Makefile.in: Rebuilt. + * Makefile.am (AM_CXXFLAGS): Define PREFIX. + +2001-06-10 Alexandre Petit-Bianco <apbianco@redhat.com> + + * exception.cc (cstdlib): Replaces stdlib.h. + (_Jv_Throw): Use std::abort(). + (PERSONALITY_FUNCTION): Likewise. + +2001-06-09 Alexandre Oliva <aoliva@redhat.com>, Stephen L Moshier <moshier@mediaone.net> + + * acinclude.m4 (AC_EXEEXT): Work around in case it expands to + nothing, as in autoconf 2.50. + * aclocal.m4, configure: Rebuilt. + +2001-06-08 Tom Tromey <tromey@redhat.com> + + * configure: Rebuilt. + * configure.in: Compute new aux dir using `pwd'. + +2001-06-07 Tom Tromey <tromey@redhat.com> + + For PR bootstrap/3075: + * configure, aclocal.m4, Makefile.am: Rebuilt. + * configure.in: Pass `--with-auxdir' to subdir configure. Don't + call AC_CONFIG_AUX_DIR or AC_CANONICAL_SYSTEM. Look for unwind.h + relative to libgcj_basedir. + * acinclude.m4 ((LIBGCJ_CONFIGURE): Call AC_CONFIG_AUX_DIR and + AC_CANONICAL_SYSTEM here. + * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Use srcdir, not + libgcj_basedir. + ($(extra_headers)): New target. + +2001-06-05 Martin Kahlert <martin.kahlert@infineon.com> + 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 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. + +2001-06-04 Tom Tromey <tromey@redhat.com> + + * java/security/PublicKey.java: Extend Key. + * java/security/PrivateKey.java: Extend Key. + +2001-06-02 Anthony Green <green@redhat.com> + + * java/lang/natRuntime.cc (_Jv_FindSymbolInExecutable): Provide an + alternate when USE_LTDL not defined. + +2001-06-02 Anthony Green <green@redhat.com> + + * configure: Rebuild. + * configure.in: Remove data_start hack. + * libgcj.spec.in: Ditto. + * Makefile.in: Rebuild. + * Makefile.am: Ditto. + * libgcjdata.c: Remove. + +2001-06-02 Anthony Green <green@redhat.com> + + * configure: Rebuild. + * configure.in (LIBFFIINCS, LIBFFI): Introduce. Add + --without-libffi option. Tweak --disable-java-net processing. + * Makefile.in: Rebuild. + * Makefile.am (LIBFFIINCS, LIBFFI): Use. + * include/config.h.in: Rebuild. + * acconfig.h (USE_LIBFFI): Define. + * java/lang/reflect/natMethod.c: Use USE_LIBFFI. + +2001-06-02 Anthony Green <green@redhat.com> + + * configure: Rebuilt. + * configure.in: Test for sigaction on native builds. + * prims.cc: Check HAVE_SIGACTION. + * include/config.h.in: Rebuilt. + +2001-05-31 Jeff Sturm <jsturm@one-point.com> + + * natFile.cc (get_entry): Removed functions. + (performList): Call readdir or readdir_r if HAVE_READDIR_R defined. + Allocate enough storage for d_name if using readdir_r. + +2001-05-31 Tom Tromey <tromey@redhat.com> + + * java/io/natFileDescriptorPosix.cc (open): Allocate buffer to + correct size. + (write): Loop until write completes. From Corey Minyard. + +2001-05-29 Laurent Guerby <guerby@acm.org> + + * java/awt/geom/Rectangle2D.java: fix doc typo. + +2001-05-31 Tom Tromey <tromey@redhat.com> + + * java/sql/DriverManager.java (getDrivers): Handle case where + driver's class loader is null. From Corey Minyard. + +2001-05-29 Tom Tromey <tromey@redhat.com> + + * include/jvm.h (_Jv_ThrowNoMemory): Mark as noreturn. + + * configure: Rebuilt. + * configure.in: Only add multilib support code if we just rebuilt + top-level Makefile. + +2001-05-29 Andrew Haley <aph@redhat.com> + + * include/i386-signal.h (MAKE_THROW_FRAME): Don't fix up frame + pointer: the dwarf unwinder in libgcc will do everything that's + needed. + (HANDLE_DIVIDE_OVERFLOW): Tidy. Don't mess with stack frames any + more than we absolutely need to. + * configure.host (EXCEPTIONSPEC): Remove libgcj_sjlj on Alpha. + * configure.in (SIGNAL_HANDLER): Use include/dwarf2-signal.h on + Alpha. + (SIGNAL_HANDLER): Test "$enable_sjlj_exceptions", not + "$libgcj_sjlj". + * configure: Rebuilt. + * include/dwarf2-signal.h (MAKE_THROW_FRAME): Adjust PC + for Alpha. + (SIGNAL_HANDLER): Use siginfo style handler. + (INIT_SEGV): Likewise. + (INIT_FPE): Likewise. + * include/ppc-signal.h: Delete whole file. + +2001-05-24 Tom Tromey <tromey@redhat.com> + + * java/lang/natString.cc (init): Throw + ArrayIndexOutOfBoundsException. + (getChars): Likewise. + (getBytes): Likewise. + (valueOf): Likewise. + + * configure.in: Only allow hash synchronization when POSIX threads + are enabled. + * java/lang/natObject.cc (alloc_heavy): Properly find `init' field + of sync info object. + +2001-05-23 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (AM_CXXFLAGS): Remove -fvtable-thunks. + + Revert patch of 2001-05-21: + * Makefile.am (libgcj_la_DEPENDENCIES): Removed nat_files. + (libgcj_la_LIBADD): Likewise. + (libgcjx_la_DEPENDENCIES): Removed x_nat_files. + (libgcjx_la_LIBADD): Likewise. + + * posix-threads.cc (_Jv_self_cache): Renamed from self_cache. + * gcj/Makefile.in: Rebuilt. + * gcj/Makefile.am (gcj_HEADERS): Added libgcj-config.h. + * gcj/javaprims.h: Include gcj/libgcj-config.h. + * gcj/libgcj-config.h.in: New file. + * libgcj.spec.in (*jc1): Added @HASH_SYNC_SPEC@. + * configure: Rebuilt. + * configure.in: Enable hash synchronization by default on some + platforms. + (HASH_SYNC_SPEC): New subst. + (AC_CONFIG_HEADER): Added gcj/libgcj-config.h. + Correctly use `test -z' instead of `test -n' in a couple places. + (JV_HASH_SYNCHRONIZATION): Use AC_DEFINE; don't add to + LIBGCJ_CXXFLAGS. + * configure.host (enable_java_net_default): Initialize. + (enable_hash_synchronization_default): New variable. + +2001-05-23 Hans Boehm <Hans_Boehm@hp.com> + + * boehm.cc (_Jv_MarkObj): Don't mark sync_info when hash + synchronization in use. + (_Jv_MarkArray): Likewise. + (_Jv_AllocBytes): Don't check return result. + (handle_out_of_memory): New function. + (_Jv_InitGC): Set GC_oom_fn. + (trace_one_vtable): New global. + (_Jv_AllocTraceOne): New function. + * configure.in: Added --enable-hash-synchronization. + * defineclass.cc, prims.cc, resolve.cc, java/lang/natString.cc, + java/net/natInetAddress.cc: Remove _Jv_AllocBytesChecked. + * nogc.cc (_Jv_AllocObj): Throw out-of-memory. + (_Jv_AllocArray): Likewise. + (_Jv_AllocBytes): Likewise. + (_Jv_AllocPtrFreeObject): New function. + (_Jv_AllocTraceOne): Likewise. + * posix-threads.cc (_Jv_ThreadRegister): Handle slow + pthread_self(). + (self_cache): New global. + (_Jv_ThreadSelf_out_of_line): New function. + * prims.cc (_Jv_AllocBytesChecked): Removed. + (_Jv_ThrowNoMemory): New function. + (_Jv_AllocObject): Don't check for null return from allocator. + (_Jv_NewObjectArray): Likewise. + (_Jv_AllocPtrFreeObject): New function. + (_Jv_NewPrimArray): Allocate pointer-free object if possible. + * include/javaprims.h (_Jv_AllocPtrFreeObject): Declare. + (_Jv_MonitorEnter, _Jv_MonitorExit): Don't return value. + * include/boehm-gc.h (_Jv_AllocObj): Define. + (_Jv_AllocPtrFreeObj): Define. + * include/jvm.h (_Jv_AllocPtrFreeObj): Declare. + (_Jv_ThrowNoMemory): Declare. + (_Jv_AllocTraceOne): Declare. + (_Jv_AllocBytesChecked): Removed. + * include/posix-threads.h (_Jv_MutexInit, _Jv_MutexLock, + _Jv_MutexUnlock): Handle LOCK_DEBUG. + (_Jv_ThreadSelf): Handle case where system pthread_self() is + slow. + * java/lang/Class.h (Class): Declare _Jv_AllocPtrFreeObj as + friend. + * java/lang/Object.h (sync_info): Conditional upon presence of + hash synchronization. + * java/lang/natObject.cc: Much new code to handle thin locks and + hash synchronization. + * java/lang/natString.cc (_Jv_AllocString): Allocate pointer-free + object if possible. + +2001-05-23 Joseph S. Myers <jsm28@cam.ac.uk> + + * gij.cc (version): Update copyright year. + +2001-05-22 Anthony Green <green@redhat.com> + + * configure.in: Tweak canadian cross test, and don't redefine GCJ + for cross builds. + +2001-05-21 Per Bothner <per@bothner.com> + + Implement invocation interface; don't create new thread for main. + * java/lang/Thread.java (gen_name): Make native. + (<init>(Thread,THreadGroup,Runnable,String)): New private + constructor, used by other constructors, and _Jv_AttachCurrentThread. + * java/lang/natThread.cc (gen_name): New implementation. + (_Jv_AttachCurrentThread, _Jv_DetachCurrentThread): New. + * prims.cc (main_init): Removed, replaced by _Jv_CreateJavaVM. + (_Jv_CreateJavaVM): New runtime initialization procedure. + (runFirst): New proecdure - mostly code from old FirstThread::run. + (JvRunMain, _Jv_RunMain): Re-write to use new invocation code. + * gcj/cni.h (JvCreateJavaVM, JvAttachCurrentThread, + JvDetachCurrentThread): New inline wrappers. + * gcj/javaprims.h (_Jv_CreateJavaVM, _Jv_AttachCurrentThread, + _Jv_DetachCurrentThread): New declarations. + * gnu/gcj/runtime/FirstThread.java: Gutted. Now contains only ... + (getMain): new static method. + * gnu/gcj/runtime/natFirstThread.cc: Removed; run method replaced + by runFirst in prims.cc. + (java/lang/Thread.h): Update for new invocation interface. + * include/posix-threads.h (_Jv_ThreadRegister, + _Jv_ThreadUnRegister): New declarations. + * posix-threads.cc (_Jv_ThreadRegister, _Jv_ThreadUnRegister): New. + (really_start): Use new _Jv_ThreadRegister. + * include/no-threads.h (_Jv_ThreadInitData): No longer inline. + (_Jv_ThreadRegister, _Jv_ThreadUnRegister): New empty inlines. + * no-threads.cc (_Jv_ThreadInitData): Set _Jv_OnlyThread here. + Complain of called when _Jv_OnlyThread already set. + (_Jv_ThreadStart): Always JvFail. + * include/win32-threads.h (_Jv_Thread_t): New thread_obj field. + (_Jv_ThreadRegister, _Jv_ThreadUnRegister): New declarations. + * win32-threads.cc (struct starter): Remove objet field - + we use _Jv_Thread_t's new thread_obj field instead. + (_Jv_ThreadInitData): Set _Jv_Thread_t's thread_obj field. + (_Jv_ThreadRegister, _Jv_ThreadUnRegister): New. + (really_start): Use new _Jv_ThreadRegister. + * jni.cc (_Jv_JNI_AttachCurrentThread): Use _Jv_AttachCurrentThread. + (_Jv_JNI_DetachCurrentThread): Use _Jv_DetachCurrentThread. + * gnu/gcj/jni/NativeThread.java, gnu/gcj/jni/natNativeThread.cc: + Removed - no longer needed with new invocation interface. + * Makefile.am: Update for removed/added files. + +2001-05-21 Per Bothner <per@bothner.com> + + * Makefile.am (libgcj_la_DEPENDENCIES): Add $(nat_files). + (libgcj_la_LIBADD): Likewise. + (libgcjx_la_DEPENDENCIES, libgcjx_la_LIBADD): Add $(x_nat_files). + +2001-05-21 Per Bothner <per@bothner.com> + + * gcj/javaprims.h (_Jv_FormatInt): New declaration. + * java/lang/natString.cc (_JvFormatInt): New primitive, with logic + taken from old Integer.toString code. + (Integer::valueOf): Use _Jv_FormatInt. + * java/lang/Integer.java (toString): Just use call String.valueOf. + * java/lang/Long.java (toString): Fix typo in comment. + * java/lang/String.java (valueOf(int)): Make native. + * java/lang/StringBuffer.java (append(int)): Make native. + * java/lang/natStringBuffer.cc: New file, for append(jint). + * Makefile.am (nat_source_files): Add java/lang/natStringBuffer.cc. + +2001-05-21 Tom Tromey <tromey@redhat.com> + + * gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Now public. + +2001-05-18 Andrew Haley <aph@cambridge.redhat.com> + + * include/dwarf2-signal.h: New file. + * configure.in (SYSDEP_SOURCES): Add dwarf2-signal.h for PPC. + * configure.host (EXCEPTIONSPEC): Don't use sjlj on PPC. + * configure: Rebuilt. + +2001-05-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * configure.in: Update boehm-gc include dir for new GC version. + * configure: Rebuilt. + * exception.cc: Only include <gc.h>. Remove TRUE/FALSE hacks and + extern "C" wrapper. + * boehm.cc: Update includes for new GC version. MAKE_PROC is now + GC_MAKE_PROC. mark_proc is now GC_mark_proc. + * posix-threads.cc: Only include <gc.h>. Don't need to wrap with + extern "C". + +2001-05-18 Alexandre Petit-Bianco <apbianco@redhat.com> + + * include/posix-threads.h (_Jv_CondInit): `0' used in place of `NULL.' + (_Jv_MutexInit): Likewise. + +2001-05-18 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (awt_java_source_files): Added Polygon.java. + +2001-05-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * include/jvm.h: Move "#pragma GCC java_exceptions" to ... + * gcj/javaprims.h: ... here. + * gnu/gcj/io/shs.cc: Add "#pragma GCC java_exceptions". + +2001-05-17 Martin Kahlert <martin.kahlert@infineon.com> + + * java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error + with length of ioffset table. + (_Jv_IsAssignableFrom): Likewise. + +2001-05-17 Per Bothner <per@bothner.com> + + * Makefile.am (ZIP): The "fastjar" binary is now plain "jar". + +2001-05-16 Tom Tromey <tromey@redhat.com> + + * java/text/SimpleDateFormat.java (parse): Handle non-dst time + zones. + +2001-05-15 Tom Tromey <tromey@redhat.com> + + * java/util/GregorianCalendar.java (computeTime): Only call + getTimeZone() once. + +2001-05-14 Tom Tromey <tromey@redhat.com> + + * java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and + ZONE_OFFSET just before computing the time. + +2001-05-12 Zack Weinberg <zackw@stanford.edu> + + * Makefile.am (libgcj_la_OBJECTS): Remove libsupc++convenience.la. + * Makefile.in: Regenerate (by hand). + * include/jvm.h: Add #pragma GCC java_exceptions at top of file. + * doc/cni.sgml: Document #pragma GCC java_exceptions. + +2001-05-11 Richard Henderson <rth@redhat.com> + + * configure.in (ia64-*): Don't set SYSDEP_SOURCES. + * java/lang/natThrowable.cc: Don't use __ia64_backtrace. + +2001-05-11 Richard Henderson <rth@redhat.com> + + * exception.cc: Include unwind-pe.h. Remove all pointer + encoding logic. + +2001-05-10 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (awt_java_source_files): Added Polygon.java. + * java/awt/Polygon.java: New file. + + * java/awt/geom/AffineTransform.java + (setToRotation(double,double,double)): New method. + (AffineTransform): Set type to TYPE_GENERAL_TRANSFORM. + (setToShear): Likewise. + +2001-05-10 Tom Tromey <tromey@redhat.com> + + * java/util/GregorianCalendar.java: Imported from Classpath. + * gnu/java/locale/LocaleInformation_nl.java: New file from + Classpath. + * gnu/java/locale/LocaleInformation_en.java: Likewise. + * gnu/java/locale/LocaleInformation_de.java: Likewise. + * gnu/java/locale/LocaleInformation.java: Likewise. + * natGregorianCalendar.cc: Removed. + * Makefile.in: Rebuilt. + * Makefile.am (nat_source_files): Removed + natGregorianCalendar.cc. + +2001-05-10 Tom Tromey <tromey@redhat.com> + + * java/text/SimpleDateFormat.java (computeCenturyStart): New + method. + (defaultCenturyStart): Use it. + (readObject): Likewise. + (SimpleDateFormat): Clear the calendar. Set the grouping on the + number format. + (parse): Copy the calendar before modifying it. Correctly handle + the time zone. + + * java/util/Calendar.java (clear): Set field value(s) to 0. + +2001-05-10 Jeff Sturm <jsturm@one-point.com> + + * Calendar.java (get): Clear areFieldsSet if requested field + is not set. + (set): Unset fields that depend on new value. + +2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/lang/Class.h (_Jv_Self): New union type. + (Class): Manipulate vtable pointer via _Jv_Self union. Thanks to + Jeff Sturm and Fergus Henderson. + +2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/lang/ClassLoader.java: Remove dead code fragment. + +2001-05-03 Martin Kahlert <martin.kahlert@infineon.com> + + * jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds + checking. + (_Jv_JNI_SetPrimitiveArrayRegion): Likewise. + +2001-04-30 Andrew Haley <aph@cambridge.redhat.com> + + * libgcj.spec.in (jc1): Add EXCEPTIONSPEC. + * configure.host (EXCEPTIONSPEC): New. + * configure.in (EXCEPTIONSPEC): New. + * configure: Rebuilt. + +2001-05-02 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * doc/*.texi: Remove generated documentation. + +2001-04-30 Matt Kraai <kraai@alumni.carnegiemellon.edu> + + * java/io/natFile.cc (performSetReadOnly): Fix #ifdef test. + (performDelete): Fix #endif placement. + +2001-04-27 Zack Weinberg <zackw@stanford.edu> + + * prims.cc (_Jv_ThisExecutable): Use _Jv_Malloc. + * posix-threads.cc (_Jv_ThreadInitData): Use _Jv_Malloc. + (_Jv_ThreadDestroyData): Use _Jv_Free. + * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader): + Use _Jv_Malloc. + +2001-04-27 Tom Tromey <tromey@redhat.com> + + * jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds + checking. + (_Jv_JNI_SetPrimitiveArrayRegion): Likewise. + +2001-04-27 Martin Kahlert <martin.kahlert@infineon.com> + + * include/jni.h (struct JNINativeInterface): Fixed types in + Get/Set*ArrayRegion declarations. + (class _Jv_JNIEnv): Likewise. + +2001-04-26 Alexandre Oliva <aoliva@redhat.com> + + * configure.in: Obtain THREADS with `gcc -v'. + * configure: Rebuilt. + +2001-04-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + Fix PR libgcj/2237: + * java/io/ObjectStreamClass.java (setClass): Calculate + serialVersionUID for local class and compare it against the UID + from the Object Stream. Throw InvalidClassException upon mismatch. + (setUID): Renamed to... + (getClassUID): this. Return the calculated class UID rather than + setting uid field directly. + (getDefinedSUID): Removed. + * java/io/ObjectInputStream.java (resolveClass): Use the + three-argument Class.forName(). + * java/io/InvalidClassException (toString): Don't include classname in + result if it is null. + +2001-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * java/net/natInetAddress.cc (java::net::InetAddress::aton): + Wrap use of inet_pton in HAVE_INET6. + +2001-04-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + java.security merge and ClassLoader compliance fixes. + + * java/lang/Class.h (Class): Include ProtectionDomain.h. + New protectionDomain field. + (forName): Add initialize parameter. Fixes declaration to comply with + JDK spec. + * java/lang/natClass.cc (forName): Correct declaration of the three-arg + variant. Honour "initialize" flag. + (getProtectionDomain0): New method. + * java/lang/Class.java: Fix forName() declaration. + (getPackage): New method based on Classpath implementation. + (getProtectionDomain0): New native method decl. + (getProtectionDomain): New method. + * java/lang/ClassLoader.java (getParent): Now final. + (definedPackages): New field. + (getPackage): New. + (defineClass): New variant with protectionDomain argument. + (definePackage): New. + (getPackages): New. + (findSystemClass): Now final. + (getSystemResourceAsStream): Remove redundant "final" modifier. + (getSystemResource): Remove redundant "final" modifier. + (getResources): Now final. + (protectionDomainPermission): New static field. + (unknownProtectionDomain): Ditto. + (defaultProtectionDomain): Ditto. + (getSystemClassLoader): Now non-native. + * java/util/ResourceBundle.java (tryGetSomeBundle): Use the correct + arguments for Class.forName(). + * java/lang/Package.java: New file. + * gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): Removed. + (instance): Static initialize singleton. + (findClass): Override this, not findSystemClass. + * java/lang/natClassLoader.cc (defineClass0): Set class's + protectionDomain field as specified. + (getSystemClassLoader): Removed. + (findClass): Renamed from findSystemClass. Call the interpreter via + URLClassLoader.findClass if loading class via dlopen fails. + + * java/security/*.java: java.security import/merge with Classpath. + * java/security/acl/*.java: Likewise. + * java/security/interfaces/*.java: Likewise. + * java/security/spec/*.java: Likewise. + * java/net/NetPermission.java: Likewise. + * java/net/SocketPermission.java: Likewise. + * gnu/java/security/provider/DefaultPolicy.java: Likewise. + + * Makefile.am: Add new classes. + * Makefile.in: Rebuilt. + * gcj/javaprims.h: CNI namespace rebuild. + +2001-04-24 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (CPPFLAGS): Added builddir and srcdir to CPPFLAGS + for libtool tests. Pre-create gnu/classpath/Configuration.java. + * configure: Rebuilt. + +2001-04-21 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (awt_java_source_files): Added Line2D.java. + * java/awt/geom/Line2D.java: Wrote. + + * java/awt/Menu.java (addNotify): Wrote. + + * java/awt/PopupMenu.java (addNotify): Implemented. + (show): Likewise. + + * java/awt/Scrollbar.java (addNotify): Call super.addNotify. + * java/awt/List.java (addNotify): Call super.addNotify. + * java/awt/Label.java (addNotify): Call super.addNotify. + * java/awt/FileDialog.java (addNotify): Call super.addNotify. + * java/awt/Dialog.java (addNotify): Call super.addNotify. + * java/awt/Choice.java (addNotify): Call super.addNotify. + * java/awt/CheckboxMenuItem.java (addNotify): Call super.addNotify. + * java/awt/Checkbox.java (addNotify): Call super.addNotify. + + * java/awt/List.java (replaceItem): Notify peer. + + * java/awt/geom/Rectangle2D.java + (Float.setRect(float,float,float,float)): New method. + + * java/awt/event/ContainerEvent.java (getContainer): Now returns + Container. + + * java/awt/RenderingHints.java (Key): Class now public. + + * java/awt/Rectangle.java (Rectangle): Now implements + Serializable. + (getPathIterator): Removed. + + * java/awt/GraphicsConfiguration.java (GraphicsConfiguration): New + constructor. + + * java/awt/FileDialog.java: Wrote. + + * java/awt/EventQueue.java (isDispatchThread): Now public. + (invokeLater): Likewise. + + * java/awt/Component.java (setCursor): Update peer. + (getFontMetrics): Use peer. + + * java/awt/ComponentOrientation.java (ComponentOrientation): Class + now final. + +2001-04-20 Tom Tromey <tromey@redhat.com> + + * java/awt/List.java: Wrote. + * java/awt/Dialog.java: Wrote. + +2001-04-20 Warren Levy <warrenl@redhat.com> + + * java/lang/natSystem.cc (getSystemTimeZone): Adjust for DST. + * java/text/SimpleDateFormat.java + (indexInArray): Removed private method. + (processYear): Removed private method. + (parseLenient): Removed private method. + (parseLeadingZeros): Removed private method. + (parseStrict): Removed private method. + (expect): Added new private method. + (parse): Reverted to pre-Classpath merge version with minor fixes. + * java/util/natGregorianCalendar.cc (computeTime): Handle strict + calendars. + +2001-04-12 Bryce McKinlay <bryce@albatross.co.nz> + + * java/io/File.java (normalizePath): New private method. + (File (String)): Use normalizePath(). + (File (String, String)): Likewise. + + * Makefile.am (libffi_files): Removed. + (libgcj.la): Link libffi as a convenience library instead of + refering to its object files directly. + * Makefile.in: Rebuilt. + +2001-04-08 Per Bothner <per@bothner.com> + + * java/lang/natString.cc (_Jv_NewStringUtf8Const): Register finalizer. + Recalculate hash, since Utf8Const's hash is only 16 bits. + + * java/lang/natString.cc (_Jv_StringFindSlot, rehash): Use high-order + bits of hash to calculate step for chaining. + + * java/lang/natString.cc (intern, _Jv_NewStringUtf8Const): Rehash + when 2/3 full, rather than 3/4 full. + +2001-04-06 Tom Tromey <tromey@redhat.com> + + * jni.cc (wrap_value<jobject>, wrap_value<jclass>): Removed. + (wrap_value<T*>): New specialization. + (_Jv_JNI_PopLocalFrame): Update env->locals. + +2001-04-05 Tom Tromey <tromey@redhat.com> + + * libtool-version: Updated current. + +2001-04-04 Andreas Jaeger <aj@suse.de> + + * gcj/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo. + * gcj/Makefile.in: Rebuilt. + * Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo. + * Makefile.in: Rebuilt. + * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo. + * testsuite/Makefile.in: Rebuild. + * include/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo. + * include/Makefile.in: Rebuild. + +2001-04-02 Zack Weinberg <zackw@stanford.edu> + + * testsuite/lib/libjava.exp: Correct typo: 'output from source + compiled test', not 'execution from source compiled test'. + Use UNTESTED, not XFAIL, for tests which are not run because + they depend on a previous test which failed. + +2001-04-02 Richard Henderson <rth@redhat.com> + + * configure.in (GCC_UNWIND_INCLUDE): Assume we're built within + the same tree as gcc. + * configure: Rebuilt. + + * exception.cc (_Jv_Throw): Clarify commentary. + +2001-04-02 Marcus G. Daniels <mgd@swarm.org> + + * jni.cc (wrap_value<jclass>): New specialization. + +2001-04-02 Tom Tromey <tromey@redhat.com> + + * java/io/PrintStream.java (out): Removed field. Fixes PR + java/2449. + (write): Call flush, not out.flush, per spec. + (close): Flush output stream, per spec. Handle + InterruptedIOException. + (checkError): Likewise. + (flush, print, write): Handle InterruptedIOException per spec. + (PrintStream): Don't create BufferedOutputStream. + (work_bytes): New field. + (writeChars): Use work_bytes. Don't assume `out' is a + BufferedOutputStream. + +2001-04-02 Torsten Rueger <torsten.rueger@firsthop.com> + + * java/text/MessageFormat.java (setLocale): Added missing `else'. + For PR libgcj/2429. + +2001-03-30 Tom Tromey <tromey@redhat.com> + + * jni.cc (add_char): Correctly encode non-ascii characters. + (add_char): Define even when INTERPRETER not defined. + (mangled_name): Likewise. + (_Jv_GetJNIEnvNewFrame): Likewise. + (_Jv_LookupJNIMethod): Likewise. + +2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca> + + * configure.host: Enable interpreter for PPC. + +2001-04-02 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/natSystem.cc (init_properties): Revert yesterday's changes + to "file.separator", "path.separator", and "java.io.tmpdir" property + initialization. + * java/io/File.java: Likewise. + * java/io/natFile.cc (init_native): Likewise. + * java/io/natFileWin32.cc (init_native): Likewise. + +2001-04-01 Per Bothner <per@bothner.com> + + * java/lang/natString.cc (intern): If string's data does not point to + this String, make a fresh String that does. + + * java/lang/natString.cc (unintern): Replace by static function. + * java/lang/String.java (unintern): Remove method. + +2001-04-01 Per Bothner <per@bothner.com> + + * DeflaterOutputStream.java (deflate): Loop while def.needsInput. + (finish): def.deflate needs to be called in a loop. + (inbuf, inbufLength): New private fields. + (write(int)): Use inbuf. + (write(byte[],int,int): Check if pending output in inbuf. + * ZipOutputStream.java: Don't use Deflater if stored. + Use a Checksum object directly, not via a CheckedOutputStream. + (uncompressed_size): New field, + (closeEntry): Only write data_directory if needed. + (write): If STORED, write directly. + Always update crc, and uncompressed_size. + (write_entry): Fix lots of protocol erors. + +2001-04-01 Bryce McKinlay <bryce@albatross.co.nz> + + 1.3-Compliant Implementation of java.io.File. + * java/lang/natSystem.cc (init_properties): Get "file.separator", + "path.separator", and "java.io.tmpdir" from the File class, instead + of setting them explicitly. + * java/io/File.java: Do not canonicalize paths for security manager + checks. Call init_native() from static initializer. Do not pass path + argument to native methods. New native method declarations. Some + security manager checks moved to checkWrite(). + (equals): Check file system case sensitivity and act appropriatly. + (hashCode): Likewise. + (isHidden): New method implemented. + (performList): Changed prototype. Now takes a class argument specifying + the class of the returned array: Strings or File objects. Also added + FileFilter argument. + (listFiles): New variants with "File" return type implemented. + (createTempFile): Use createNewFile(). Use maxPathLen. + (setReadOnly): New method implemented. + (listRoots): Likewise. + (compareTo): Likewise. + (setLastModified): Likewise. + (checkWrite): New method. + (setPath): Removed. + * java/io/natFile.cc: Various functions no longer take canonical path + argument. + (stat): Handle ISHIDDEN query. + (isAbsolute): Remove WIN32 cruft. + (performList): New arguments. Handle returning either File[] or String[] + arrays. Check with FileFilter or FilenameFilter arguments as + appropriate. Use an ArrayList, not a Vector, for the temporary list. + (performSetReadOnly): New method implemented. + (performListRoots): Likewise. + (performSetLastModified): Likewise. + (performCreate): Likewise. + (init_native): New initialization function. + * java/io/natFileWin32.cc: Various functions no longer take canonical + path argument. + (stat): Add FIXME about ISHIDDEN query. + (performList): New arguments. Handle returning either File[] or String[] + arrays. Check with FileFilter or FilenameFilter arguments as + appropriate. Use an ArrayList, not a Vector, for the temporary list. + (performSetReadOnly): New. Stubbed. + (performListRoots): Likewise. + (performSetLastModified): Likewise. + (performCreate): Likewise. + (init_native) New initialization function. + * configure.in: Check for utime() and chmod(). + * configure: Rebuilt. + * include/config.h.in: Rebuilt. + + Resolves PR libgcj/1759. + +2001-03-28 Richard Henderson <rth@redhat.com> + + IA-64 ABI Exception Handling: + * Makefile.am (GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE. + (AM_CXXFLAGS): -fnon-call-exceptions not -fasynchronous-exceptions. + Remove EXCEPTIONSPEC. + * configure.host (libgcj_sjlj): Remove. + * configure.in (EXCEPTIONSPEC): Remove. + (enable-sjlj-exceptions): Detect if not specified. + (GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE; change + what header we're looking for. + * libgcj.spec.in (jc1): Remove EXCEPTIONSPEC. + * Makefile.in, configure: Regenerate. + * exception.cc: Don't declare libgcc2 stuff. + (java_eh_info, _Jv_type_matcher, _Jv_exception_info): Remove. + (_Jv_eh_alloc, _Jv_eh_free, _Jv_setup_eh_info): Remove. + (win32_get_restart_frame): Remove. + (struct java_exception_header): New. + (__gcj_exception_class): New. + (get_exception_header_from_ue): New. + (_Jv_Throw): Rewrite for IA-64 ABI unwind routines. + (size_of_encoded_value, read_encoded_value): New. + (read_uleb128, read_sleb128, parse_lsda_header): New. + (get_ttype_entry, __gcj_personality_sj0): New. + * gcj/javaprims.h (_Jv_Sjlj_Throw): Remove. + +2001-03-27 Joerg Brunsmann <joerg_brunsmann@yahoo.de> + + * javax/naming/InitialContext.java (init): Fix typo. + (composeName): Remove unnecessary semicolon. + (addToEnvironment): Remove unnecessary semicolon. + (addToEnvironment): Use put() instead of add(). + + * javax/naming/InitialContext.java (InitialContext): + Make public. + (destroySubcontext): Method doesn't return a result. + * javax/naming/Context.java: Import java.util.Hashtable. + * javax/naming/Name.java: Import java.util.Enumeration. + +2001-03-27 Bryce McKinlay <bryce@albatross.co.nz> + + * Makefile.am (libffi_files): Use 'find' to pick up libffi libtool + objects in subdirectories. + * Makefile.in: Rebuilt. + +2001-03-25 Richard Henderson <rth@redhat.com> + + * exception.cc (java_eh_info): Make value type jthrowable. + (_Jv_type_matcher): Remove now unneeded cast. + (_Jv_Throw): Make argument type jthrowable. Munge name + for SJLJ_EXCEPTIONS here ... + * gcj/cni.h: ... not here. + (JvThrow): Remove. + * gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations. + + * defineclass.cc, interpret.cc, jni.cc, posix-threads.cc, + prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc, + gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc, + gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc, + gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc, + java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc, + java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc, + java/lang/natClass.cc, java/lang/natClassLoader.cc, + java/lang/natDouble.cc, java/lang/natObject.cc, + java/lang/natPosixProcess.cc, java/lang/natRuntime.cc, + java/lang/natString.cc, java/lang/natSystem.cc, + java/lang/natThread.cc, java/lang/reflect/natArray.cc, + java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc, + java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc, + java/util/zip/natInflater.cc: + Use throw, not JvThrow or _Jv_Throw. + +2001-03-24 Bryce McKinlay <bryce@albatross.co.nz> + + * java/util/HashMap.java (HashMap): If 0 is given for initialCapacity + paramater, bump it to 1. + * java/util/Hashtable.java (Hashtable): Likewise. + +2001-03-23 Per Bothner <per@bothner.com> + + * java/lang/natDouble.cc (parseDouble): Cannot use errno to + check for errors, since we don't want to throw exception on + overflow/underflow. Instead, trim whitespace, and then check that + _strtod_r uses up all the rest of the string. + + * java/lang/natClass.cc (_Jv_IsAssignableFrom): Checking the + ancestors array is invalid for interfaces, so do that *after* + check that the target type is not an interface. + +2001-03-23 Jeff Sturm <jsturm@one-point.com> + + * prims.cc (_Jv_FindClassFromSignature): Check return of + recursive call. Do not abort on invalid signature; return NULL + instead. + +2001-03-22 Tom Tromey <tromey@redhat.com> + + * jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields. + * java/lang/reflect/natField.cc (getType): Use _Jv_ResolveField + unconditionally. + * include/jvm.h (_Jv_ResolveField): Declare. + * include/java-interp.h (_Jv_ResolveField): Don't declare. + * resolve.cc (_Jv_ResolveField): No longer conditional on + INTERPRETER. + +2001-03-23 Bryce McKinlay <bryce@albatross.co.nz> + + Fix for PR libgcj/1736. Thanks to Robert Boehne and Alexandre Oliva + for libtool hacking. + * Makefile.am (libgcj.la): New explicit rule. Echo the list of objects + to a temporary file, then invoke libtool with the -objectlist + paramater. + (libgcjx.la): Likewise. + * Makefile.in: Rebuilt. + +2001-03-22 Joerg Brunsmann <joerg_brunsmann@yahoo.de> + + * javax/naming/Context.java (SECURITY_CREDENTIALS): Fix typo. + +2001-03-22 Marcus G. Daniels <mgd@swarm.org> + + * jni.cc (add_char): Handle `.' like `/'. + +2001-03-22 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/reflect/Method.java (getExceptionTypes): Call getType() to + initialize if exception_types is null. + * java/lang/reflect/Constructor.java: Likewise. + * java/lang/reflect/natConstructor.cc (getType): Initialize + exception_types to an empty Object array. + +2001-03-21 Tom Tromey <tromey@redhat.com> + + * configure: Rebuilt. + * configure.in (GCJFLAGS): Subst. + * Makefile.in: Rebuilt. + * Makefile.am (jv_convert_LDFLAGS): Added -shared-libgcc. + (gij_LDFLAGS): Likewise. + (JC1FLAGS): Added GCJFLAGS and removed -g. + + * java/io/natFileDescriptorPosix.cc (open): Add O_CREAT in + read/write case. Fixes PR libgcj/2338. + +2001-03-20 Warren Levy <warrenl@redhat.com> + + * java/util/TimeZone.java: Sync up with Classpath. Includes new + and corrected SimpleTimeZone's for the timezones hash table. + +2001-03-19 Per Bothner <per@bothner.com> + + * java/net/URLStreamHandler.java (parseURL): Fix bug which would + "canonicalize" "../../xxx" to "/xxx". + +2001-03-19 Mark Wielaard <mark@klomp.org> + + * java/util/ArrayList.java: Remove RCS keywords from comments + * java/util/BasicMapEntry.java: idem + * java/util/Dictionary.java: idem + * java/util/HashSet.java: idem + + * java/util/EventObject.java: reindent + * java/util/Properties.java: idem + * java/util/SortedMap.java: idem + + * java/util/Enumeration.java: Merge with Classpath + * java/util/EventListener.java: idem + * java/util/Observable.java: idem + * java/util/Observer.java: idem + * java/util/Stack.java: idem + +2001-03-17 Tom Tromey <tromey@redhat.com> + + * java/lang/natString.cc (rehash): Don't bother with memset; + _Jv_AllocBytes returns zero'd memory. Use _Jv_AllocBytesChecked. + Use UNMASK_PTR. + (UNMASK_PTR): New macro. + (intern): Unmask pointer before returning it. Register finalizer + for the string. + (unintern): Handle case where + (MASK_PTR): New macro. + (PTR_MAKSED): Likewise. + (_Jv_NewStringUtf8Const): Use UNMASK_PTR. + +2001-03-01 Andrew Haley <aph@redhat.com> + + * java/lang/natThrowable.cc (printRawStackTrace): Copy the + stackTrace buffer to a correctly aligned pointer array. + +2001-03-12 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/Runtime.java (_exit): Declare new package-private native. + * java/lang/natRuntime.cc (_exit): Implemented. Same as exit() but + without a security manager check. + (exit): Call _exit after security check. + * prims.cc (JvRunMain): Call Runtime._exit to shutdown the runtime + "naturally". + * java/lang/System.java (setSecurityManager): If a security manager + is already in place, call checkPermission. + * java/lang/ThreadGroup.java (uncaughtException): If printStackTrace() + throws an exception, try to deal with it gracefully. + * java/lang/ExceptionInInitializerError.java (printStackTrace): + Only try to print the subordinate stack trace if "exception" is set. + Print our class name first. + +2001-03-08 Tom Tromey <tromey@redhat.com> + + * java/io/ObjectStreamClass.java (setUID): Don't write interface + info for array classes. + Fixes PR libgcj/1971. + +2001-03-06 Bryce McKinlay <bryce@albatross.co.nz> + + * java/util/TreeSet.java (writeObject): Use a for-loop instead of + Iterator.hasNext(). + +2001-03-05 Jochen Hoenicke <jochen@gnu.org> + + * java/util/TreeMap.java (writeObject): Use defaultWriteObject() + instead of the new JDK1.2 API. This is simpler and makes + back-porting the classes to JDK1.1 trivial. + (readObject): likewise. + +2001-03-01 Per Bothner <per@bothner.com> + + Changes merged from Kawa's gnu.math. + * gnu/gcj/math/MPN.java (rshift0): New method handles zero shift count. + (rshift(int[],int[],int,int): Removed - not needed. + (gcd): Use rshift0 rather than rshift. + * java/math/BigInteger.java (setShiftRight): Likewise. + (divide): Simplify by using rshift0. + (divide): Zero-extend results if high-order bit set. + +2001-02-27 Bryce McKinlay <bryce@albatross.co.nz> + + * libgcj.spec.in: Insert %(libgcc) before %(liborig) to fix static + linking. + +2001-02-23 Per Bothner <per@bothner.com> + + Change to sometimes include class name in ClassFormatError message. + * defineclass.cc (_Jv_VerifyFieldSignature, _Jv_VerifyMethodSignature, + _Jv_VerifyIdentifier, _Jv_VerifyClassName (two overlods)): Return + boolean instead of throwing ClassFormatError on failure. + (throw_class_format_error): Change static function to method. + (_Jv_ClassReader): New inline methods verify_identifier, + two overloads of verify_classname, verify_field_signature, and + verify_method_signature + * include/java-interp.h: Update declarations to return bool. + * java/lang/natClassLoader.cc (defineClass0): Explicitly throw + ClassFormatError since _Jv_VerifyClassName now returns bool. + +2001-02-23 Per Bothner <per@bothner.com> + + * java/lang/Throwable.java (CPlusPlusDemangler): Pass -s java to + c++filt to select java-style output. + +2001-02-22 Bryce McKinlay <bryce@albatross.co.nz> + + Fix for PR java/2040: + * java/util/HashMap.java (HashMap): Don't throw exception for + loadFactor > 1. Add exception messages. + * java/util/Hashtable.java (Hashtable): Likewise. + +2001-02-21 Bryce McKinlay <bryce@albatross.co.nz> + + Disable libgcjx by default. + * configure.in: Add support for --enable-java-awt configure option. + Use --enable-java-awt=xlib to build the xlib peers (libgcjx). + * Makefile.am: Make libgcjx conditional on XLIB_AWT, instead of NO_X. + * Makefile.in: Rebuilt. + * configure: Rebuilt. + +2001-02-20 Tom Tromey <tromey@redhat.com> + + * java/io/PipedWriter.java (flush): Throw exception if stream + closed. + * java/io/OutputStreamWriter.java (write): Throw exception if + stream closed. + (writeChars): Don't throw exception if stream closed. + * java/io/CharArrayWriter.java (closed): New field. + (close): Set it. + (flush): Throw exception if stream closed. + (reset): Synchronize on correct lock. Allow stream to be + reopened. + (toCharArray, toString, writeTo): Synchronize. + (write): Throwe exception if stream closed. + * java/io/BufferedWriter.java (close): Clear `buffer'. + (flush): Throw IOException if stream is closed. + (write): Likewise. + +2001-02-16 Tom Tromey <tromey@cygnus.com> + + * java/lang/ThreadGroup.java (activeCount): Only include threads + which are alive. + (enumerate): Likewise. + +2001-02-19 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/Integer.java (getInteger): Return default argument if + property is not set. Don't call decode with null argument. + * java/lang/Long.java (getLong): Likewise. + + * java/io/CharArrayReader.java (CharArrayReader): Throw + IllegalArgumentException if constructor arguments are illegal. + (ready): Return false if no more characters can be read. + * java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise. + +2001-02-17 Mark Wielaard <mark@klomp.org> + + * java/util/TimerTask.java: New version from Classpath. + +2001-02-17 Mark Wielaard <mark@klomp.org> + + Remerge with Classpath + (changes by Bryce McKinlay <bryce@albatross.co.nz>) + * java/io/DataInputStream.java (readBoolean): Use convertToBoolean(). + (readByte): Use convertToByte(). + (readChar): Use convertToChar(). + (readInt): Use convertToInt(). + (readLong): Use convertToLong(). + (readShort): Use convertToShort(). + (readUnsignedByte): Use convertToUnsignedByte(). + (readUnsignedShort): Use convertToUnsignedShort(). + (readUTF): Use convertToUTF(). + + (convertToBoolean): Resurrected. + (convertToByte): Ditto. + (convertToChar): Ditto. + (convertToInt): Ditto. + (convertToLong): Ditto. + (convertToShort): Ditto. + (convertToUnsignedByte): Ditto. + (convertToUnsignedShort): Ditto. + (convertToUTF): Ditto. + +2001-02-17 Mark Wielaard <mark@klomp.org> + + * HACKING: new file + +2001-02-17 Mark Wielaard <mark@klomp.org> + + * java/io/DataInputStream.java: update copyright notice + * java/io/PrintWriter.java: idem + * java/io/Reader.java: idem + * java/io/StreamTokenizer.java: idem + * java/io/StringReader.java: idem + * java/lang/reflect/ReflectPermission.java: idem + +2001-02-16 Bryce McKinlay <bryce@albatross.co.nz> + + * java/util/TreeSet.java (clone): Made subclass safe, use + super.clone(), not new. + * java/util/TreeMap.java (clone): Likewise. + + * java/util/TreeMap.java (nil): Made non-final. + (clone): Create new nil node for copy. + + * java/util/HashSet.java (clone): Made subclass safe, use + super.clone(), not new. + +2001-02-14 Andrew Haley <aph@redhat.com> + + * include/i386-signal.h (INIT_SEGV): Use a direct system call to + set the handler. + +2001-02-15 Anthony Green <green@redhat.com> + + * defineclass.cc: Don't include alloca.h. + (prepare_pool_entry): Convert alloca to __builtin_alloca. + * interpret.cc (run_normal): Ditto. + (continue1): Ditto. + * java/lang/natDouble.cc (parseDouble): Ditto. + +2001-02-15 Bryce McKinlay <bryce@albatross.co.nz> + + * java/util/TreeSet.java (clone): Call TreeMap.clone(), not + Object.clone(). + * java/util/Collections.java (ReverseComparator): New static class. + (reverseOrder): Return static instance of ReverseComparator. + + * gnu/awt/j2d/DirectRasterGraphics.java (clone): Hoist to public. + * gnu/awt/j2d/IntegerGraphicsState.java (setClip): Call + Rectangle.clone(), not Object.clone(). + + * java/util/HashSet.java (clone): Remove try/catch. + + * java/util/AbstractSequentialList.java: Synchronize with Classpath. + * java/util/Collection.java: Likewise. + * java/util/Comparator.java: Likewise. + * java/util/Dictionary.java: Likewise. + * java/util/Iterator.java: Likewise. + * java/util/ListIterator.java: Likewise. + * java/util/Map.java: Likewise. + * java/util/Set.java: Likewise. + +2001-02-14 Bryce McKinlay <bryce@albatross.co.nz> + + * java/util/TreeMap.java: New file. + * java/util/TreeSet.java: New file. + * Makefile.am: Add TreeMap and TreeSet. Enable WeakHashMap. + * Makefile.in: Rebuilt. + * java/util/HashSet.java (clone): Use constructor instead of calling + clone on itself. + * java/util/SortedSet.java: Sync with classpath. + * java/util/HashMap.java (hash): Use if statement instead of ternary, + for clarity. + + * java/lang/natClass.cc (getSignature): Don't try to dereference + param_types if it is null. Instead, take this to mean "no parameters". + * java/lang/TreeMap.java (TreeIterator.next): Throw + NoSuchElementException in preference to ConcurrentModificationException. + (TreeIterator.remove): Throw IllegalStateException in preference to + ConcurrentModificationException. + (SubMap.firstKey): Do a better check for empty SubMap, and if it is, + throw a NoSuchElementException. + (SubMap.lastKey): Likewise. + +2001-02-13 Tom Tromey <tromey@redhat.com> + + * java/io/PipedReader.java (ready): Throw IOException if pipe + closed. + * java/io/FilterReader.java (close): Don't clear `in'. + * java/io/CharArrayReader.java (mark): Throw IOException if stream + closed. + (read, ready, reset, skip): Added exception message. + * java/io/BufferedReader.java (mark, reset, ready, read, skip): + Perform checkStatus check inside synchronized block. + +2001-02-13 Tom Tromey <tromey@redhat.com> + + * gnu/awt/j2d/AbstractGraphicsState.java (clone): Made public. + +2001-02-13 Tom Tromey <tromey@redhat.com> + + Fix for PR libgcj/1351: + * posix.cc (_Jv_select): Throw InterruptedIOException if thread is + interrupted. + Include Thread.h and InterruptedIOException.h. + +2001-02-13 Bryce McKinlay <bryce@albatross.co.nz> + + * java/io/BlockDataException.java: Removed. + * java/io/ObjectInputStream.java (readObject): Throw + StreamCorruptedException, not BlockDataException. + * Makefile.am: Remove BlockDataException. + * Makefile.in: Rebuild. + +2001-02-12 Jeff Sturm <jeff.sturm@commerceone.com> + Tom Tromey <tromey@redhat.com> + + * interpret.cc (continue1): [insn_invokevirtual] Do an explicit + null pointer check. + +2001-02-09 Tom Tromey <tromey@redhat.com> + + * java/util/Timer.java: New version from Classpath. + +2001-02-09 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/Double.java (doubleToRawLongBits): Now native. + * java/lang/Float.java (floatToRawIntBits): Likewise. + * java/lang/natDouble.cc (doubleToRawLongBits): New method. + * java/lang/natFloat.cc (floatToRawIntBits): Likewise. + +2001-02-09 Alexandre Petit-Bianco <apbianco@redhat.com> + + * java/io/File.java (java.net): Imported. + (getAbsoluteFile): Added. + (getCanonicalPath): Likewise. + (toURL): Likewise. + +2001-02-08 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/Byte.java: Remove redundant instanceof and null checks. + * java/lang/Integer.java: Likewise. + * java/lang/Long.java: Likewise. + * java/lang/Short.java: Likewise. + * java/lang/Double.java: Likewise. + (doubleToRawLongBits): New method. + * java/lang/Float.java: As above. + (floatToRawIntBits): New method. + + * java/io/OutputStreamWriter.java: (flush, writeChars): Throw + IOException if stream closed. + +2001-02-08 Tom Tromey <tromey@redhat.com> + + * java/lang/Float.java (parseFloat): New method. + +2001-02-08 Tom Tromey <tromey@redhat.com> + + From paul@dawa.demon.co.uk. Fix for PR libgcj/1913: + * java/io/InputStreamReader.java (ready, read): Throw IOException + if stream has been closed. + +2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk> + + * README, gij.cc, java/lang/natClass.cc, java/lang/natSystem.cc: + Change sources.redhat.com and sourceware.cygnus.com references to + gcc.gnu.org. + +2001-02-07 Tom Tromey <tromey@redhat.com> + + Fix for PR libgcj/1906: + * java/text/MessageFormat.java (setLocale): Use named class + literals. + (forName): Removed. + (format(Object,StringBuffer,FieldPosition)): Special case if + argument is an Object[]. + +2001-02-07 Bryce McKinlay <bryce@albatross.co.nz> + + * java/util/Arrays.java: Removed "cmp" methods. + (qsort): Don't use "cmp". + (med3): Likewise. + +2001-02-07 Mark Benvenuto <mcb54@columbia.edu> + + * java/util/Arrays.java (qsort): Handle N value of 7 with insertion + sort. Fix for PR java/1895. + +2001-02-03 Jeff Sturm <jeff.sturm@commerceone.com> + + * configure.host: Use sjlj-exceptions for Alpha. + +2001-02-03 Bryce McKinlay <bryce@albatross.co.nz> + + * libgcj.spec.in: Don't force static libgcc into the executable. + * configure.in (FORCELIBGCCSPEC): Removed. + * configure: Rebuilt. + +2001-01-31 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (LTCXXCOMPILE): New macro. + +2001-01-26 Andrew Haley <aph@redhat.com> + + (INIT_FPE): Use a direct system call to set the handler. + +2001-01-27 Richard Henderson <rth@redhat.com> + + * configure.host (alpha*-*) [libgcj_flags]: Add -mieee. + +2001-01-27 Tom Tromey <tromey@redhat.com> + + * jni.cc (_Jv_JNIFunctions): Added comment for each entry in + native interface structure. + +2001-01-27 Bryce McKinlay <bryce@albatross.co.nz> + + * java/io/ObjectInputStream.java (read): AND byte with 0xff to make + result unsigned. + (read (byte[], int, int)): Only call readNextBlock() if the block + buffer would actually be overrun. Increment blockDataPosition. + (callReadMethod): Propagate exceptions from invocation target. + * java/io/ObjectOutputStream.java (callWriteMethod): Propagate + exceptions from invocation target. + +2001-01-26 Tom Tromey <tromey@redhat.com> + + * jni.cc (_Jv_JNI_GetAnyMethodID): Rewrite signature from external + to internal representation. + (_Jv_JNI_GetAnyFieldID): Likewise. Also, only use + _Jv_FindClassFromSignature. + +2001-01-26 Warren Levy <warrenl@redhat.com> + + * java/lang/natSystem.cc (getSystemTimeZone): Only use tm_gmtoff + and timezone if they are available on the system. + +2001-01-24 Tom Tromey <tromey@redhat.com> + + * java/lang/sf_fabs.c: Use uint32_t, not __uint32_t. + +2001-01-24 Tom Tromey <tromey@redhat.com> + + * Makefile.in: Rebuilt. + * Makefile.am (c_source_files): Added sf_fabs.c. + * java/lang/sf_fabs.c: New file. + +2001-01-19 Warren Levy <warrenl@redhat.com> + + * java/text/SimpleDateFormat.java (format): Compute hour for cases + HOUR_OF_DAY1_FIELD (1-24), HOUR1_FIELD (1-12), and HOUR0_FIELD (0-11) + correctly. Adjust properly from 0-23 clock hour. + +2001-01-17 Mark Wielaard <mark@klomp.org> + + * java/bean/Beans.java (instantiate): enable Applet code from Classpath + +2001-01-17 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/Class.h (isInterface): Move implementation from + natClass.cc. Declare inline. + (Class): Add default constructor. + * java/lang/Object.h: Update comments. + * java/lang/natClass.cc (initializeClass): Use _Jv_InitClass to + initialize superclass, saving a call if super is already initialized. + +2001-01-16 Alexandre Petit-Bianco <apbianco@cygnus.com> + + * prims.cc (init_prim_class): Deleted. + (DECLARE_PRIM_TYPE): Rewritten. + * java/lang/Class.h (stdio.h): Include removed. + (stddef.h): Included. + (java/lang/reflect/Modifier.h): Likewise. + (Class): Contructor now takes arguments, initializes fields. + (initializePrim): Prototype deleted. + * java/lang/natClass.cc (initializePrim): Deleted. + +2001-01-16 Warren Levy <warrenl@redhat.com> + + * java/math/BigInteger.java: Update Copyright year. + +2001-01-16 Hans Boehm <hans_boehm@hp.com> + + * java/math/BigInteger.java (setShiftRight): Only do negative shift + if count != 0. + +2001-01-14 Mark Wielaard <mark@klomp.org> + * java/net/URLDecoder.java: Thanks Edgar Villanueva (edgarvil@home.com) + (decode): Merge comments with Classpath, don't throw Exception + +2001-01-12 Tom Tromey <tromey@redhat.com> + + * gnu/awt/gtk/natGtkComponentPeer.cc (getLocationOnScreen): + Wrote. + (setCursor): Wrote. + Include Cursor.h. + * gnu/awt/gtk/natGtkLabelPeer.cc: New file. + * gnu/awt/gtk/natGtkButtonPeer.cc: New file. + * gnu/awt/gtk/gtkcommon.h (class _Jv_GdkThreadLock): New class. + * gnu/awt/gtk/GtkLabelPeer.java: New file. + * gnu/awt/gtk/GtkButtonPeer.java: New file. + + * java/lang/natSystem.cc: Include locale.h if it exists. + * configure: Rebuilt. + * configure.in: Check for locale.h. + +2001-01-11 Tom Tromey <tromey@redhat.com> + + * java/awt/Cursor.java (Cursor(String)): Set type to custom. + (Cursor(int), getPredefinedCursor): Throw exception if argument + invalid. + +2001-01-03 Tom Tromey <tromey@redhat.com> + + * gnu/awt/gtk/natGtkComponentPeer.cc (setCursor): Wrote. + (getLocationOnScreen): Wrote. + +2001-01-11 Bryce McKinlay <bryce@albatross.co.nz> + + * Makefile.am: Re-enable dependencies. + * Makefile.in: Rebuilt. + +2001-01-10 Warren Levy <warrenl@redhat.com> + + * java/math/BigDecimal.java (divide): Fixed comment. + +2001-01-10 Warren Levy <warrenl@redhat.com> + + Fix for PR libgcj/1596: + * java/math/BigDecimal.java (divide): Check newScale for validity. + Ensure that BigInteger.pow() is called with a non-negative value. + (setScale (int)): New public method. + (setScale (int,int)): New public method. + +2001-01-09 Oskar Liljeblad <osk@hem.passagen.se> + + Fix for PR libgcj/1338: + * java/io/StreamTokenizer.java (nextToken): Handle // and /* before + commentChar. Fixed typos in comments. + +2001-01-08 Warren Levy <warrenl@redhat.com> + + Fix for PR libgcj/1411: + * Makefile.am: Removed java/util/natTimeZone.cc. + * Makefile.in: Rebuilt. + * gnu/gcj/text/LocaleData_en_US.java (zoneStringsDefault): Added + missing localized timezone names. + * java/lang/System.java (getDefaultTimeZoneId): New private method. + * java/lang/natSystem.cc (getSystemTimeZone): New private method. + (init_properties): Set user.timezone property. + * java/text/DateFormatSymbols.java (zoneStringsDefault): Added + default timezone names; removed non-standard ones. Use standard + ID names per JCL. + * java/util/Date.java (toGMTString): Removed zoneGMT variable. + (UTC): Ditto. + * java/util/TimeZone.java: Add standard ID names per JCL; removed + non-standard ones. + (getDefaultTimeZoneId): Removed. + (zoneGMT): Removed. + * java/util/natTimeZone.cc: Removed. + +2001-01-08 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/Class.h (_Jv_InitClass): Use __builtin_expect. + (_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. + (_Jv_GetArrayClass): New inline function. + (arrayclass): New field. + * prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayClass. Don't use + _Jv_GetArrayElementFromElementType. + (_Jv_NewPrimArray): Ditto. + (_Jv_PrimClass constructor): Initialize "depth", "ancestors", and + "idt" for completeness. Initialze "arrayclass" using _Jv_NewArrayClass. + Set Modifier::ABSTRACT. + * java/lang/natClassLoader.cc (_Jv_NewClass): Initialize "arrayclass". + (_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. Now void. + Now synchronized. Array classes are now referenced from + elementClass->arrayclass. Don't use _Jv_FindClassInCache. + Set array classes' accessibility flags correctly. Optimize so that + all array classes share the same IDT. + * java/lang/reflect/natArray.cc (newInstance): Use _Jv_GetArrayClass. + * java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature): Ditto. + * java/lang/natClass.cc (_getFields): Increment offset. Prevent fields + in superclasses from overwriting classes own fields. + (_Jv_IsAssignableFrom): Check for NULL source idt instead of calling + Modifier::isAbstract(). + (null_idt): New static field. + (_Jv_PrepareConstantTimeTables): Optimize case where class implements + no interfaces. + (_Jv_IndexOf): Made inline. + * boehm.cc (_Jv_MarkObj): Mark "arrayclass" field. + +2001-01-08 Tom Tromey <tromey@redhat.com> + + Fix for PR java/1586: + * Makefile.in: Rebuilt. + * Makefile.am (AUTOMAKE_OPTIONS): Added no-dependencies. + +2001-01-08 Bryce McKinlay <bryce@albatross.co.nz> + + * Makefile.am: Use the new "-M -MF" option for generating dependencies + from the c++ compiler. + * Makefile.in: Rebuilt. + +2001-01-07 Alexandre Petit-Bianco <apbianco@cygnus.com> + + All files with updated copyright. + * prims.cc (class _Jv_PrimClass): Removed. + (init_prim_class): New function. + (DECLARE_PRIM_TYPE): Rewritten. `java::lang::Class' replaces + `_Jv_PrimClass' in primitive type declarations. Assign to the + value returned by `init_prim_class.' + * gcj/array.h: `java::lang::Class' replaces `_Jv_PrimClass' in + primitive type declarations. + (JvPrimClass): Cast to `jclass' removed. + * java/lang/Class.h (Class): New constructor. + (Class): New copy constructor. + (initializePrim): New prototype. + (_Jv_PrimClass): Field removed. + * java/lang/Object.h (struct _JvObjectPrefix): New virtuals + nacd_1 and nacd_2 (for compatibility with the new C++ ABI.) + (class java::lang::Object): `finalize' moved up front. + * java/lang/natClass.cc + (isAssignableFrom): Turned outline. + (isInstance): Likewise. + (isInterface): Likewise, fixed indentation. + (initializePrim): New function. + +2001-01-07 Anthony Green <green@redhat.com> + + * Makefile.am (texinfo): Add texinfo target for generating texinfo + documentation. + * Makefile.in: Rebuilt. + + * scripts/TexinfoDoclet.java: New file. + + * doc/java-applet.texi, doc/java-lang-reflect.texi, + doc/java-awt-color.texi, doc/java-lang.texi, + doc/java-awt-datatransfer.texi, doc/java-math.texi, + doc/java-awt-event.texi, doc/java-net.texi, + doc/java-awt-geom.texi, doc/java-security-spec.texi, + doc/java-awt-image.texi, doc/java-security.texi, + doc/java-awt-peer.texi, doc/java-sql.texi, doc/java-awt.texi, + doc/java-text.texi, doc/java-beans-beancontext.texi, + doc/java-util-jar.texi, doc/java-beans.texi, + doc/java-util-zip.texi, doc/java-io.texi, doc/java-util.texi, + doc/java-lang-ref.texi: New files. + +2001-01-07 Anthony Green <green@redhat.com> + + * java/net/URLConnection.java (setDoOutput): URLConnection's may + be used for both input and output, so don't clear doInput. + + * java/lang/StringBuffer.java: Fix comments. + +2001-01-06 Anthony Green <green@redhat.com> + + * java/beans/PropertyDescriptor.java: Fix comment. + * java/io/PushbackReader.java: Fix comment. + * java/io/ObjectStreamClass.java: Fix comment. + * java/io/DataInputStream.java: Fix comment. + * java/io/PipedInputStream.java: Fix comments. + * java/io/PipedReader.java: Fix comments. + * java/sql/DatabaseMetaData.java: Fix comments. + +2001-01-06 Bryce McKinlay <bryce@albatross.co.nz> + + * java/io/PipedReader: Synchronize on "lock" instead of this. + +2001-01-05 Bryce McKinlay <bryce@albatross.co.nz> + + * java/lang/Thread.java: Update comment. + + * java/io/PipedInputStream: Rewrote to be simpler and more correct. + * java/io/PipedOutputStream: Updated to match new PipedInputStream. + * java/io/PipedReader: New implementation based on new + PipedInputStream. + * java/io/PipedWriter: Updated to match new PipedReader. + +2001-01-03 Tom Tromey <tromey@redhat.com> + + * java/awt/ScrollPane.java (setBlockIncrement): Throw error. + (getViewportSize): Insets include scrollbar size. + (doLayout): Finished. + (getScrollPosition): Wrote. + * java/awt/peer/ScrollPanePeer.java (setBlockIncrement): Removed. + +2001-01-02 Tom Tromey <tromey@redhat.com> + + * java/awt/ScrollPane.java: Wrote. + * java/awt/peer/ScrollPanePeer.java (setBlockIncrement): New + method. + + * java/awt/Panel.java (Panel()): Fixed. + + * java/awt/Component.java (isShowing): Return false if no peer + exists, and true if component is visible and no parent exists. + (getLocationOnScreen): Wrote. + (getPreferredSize): Removed FIXME comment. + (getMinimumSize): Likewise. + (getAlignmentX, getAlignmentY): Wrote. + (list): Wrote. + (requestFocus): Wrote. + (transferFocus): Wrote. + (findNextFocusComponent): New method. + (hasFocus()): Wrote. + (checkImage): Wrote. + (enableEvents): Call setEventMask on the peer. + + * java/awt/Container.java (list): Use super.list() to print self. + (findNextFocusComponent): New method. + (setLayout): Call invalidate. + (findComponentAt): Wrote. + |