Commit Graph

1477 Commits

Author SHA1 Message Date
Andreas Tobler 6180abdb9d ieeefp.h: Define __IEEE_BIG_ENDIAN for Darwin.
2001-12-29 Andreas Tobler <a.tobler@schweiz.ch>

	* libjava/java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for
	Darwin.

From-SVN: r48455
2002-01-01 23:36:11 +00:00
Tom Tromey e3109d4c17 ObjectInputStream.java (enableResolveObject): Use correct security check.
* java/io/ObjectInputStream.java (enableResolveObject): Use
	correct security check.
	* java/io/ObjectOutputStream.java (enableReplaceObject): Use
	correct security check.

From-SVN: r48256
2001-12-21 22:51:41 +00:00
Tom Tromey d47eb5d3f2 re PR java/5165 (Loading class fields with a ConstantValue attribute)
Fix for PR java/5165:
	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass):
	Convert any constant string field to a String; not just final
	fields.

From-SVN: r48255
2001-12-21 21:59:27 +00:00
Tom Tromey 83d9978859 re PR libgcj/2428 (Classloader is not set)
Fix for PR libgcj/2428:
	* java/lang/natClass.cc: Include RuntimePermission.h.
	(getClassLoader): Define.
	* java/lang/Class.h (Class.getClassLoader): Only declare.

From-SVN: r48253
2001-12-21 19:47:50 +00:00
Tom Tromey e6a8345b03 For PR java/4766:
* libjava.compile/PR4766.java: New file.

From-SVN: r48209
2001-12-20 18:05:20 +00:00
Andrew Haley 76eceb1ec3 FileHandleGcTest.out: New file.
2001-12-20  Andrew Haley  <aph@redhat.com>

	* libjava.lang/FileHandleGcTest.out:  New file.
	* libjava.lang/FileHandleGcTest.java: New file.
	* libjava.lang/Array_3.out: New file.
	* libjava.lang/Array_3.java: New file.

From-SVN: r48201
2001-12-20 14:09:03 +00:00
Tom Tromey ed178abb75 FlowLayout.java (FlowLayout(), [...]): Set gaps to 5.
* 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.

From-SVN: r48182
2001-12-19 19:38:25 +00:00
Bryce McKinlay 619c238cb9 * boehm.cc (_Jv_BuildGCDescr): Define unconditionally.
From-SVN: r48170
2001-12-19 02:45:20 +00:00
Bryce McKinlay 726abf5d79 jvm.h (_Jv_BuildGCDescr): Declare unconditionally.
* include/jvm.h (_Jv_BuildGCDescr): Declare unconditionally.
	* nogc.cc (_Jv_BuildGCDescr): Define unconditionally.

From-SVN: r48169
2001-12-19 01:59:28 +00:00
Tom Tromey e964a852b2 CollationElementIterator.java (secondaryOrder): Cast result to `short'.
* java/text/CollationElementIterator.java (secondaryOrder): Cast
	result to `short'.
	(tertiaryOrder): Likewise.

From-SVN: r48162
2001-12-18 17:27:43 +00:00
Tom Tromey 8c5bc4d56e For PR java/3417:
* libjava.compile/PR3417.xfail: New file.
	* libjava.compile/PR3417.java: New file.

From-SVN: r48161
2001-12-18 16:36:40 +00:00
Tom Tromey 40aba207b1 * libjava.lang/PR3731.xfail: Removed.
From-SVN: r48144
2001-12-18 05:18:38 +00:00
Tom Tromey bf768dd17b Inspired by PR java/5057:
* libjava.lang/PR5057_2.java: New file.
	* libjava.lang/PR5057_2.out: New file.

From-SVN: r48142
2001-12-18 04:59:18 +00:00
Tom Tromey ced816d5e6 For PR java/5057:
* libjava.lang/PR5057.out: New file.
	* libjava.lang/PR5057.java: New file.

From-SVN: r48141
2001-12-18 04:38:04 +00:00
Tom Tromey 04942eac9b 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.

From-SVN: r48082
2001-12-16 22:33:02 +00:00
Tom Tromey 68940f3f3c 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.

From-SVN: r48081
2001-12-16 22:28:35 +00:00
Tom Tromey 495513eea6 Makefile.in: Rebuilt.
* 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.

From-SVN: r48080
2001-12-16 22:25:14 +00:00
Bryce McKinlay 1e2bba3565 DataOutputStream (write (byte[], int, int)): Update "written" correctly.
* java/io/DataOutputStream (write (byte[], int, int)): Update
	"written" correctly. Fix from the ORP team.

From-SVN: r48050
2001-12-16 00:14:57 +00:00
Bryce McKinlay 861ef92859 java-tree.h (otable_methods, [...]): New field/global tree definitions.
gcc/java:

	* java-tree.h (otable_methods, otable_decl, otable_syms_decl,
	otable_type, otable_ptr_type, method_symbol_type,
	method_symbols_array_type, method_symbols_array_ptr_type): New
	field/global tree definitions.
	(flag_indirect_dispatch): New flag.
	* decl.c (java_init_decl_processing): Initialize new otable and
	otable_syms type nodes and decls. Add new field "index" to
	method_type_node.
	* class.c (build_method_symbols_entry): New function.
	(make_method_value): Set "index" to to method's vtable index for
	virtual methods when indirect-dispatch is not used.
	(make_class_data): For indirect-dispatch, dont emit the dtable_decl,
	and set vtable_method_count to -1. Set otable and otable_syms field
	if indirect-dispatch is used and there was something to put in them.
	(build_method_symbols_entry): New function.
	(emit_offset_symbol_table): New function.
	* expr.c (get_offset_table_index): New function.
	(build_invokevirtual): Build array reference to otable at the index
	returned by get_offset_table_index, and use the result as the vtable
	offset.
	(build_invokeinterface): Similar.
	* jcf-parse.c (yyparse): If indirect-dispatch, call
	emit_offset_symbol_table at the end of compilation, after all classes
	have been generated.
	* jvspec.c: Don't pass findirect-dispatch to jvgenmain.
	* lang.c (flag_indirect_dispatch): Define.
	(lang_f_options): Add indirect-dispatch flag.

libjava:

	* 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.

From-SVN: r48038
2001-12-15 08:31:49 +00:00
Bryce McKinlay d9fd7154ec Collections drop from Classpath:
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.

From-SVN: r48035
2001-12-15 07:47:03 +00:00
Tom Tromey 1808372b58 For PR libgcj/5103:
* libjava.jni/cxxtest.out: New file.
	* libjava.jni/cxxtest.cc: New file.
	* libjava.jni/cxxtest.java: New file.
	* libjava.jni/jni.exp (gcj_jni_test_one): If there is no .c file,
	assume there is a .cc file.

From-SVN: r48012
2001-12-14 21:56:29 +00:00
Hans Boehm 938f37772e prims.cc: Some old cleanups.
* 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.

From-SVN: r48002
2001-12-14 18:43:55 +00:00
Tom Tromey 4e41d14893 prims.cc (_Jv_RunMain): Use `using' to simplify code.
* prims.cc (_Jv_RunMain): Use `using' to simplify code.  Set
	_Jv_Jar_Class_Path early.

From-SVN: r47965
2001-12-13 04:19:36 +00:00
Tom Tromey 415791dba8 * jni.cc (call): Synchronize if required.
From-SVN: r47949
2001-12-12 20:58:41 +00:00
Tom Tromey 242f4945ac * gij.cc (main): Clarify --help output.
From-SVN: r47948
2001-12-12 20:56:08 +00:00
Tom Tromey a46ce590a8 * gnu/gcj/runtime/StringBuffer.java
(ensureCapacity_unsynchronized): Ensure we always get at least
	`minimumCapacity' characters in new buffer.

From-SVN: r47940
2001-12-12 16:50:01 +00:00
Tom Tromey 50cc5dd29b String.java (String): New constructor.
* 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.

From-SVN: r47883
2001-12-11 18:01:40 +00:00
Tom Tromey 1ca1c91bd9 For PR libgcj/1147:
* prims.cc (JvConvertArgv): Convert using current locale's
	encoding.

From-SVN: r47862
2001-12-11 04:03:57 +00:00
Tom Tromey d12a187337 re PR libgcj/5064 (java/lang/natClassLoader.cc doesn't compile on systems without snprintf)
Fix for PR libgcj/5064.
	* java/lang/natClassLoader.cc: Don't include stdio.h.
	(_Jv_RegisterClassHookDefault): Don't use snprintf.

From-SVN: r47861
2001-12-11 03:58:40 +00:00
Per Bothner 6cc49add9c * gnu/gcj/xlib/XImage.java (toString): Add missing initialization.
From-SVN: r47834
2001-12-09 23:59:48 -08:00
Tom Tromey 6d8b12448d resolve.cc (_Jv_PrepareClass): Verify method here...
* 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.

From-SVN: r47826
2001-12-10 01:18:30 +00:00
Tom Tromey cca9fe755e Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (gnu/gcj/runtime/VMClassLoader.h): Use `::java'.

From-SVN: r47824
2001-12-10 00:30:24 +00:00
Bryce McKinlay f13ff1ca42 re PR java/3731 (gcj should generate class init code for instanceof)
* libjava.lang/PR3731.out: Adjust output to reflect that
	"instanceof" shouldn't trigger class initialization.

From-SVN: r47822
2001-12-09 23:49:29 +00:00
Tom Tromey 91c6dda6c7 Makefile.in: Rebuilt.
* 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.

From-SVN: r47800
2001-12-09 00:17:07 +00:00
Tom Tromey 3297bb4667 verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow): Handle case of array whose component type is not prepared.
* verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow):
	Handle case of array whose component type is not prepared.

From-SVN: r47799
2001-12-09 00:14:00 +00:00
Tom Tromey 941a878b35 ClassLoader.java (defineClass): Rethrow any LinkageError.
* java/lang/ClassLoader.java (defineClass): Rethrow any
	LinkageError.

From-SVN: r47780
2001-12-07 23:34:12 +00:00
Tom Tromey cb47fb054c ThreadGroup.java (uncaughtException): Print message to System.err.
* java/lang/ThreadGroup.java (uncaughtException): Print message to
	System.err.  Required by spec.

From-SVN: r47779
2001-12-07 23:32:24 +00:00
Tom Tromey 286f759e56 verify.cc (_Jv_BytecodeVerifier::branch_prepass): Set start_PC earlier, for error handling.
* verify.cc (_Jv_BytecodeVerifier::branch_prepass): Set start_PC
	earlier, for error handling.
	(_Jv_BytecodeVerifier::note_branch_target): Fixed branch target
	check.

From-SVN: r47769
2001-12-07 19:53:34 +00:00
Tom Tromey 21366e6fe5 verify.cc (_Jv_BytecodeVerifier::FLAG_JSR_TARGET): Removed.
* verify.cc (_Jv_BytecodeVerifier::FLAG_JSR_TARGET): Removed.
	(_Jv_BytecodeVerifier::note_branch_target): Likewise.

From-SVN: r47745
2001-12-07 03:30:47 +00:00
Tom Tromey e94c6dee73 * libjava.compile/BlankFinal.java: Removed; incorrect test.
From-SVN: r47739
2001-12-07 00:12:56 +00:00
Tom Tromey c1bf99a2ab verify.cc (_Jv_BytecodeVerifier::type_val): Added unused_by_subroutine_type.
* 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.

From-SVN: r47734
2001-12-06 23:06:11 +00:00
Tom Tromey 82ae782274 defineclass.cc (character): Removed.
* defineclass.cc (character): Removed.
	(prepare_character): Removed.
	(is_identifier_start): Use Character, not character.
	(is_identifier_part): Likewise.

From-SVN: r47684
2001-12-05 19:28:16 +00:00
Tom Tromey 0c88d7f819 verify.cc (_Jv_BytecodeVerifier::linked_utf8): New structure.
* 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.

From-SVN: r47634
2001-12-04 23:54:43 +00:00
Tom Tromey ef9f3bc449 defineclass.cc (read_one_method_attribute): `end_pc' for an exception can be equal to code length.
* 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.

From-SVN: r47623
2001-12-04 20:18:35 +00:00
Bryce McKinlay 83de3bc47f * Makefile.in: Rebuilt with automake-gcj.
From-SVN: r47593
2001-12-04 07:21:25 +00:00
Tom Tromey 64d3a1b48e defineclass.cc (handleMethodsEnd): Invoke verifier here...
* defineclass.cc (handleMethodsEnd): Invoke verifier here...
	(handleCodeAttribute): ... not here.
	* verify.cc (_Jv_BytecodeVerifier::state::state): Use `copy', not
	structure assignment.

From-SVN: r47591
2001-12-04 06:37:53 +00:00
Bryce McKinlay c4d7a90e8a Makefile.am (nat_files, [...]): Make sure the dependencies don't get deleted if compilation fails.
* Makefile.am (nat_files, x_nat_files): Make sure the dependencies
	don't get deleted if compilation fails.
	* Makefile.in: Rebuilt.

From-SVN: r47520
2001-12-02 04:29:16 +00:00
Bryce McKinlay fc6e87b33f Remove ">>>"
From-SVN: r47472
2001-11-30 03:05:09 +00:00
Bryce McKinlay 9dd668d2fc Makefile.am (nat_headers, [...]): Depend on .class files, not libgcj.jar.
* 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.

From-SVN: r47471
2001-11-30 03:04:01 +00:00
Tom Tromey bea31ffbcb 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.

From-SVN: r47334
2001-11-26 06:40:06 +00:00
Tom Tromey fa88ce26e5 verify.cc (_Jv_BytecodeVerifier::branch_prepass): Use java_opcode as type for switch.
* 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.

From-SVN: r47330
2001-11-25 19:48:19 +00:00
Tom Tromey 200f4143a2 re PR libgcj/4583 (problems BigDecimal(double) ctor.)
Fix for PR libgcj/4583:
	* java/math/BigDecimal.java (BigDecimal(double)): Rewrote.
	(BigDecimal(String)): Likewise.

From-SVN: r47329
2001-11-25 19:32:28 +00:00
Tom Tromey 8051c3d633 verify.cc (_Jv_BytecodeVerifier::branch_prepass): Uses two operand bytes, not one.
* 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.

From-SVN: r47202
2001-11-20 05:16:17 +00:00
Tom Tromey 1578fa9545 verify.cc (_Jv_BytecodeVerifier::require_array_type): Special case for boolean arrays.
* verify.cc (_Jv_BytecodeVerifier::require_array_type): Special
	case for boolean arrays.

	* verify.cc (_Jv_BytecodeVerifier::compute_jump): Put PC into
	error message.

From-SVN: r47190
2001-11-20 00:38:40 +00:00
Tom Tromey 94e1e142fa verify.cc (_Jv_BytecodeVerifier::verify_instructions_0): Shift argument is an int, not a long.
* verify.cc (_Jv_BytecodeVerifier::verify_instructions_0)
	[op_lshl, op_lshr, op_lushr]: Shift argument is an int, not a
	long.

From-SVN: r47177
2001-11-19 18:28:28 +00:00
Tom Tromey d68e5f555d verify.cc (type::to_array): New method.
* verify.cc (type::to_array): New method.
	(_Jv_BytecodeVerifier::verify_instructions_0) [op_anewarray]:
	Construct new array type.

From-SVN: r47165
2001-11-19 07:08:36 +00:00
Tom Tromey 7db43d37b1 verify.cc (_Jv_BytecodeVerifier::branch_prepass): Skip a short, not a byte.
* verify.cc (_Jv_BytecodeVerifier::branch_prepass) [op_sipush]:
	Skip a short, not a byte.
	[op_newarray]: Skip a byte, not a short.

From-SVN: r47163
2001-11-19 02:13:08 +00:00
Tom Tromey 4c6d901a76 verify.cc (_Jv_BytecodeVerifier::get_type_val_for_signature): Added `B' case.
* verify.cc (_Jv_BytecodeVerifier::get_type_val_for_signature):
	Added `B' case.

From-SVN: r47162
2001-11-19 01:37:28 +00:00
Tom Tromey 590077b070 verify.cc (_Jv_BytecodeVerifier::get_ushort): Use `jint' for temporary values.
* 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.

From-SVN: r47161
2001-11-19 01:04:15 +00:00
Tom Tromey e7b35eec24 verify.cc (_Jv_BytecodeVerifier::pop_type): Put PC into error message.
* 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.

From-SVN: r47158
2001-11-19 00:31:37 +00:00
Tom Tromey 604407070b verify.cc: Include StringBuffer.h.
* 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.

From-SVN: r47155
2001-11-18 23:04:28 +00:00
Anthony Green aee4201707 Obvious jni weak reference fix
From-SVN: r47128
2001-11-17 21:32:22 +00:00
Tom Tromey b34e9a5b9f verify.cc (_Jv_BytecodeVerifier::check_field_constant): Handle case where field has primitive type.
* verify.cc (_Jv_BytecodeVerifier::check_field_constant): Handle
	case where field has primitive type.

From-SVN: r47112
2001-11-16 23:39:34 +00:00
Tom Tromey f6b733ed1f verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow): New method.
* 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.

From-SVN: r47097
2001-11-16 19:59:16 +00:00
Tom Tromey 54b6b24152 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.

From-SVN: r47095
2001-11-16 19:52:24 +00:00
Mark Wielaard 74808218ae Timer.java (TaskQueue.isStopped): Remove method.
* java/util/Timer.java (TaskQueue.isStopped): Remove method.
	(Scheduler.run): Try to re-schedule task and ignore exception if
	queue has been stopped.

From-SVN: r47093
2001-11-16 19:00:47 +00:00
Tom Tromey f50e7a2d92 verify.cc (type::compatible): Use _Jv_IsAssignableFrom.
* verify.cc (type::compatible): Use _Jv_IsAssignableFrom.
	(type::merge): Likewise.

From-SVN: r47077
2001-11-16 01:28:55 +00:00
Hans Boehm aa0149ff0c natString.cc: correct argument order for _Jv_AllocPtrFreeObj
* java/lang/natString.cc: correct argument order for
	_Jv_AllocPtrFreeObj

From-SVN: r47035
2001-11-15 02:22:52 +00:00
Tom Tromey 6c5a8271d4 verify.cc (class _Jv_BytecodeVerifier): Fixed logic.
* 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.

From-SVN: r47033
2001-11-15 00:24:38 +00:00
Tom Tromey 6d88e1c332 Constructor.java (toString): Use more efficient form of Modifier.toString().
* java/lang/reflect/Constructor.java (toString): Use more
	efficient form of Modifier.toString().

From-SVN: r47031
2001-11-14 23:42:38 +00:00
Tom Tromey 81bc01c265 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.

From-SVN: r47028
2001-11-14 22:42:42 +00:00
Tom Tromey 852d3dad0d 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/lang/reflect/Modifier.java: Reindented.
	(toString): Only trim trailing space if text was added to
	StringBuffer.
	* java/util/ConcurrentModificationException.java: Javadoc
	updates.
	* java/util/EmptyStackException.java: Likewise.
	* java/util/NoSuchElementException.java: Likewise.

From-SVN: r47018
2001-11-14 19:11:52 +00:00
Tom Tromey f9d44b00b6 re PR libgcj/4859 (java.util.Timer class throw IllegalStateException on cancel())
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.

From-SVN: r46994
2001-11-13 23:09:23 +00:00
Tom Tromey 819138ac7b Makefile.in: Rebuilt.
* 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.

From-SVN: r46990
2001-11-13 17:43:41 +00:00
Bryce McKinlay 96a1ceb357 * boehm.cc (_Jv_GCCanReclaimSoftReference): Fix warning.
From-SVN: r46941
2001-11-12 10:42:45 +00:00
Jeff Sturm 75b17b742a * verify.cc: Wrap in #ifdef INTERPRETER...#endif.
From-SVN: r46882
2001-11-09 17:33:45 +00:00
Tom Tromey b11946180d * verify.cc (skip_padding): Fail if padding byte is nonzero.
From-SVN: r46830
2001-11-07 19:15:54 +00:00
Tom Tromey 2a2be25e12 * HACKING: Make people commit their own patches.
From-SVN: r46816
2001-11-07 01:19:20 +00:00
Tom Tromey a12fe13ddb Class.h (Class): Made _Jv_BytecodeVerifier a friend.
* 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).

From-SVN: r46796
2001-11-05 23:39:54 +00:00
Bryce McKinlay 5a1c2f80f1 * java/util/ResourceBundle.java (class Security): Now static.
From-SVN: r46781
2001-11-05 03:22:18 +00:00
Bryce McKinlay cb3f834fb6 ResourceBundle.java (getClassContext): Removed.
* java/util/ResourceBundle.java (getClassContext): Removed.
	(Security): New class, extends SecurityManger.
	(getBundle): Use Security.getCallingClassLoader instead of
	getClassContext.
	* java/util/natResourceBundle.cc: Removed.

From-SVN: r46761
2001-11-04 04:15:09 +00:00
Tom Tromey a52706f276 defineclass.cc (handleClassBegin): Use Object::class$, not Class::class$, when initializing interface superclass.
* defineclass.cc (handleClassBegin): Use Object::class$, not
	Class::class$, when initializing interface superclass.

From-SVN: r46754
2001-11-04 00:45:33 +00:00
Hans Boehm bce3517960 natResourceBundle.cc (getClassContext): return array of Class instead of array of ClassLoader.
2001-11-02  Hans Boehm <Hans_Boehm@hp.com>

        * java/util/natResourceBundle.cc:getClassContext: return
        array of Class instead of array of ClassLoader.

From-SVN: r46727
2001-11-03 03:13:07 +00:00
Bryce McKinlay dd3a652039 * libjava.lang/TLtest.xfail: New file. Needs threads.
From-SVN: r46710
2001-11-02 06:50:33 +00:00
Joseph Myers 18e1f2bd67 HACKING, [...]: Fix spelling errors.
* 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.

From-SVN: r46665
2001-10-31 00:48:17 +00:00
Bryce McKinlay 415c055a2a jni.cc (JNI_CreateJavaVM): Call _Jv_CreateJavaVM.
* jni.cc (JNI_CreateJavaVM): Call _Jv_CreateJavaVM. Don't call
        _Jv_JNI_Init.

From-SVN: r46633
2001-10-30 10:14:48 +00:00
Tom Tromey 0db58ea45f re PR libgcj/4728 (java.util.zip.GZIPOutputStream.write(int) doesn't update CRC)
* java/util/zip/GZIPOutputStream.java (write(int)): New method.
	Fixes PR libgcj/4728.

From-SVN: r46618
2001-10-29 21:50:07 +00:00
Tom Tromey 2bd989ca96 jni.h (struct JNINativeInterface): Returns jsize, not jint.
* include/jni.h (struct JNINativeInterface) [GetStringLength]:
	Returns jsize, not jint.

From-SVN: r46569
2001-10-27 18:24:51 +00:00
Tom Tromey a0e16076a2 Adler32.java: Use correct class name.
* java/util/zip/Adler32.java: Use correct class name.  (Re-merge
	from Classpath.)

From-SVN: r46561
2001-10-26 22:01:03 +00:00
Bryce McKinlay 3b2a3c4c2a Oops!
From-SVN: r46526
2001-10-26 05:27:58 +01:00
Bryce McKinlay 839f820424 VMClassLoader.java (getPrimitiveClass): Now native.
* 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.

From-SVN: r46521
2001-10-26 02:51:04 +01:00
Alexandre Petit-Bianco 326a0b6aa5 re PR java/3096 (GCJ does not increment)
2001-10-04  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* libjava.lang/PR3096.java: New file.
	* libjava.lang/PR3096.out: Likewise.

( http://gcc.gnu.org/ml/java-patches/2001-q4/msg00165.html )

From-SVN: r46496
2001-10-25 14:13:18 -07:00
Hans Boehm e16ffa0d61 boehm-gc.h: Call thread local allocation functions if THREAD_LOCAL_ALLOC is defined.
* include/boehm-gc.h: Call thread local allocation functions
	if THREAD_LOCAL_ALLOC is defined.

From-SVN: r46490
2001-10-25 17:29:41 +00:00
Bryce McKinlay 11598139d3 natClassLoader.cc (_Jv_RegisterClassHookDefault): Use snprintf, not asprintf.
2001-10-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Use
	snprintf, not asprintf.

From-SVN: r46482
2001-10-25 04:15:37 +01:00
Loren J. Rittle d76b252777 Correct date.
From-SVN: r46477
2001-10-24 22:03:30 +00:00
Loren J. Rittle da97915227 configure.in (case $THREADS): Add *-*-freebsd* configuration.
* 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.

From-SVN: r46476
2001-10-24 21:57:08 +00:00
Tom Tromey 6dee3a2320 Makefile.in: Rebuilt.
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.

Co-Authored-By: Warren Levy <warrenl@redhat.com>

From-SVN: r46474
2001-10-24 21:39:24 +00:00
Tom Tromey b8a5867e51 * java/lang/reflect/Field.java: Made many methods private.
From-SVN: r46467
2001-10-24 18:06:48 +00:00
Tom Tromey 44d8e21c1e * java/sql/Types.java (Types): New constructor.
From-SVN: r46466
2001-10-24 18:04:23 +00:00
Anthony Green ee3ef86255 fix include problem
From-SVN: r46459
2001-10-24 07:00:19 +00:00
Tom Tromey 0a3abdb238 Field.java (Field): New constructor.
* java/lang/reflect/Field.java (Field): New constructor.
	* java/lang/ClassLoader.java (defineClass(String,byte[],int,int)):
	Throw ClassFormatError.

From-SVN: r46458
2001-10-24 04:38:08 +00:00
Tom Tromey b36b070c79 PropertyResourceBundle.java (handleGetObject): Now public.
* java/util/PropertyResourceBundle.java (handleGetObject): Now
	public.
	* java/util/ListResourceBundle.java (handleGetObject): Now public
	and final, per spec.

From-SVN: r46452
2001-10-24 00:01:15 +00:00
Tom Tromey 28a8851e65 * java/io/BufferedWriter.java (localFlush): Don't synchronize.
From-SVN: r46435
2001-10-23 16:18:44 +00:00
Bryce McKinlay e042de67c4 BufferedWriter (write (String, int, int)): Remove redundant bounds checks.
* java/io/BufferedWriter (write (String, int, int)): Remove
	redundant bounds checks.
	(write (char[], int, int)): Likewise.

From-SVN: r46426
2001-10-23 07:04:58 +01:00
Bryce McKinlay d9d6919ebb Fix typos.
From-SVN: r46425
2001-10-23 06:43:49 +01:00
Bryce McKinlay afb2dec526 prims.cc (_Jv_Abort): Always print error message using fprintf, don't try to allocate.
* 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.

From-SVN: r46424
2001-10-23 06:42:03 +01:00
Tom Tromey 187e37f9a6 GregorianCalendar.java (getGregorianChange): Removed `date' argument.
* java/util/GregorianCalendar.java (getGregorianChange): Removed
	`date' argument.

From-SVN: r46423
2001-10-23 04:16:13 +00:00
Bryce McKinlay 33d4b70f02 JIS0208_to_Unicode.cc: Declare java_exceptions pragma.
* 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.

From-SVN: r46400
2001-10-22 06:38:25 +01:00
Mark Wielaard f0fdd66ba4 Double.java: More Classpath merging
* 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()

From-SVN: r46370
2001-10-20 06:26:45 +00:00
Mark Wielaard 16f7dac7f5 BinaryRefAddr.java: New file
* 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

From-SVN: r46364
2001-10-19 20:36:07 +00:00
Tom Tromey ac569f305c BufferedWriter.java (write(String,int,int)): Correctly check bounds.
* java/io/BufferedWriter.java (write(String,int,int)): Correctly
	check bounds.

From-SVN: r46338
2001-10-18 23:43:59 +00:00
Tom Tromey c586d12794 Security.java (loadProviders): Removed unused `pname' variable.
* 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'.

From-SVN: r46332
2001-10-18 17:51:47 +00:00
Tom Tromey 8ea6262761 SHA1PRNG.java (engineNextBytes): Rewrote.
* gnu/java/security/provider/SHA1PRNG.java (engineNextBytes):
	Rewrote.
	* java/security/SecureRandom.java (setSeed(long)): Don't set seed
	if secureRandomSpi is not initialized.

From-SVN: r46327
2001-10-18 00:05:29 +00:00
Tom Tromey 9c48b4d1e4 Makefile.in: Rebuilt.
* 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.

From-SVN: r46326
2001-10-18 00:03:48 +00:00
Tom Tromey fcb4e2ef92 Security.java (loadProviders): Added `vendor' argument.
* java/security/Security.java (loadProviders): Added `vendor'
	argument.
	Load both `classpath' and `java.vm.name' providers.

From-SVN: r46325
2001-10-18 00:01:49 +00:00
Anthony Green b011ef316b Security.java (loadProviders): Fix bug in how providers are loaded.
2001-10-17  Anthony Green  <green@redhat.com>

	* java/security/Security.java (loadProviders): Fix bug in how
	providers are loaded.

From-SVN: r46319
2001-10-17 18:03:41 +00:00
Tom Tromey c0e5eb1602 javaprims.h: Updated class list.
* gcj/javaprims.h: Updated class list.
	* java/util/Hashtable.java: Re-merged with Classpath.

From-SVN: r46295
2001-10-16 22:00:32 +00:00
Bryce McKinlay 5b0b42ed61 Forgot this file in last commit.
From-SVN: r46284
2001-10-16 12:18:03 +01:00
Bryce McKinlay 107abb2f61 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.

From-SVN: r46282
2001-10-16 09:35:17 +01:00
Bryce McKinlay 6fd617e3e1 * name-finder.cc (_Jv_name_finder::lookup): Check for NULL dli_sname.
From-SVN: r46280
2001-10-16 08:36:12 +01:00
Bryce McKinlay 41878ce27e [multiple changes]
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.

From-SVN: r46277
2001-10-16 06:47:01 +01:00
Tom Tromey 0e91d38470 AccessibleObject.java (checkPermission): Implemented.
* java/lang/reflect/AccessibleObject.java (checkPermission):
	Implemented.
	Updated copyright information.

From-SVN: r46272
2001-10-15 22:45:03 +00:00
Hans Boehm 3a8da0244a natObject.cc (heavy_lock): Moved fields old_client_data, old_finalization_proc near beginning.
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.

From-SVN: r46271
2001-10-15 22:42:42 +00:00
Tom Tromey 7d6fd8fd4c Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new file.
	* java/beans/AppletInitializer.java: New file.

From-SVN: r46267
2001-10-15 17:46:06 +00:00
Tom Tromey e94f5bac70 SocketPermission.java (hostport, actions): Now private.
* java/net/SocketPermission.java (hostport, actions): Now
	private.

From-SVN: r46266
2001-10-15 16:32:51 +00:00
Mark Wielaard 06c0908ba6 Double.java: Partial merge with Classpath
* 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

From-SVN: r46263
2001-10-15 06:31:13 +00:00
Tom Tromey 48d24deb4e * java/lang/SecurityManager.java (SecurityManager): Now public.
From-SVN: r46247
2001-10-13 23:23:50 +00:00
Tom Tromey 41bd2b1cc2 AccessController.java (checkPermission): Now throws AccessControlException.
* 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.

From-SVN: r46246
2001-10-13 23:21:07 +00:00
Tom Tromey 42273f3225 Makefile.in: Rebuilt.
* 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.

From-SVN: r46235
2001-10-12 22:04:07 +00:00
Tom Tromey 9d577a61fd configure: Rebuilt.
* configure: Rebuilt.
	* configure.in: Recognize --disable-java-awt.

From-SVN: r46186
2001-10-11 15:52:39 +00:00
Tom Tromey eeedeb5a17 natFinalizerThread.cc: New file.
* 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.

From-SVN: r46163
2001-10-10 22:25:43 +00:00
Per Bothner d1d8ed9877 strtod.c (_strtod_r): Logic to check for missing digits after exponent had 'else' attached to wrong 'if'.
* strtod.c (_strtod_r):  Logic to check for missing digits
	after exponent had 'else' attached to wrong 'if'.

From-SVN: r46132
2001-10-09 15:54:26 -07:00
Mark Wielaard 481aae6fc2 * java/net/SocketImpl.java: Merge with Classpath
From-SVN: r46129
2001-10-09 21:44:54 +00:00
Mark Wielaard 0d47f08629 * java/net/DatagramSocketImpl.java: Merge with Classpath
From-SVN: r46127
2001-10-09 17:40:13 +00:00
Mark Wielaard 0bdf7869bf URLDecoder.java: Remerge with Classpath
* java/net/URLDecoder.java: Remerge with Classpath
	* java/net/URLEncoder.java: Merge with Classpath

From-SVN: r46098
2001-10-08 21:03:34 +00:00
Tom Tromey d281f2a236 re PR libgcj/4481 (java.io.File.getParent not working properly)
Fix for PR libgcj/4481:
	* java/io/File.java (getParent): Handle case where path is "/".
	(normalizePath): Use correct string for UNC leader.

From-SVN: r46093
2001-10-08 20:42:13 +00:00
Mark Wielaard 11064ef947 * java/io/BufferedInputStream.java: Merge with Classpath
From-SVN: r46086
2001-10-08 18:53:49 +00:00
Joseph Myers cc712abf04 acinclude.m4: Fix spelling error of "separate" as "seperate".
config:
	* acinclude.m4: Fix spelling error of "separate" as "seperate".

gcc:
	* ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
	genmultilib, toplev.c: Fix spelling errors of "separate" as
	"seperate", and corresponding spelling errors of related words.

gcc/ada:
	* 5oosinte.adb: Fix spelling error of "separate" as "seperate".

gcc/testsuite:
	* gcc.c-torture/unsorted/unsorted.exp, lib/file-format.exp: Fix
	spelling errors of "separate" as "seperate".

libffi:
	* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".

libjava:
	* 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.

libstdc++-v3:
	* docs/html/22_locale/locale.html, docs/html/faq/index.html: Fix
	spelling errors of "separate" as "seperate", and corresponding
	spelling errors of related words.
	* docs/html/faq/index.txt: Regenerate.

From-SVN: r46063
2001-10-07 19:02:46 +01:00
Tom Tromey cb9ad228b6 DecimalFormat.java (format): Use localized minus sign when generating exponent; never use `+'.
* java/text/DecimalFormat.java (format): Use localized minus sign
	when generating exponent; never use `+'.  Use floor to compute
	exponent.

From-SVN: r46045
2001-10-05 21:25:23 +00:00
Mark Wielaard 2600825ee1 Adler32.java: Merge with Classpath
* 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

From-SVN: r46035
2001-10-05 15:21:35 +00:00
Martin Kahlert e62bad3dc9 jni.cc (_Jv_JNI_DeleteLocalRef): Use correct frame size
2001-10-04  Martin Kahlert  <martin.kahlert@infineon.com>

	* jni.cc (_Jv_JNI_DeleteLocalRef): Use correct frame size

From-SVN: r46034
2001-10-05 14:23:06 +00:00
Mark Wielaard ffb0e73a97 * java/lang/reflect/Modifier.java: Merge with Classpath
From-SVN: r46019
2001-10-05 00:16:03 +00:00
Mark Wielaard ce0d5fce2b SequenceInputStream.java: Merge with Classpath
* java/io/SequenceInputStream.java: Merge with Classpath
	* java/io/StringBufferInputStream.java: Ditto
	* java/util/Collections.java: Remerge with Classpath

From-SVN: r46005
2001-10-04 05:34:47 +00:00
Tom Tromey b52a8930ff natReference.cc (add_to_hash): Set n->next before setting *link.
* java/lang/ref/natReference.cc (add_to_hash): Set n->next before
	setting *link.

From-SVN: r45996
2001-10-03 16:47:02 +00:00
Bryce McKinlay 359627b597 * gij.cc (version): Use GCJVERSION.
From-SVN: r45993
2001-10-03 12:42:28 +01:00
Bryce McKinlay 8b6013ad43 * resolve.cc (_Jv_PrepareClass): Fix typos in vtable layout.
From-SVN: r45988
2001-10-03 08:54:34 +01:00
Mark Wielaard d352477d45 Makefile.am (core_java_source_files): add InheritableThreadLocal
* 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()

From-SVN: r45979
2001-10-02 22:49:59 +00:00
Mark Wielaard 627a8b878e Makefile.am: Add new classes
* 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

From-SVN: r45969
2001-10-02 20:59:31 +00:00
Tom Tromey 2b3d3db68d javaprims.h: Rebuilt class list.
* 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.

From-SVN: r45958
2001-10-02 14:31:47 +00:00
Tom Tromey 62a040818a prims.cc (_Jv_NewMultiArrayUnchecked): New method.
* 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.

From-SVN: r45951
2001-10-02 13:44:32 +00:00
Mark Wielaard 477946a63d FileWriter.java: Merge with Classpath.
* 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.

From-SVN: r45930
2001-10-01 18:24:54 +00:00
Mark Wielaard cfcdbe5480 DataInput.java: Merge with Classpath.
* 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.

From-SVN: r45910
2001-09-30 18:04:38 +00:00
Bryce McKinlay 218e1e912d re PR libgcj/4383 (file: protocol not supported in URLConnection?)
PR libgcj/4383

	* 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.

From-SVN: r45898
2001-09-30 08:52:16 +01:00
Bryce McKinlay 8444766847 natClass.cc (_Jv_IsAssignableFrom): Handle the case of an uninitialized target class.
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Handle the case of
        an uninitialized target class.

From-SVN: r45893
2001-09-30 03:41:54 +01:00
Per Bothner 8107bcf9f3 SharedLibLoader.java: New class.
* 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.

From-SVN: r45885
2001-09-29 12:16:27 -07:00
Jeff Sturm fad0903846 Makefile.am (libgcj_la_LDFLAGS): Added $(GCLIBS), $(ZLIBS).
* Makefile.am (libgcj_la_LDFLAGS): Added $(GCLIBS), $(ZLIBS).
	* Makefile.in: Rebuilt.

From-SVN: r45873
2001-09-29 04:07:28 +00:00
Alexandre Petit-Bianco 5952078834 final_initialization_in_ctor.java: New file
2001-09-27  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* libjava.compile/final_initialization_in_ctor.java: New file

( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg01160.html )

From-SVN: r45843
2001-09-27 12:17:16 -07:00
Tom Tromey 0caade1b54 IdentityHashMap.java (containsKey): Use getHash.
* 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 `>='.

From-SVN: r45841
2001-09-27 16:49:13 +00:00
Tom Tromey 03219cb5d9 Configuration.java.in (INIT_LOAD_LIBRARY): New constant.
* gnu/classpath/Configuration.java.in (INIT_LOAD_LIBRARY): New
	constant.
	* java/io/StreamTokenizer.java, java/util/ResourceBundle.java:
	Re-merged with Classpath.

From-SVN: r45835
2001-09-27 00:24:52 +00:00
Tom Tromey 1685382e99 DataInputStream.java (readChar): Use readFully.
* java/io/DataInputStream.java (readChar): Use readFully.
	(readInt): Likewise.
	(readLong): Likewise.
	(readShort): Likewise.
	(readUnsignedShort): Likewise.

From-SVN: r45834
2001-09-26 22:49:02 +00:00
Bryce McKinlay b056c22c8e * java/security/cert/X509Extension.java: Merge from classpath.
From-SVN: r45798
2001-09-25 05:11:21 +01:00
Bryce McKinlay 4f7279ab3e PosixProcess.java (exitValue): Implement here.
* 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.

From-SVN: r45766
2001-09-24 05:51:50 +01:00
Anthony Green 2155677ceb old fix
From-SVN: r45759
2001-09-23 01:08:05 +00:00
Anthony Green 8eba5a2b7f misc fixes
From-SVN: r45758
2001-09-23 01:05:55 +00:00
Richard Henderson f5ddf15465 jvm.h (_Jv_VTable): Handle function descriptors for ia64...
* 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.

From-SVN: r45734
2001-09-21 09:59:12 -07:00
Richard Henderson 01c62aea29 no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments.
* no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments.
        * java/lang/mprec.c (lo0bits): Fix paren typo.

From-SVN: r45724
2001-09-21 00:46:32 -07:00
Bryce McKinlay f449e8853b posix-threads.cc (_Jv_ThreadInterrupt): Re-enable interrupt of blocking IO via pthread_kill().
* 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.

From-SVN: r45719
2001-09-21 05:23:31 +01:00
Anthony Green bb7fd9624b Fix null pointer bug.
From-SVN: r45692
2001-09-19 18:28:59 +00:00
Andreas Jaeger 63dc70a159 * jni.cc (array_from_valist): Use promoted types for va_arg.
From-SVN: r45650
2001-09-17 07:08:10 +02:00
Anthony Green 214bcb99a1 Add support for iso8859_1.
From-SVN: r45649
2001-09-17 02:28:53 +00:00
Tom Tromey 9a5257d5e9 TimeZone.java: Updated list of timezones from Classpath.
* java/util/TimeZone.java: Updated list of timezones from
	Classpath.

From-SVN: r45622
2001-09-15 01:22:39 +00:00
Tom Tromey 6d8b8de30f CloneNotSupportedException.java: Re-merged with Classpath.
* java/lang/CloneNotSupportedException.java: Re-merged with
	Classpath.

From-SVN: r45599
2001-09-14 16:19:30 +00:00
Bryce McKinlay 6a3d403114 Hashtable.java (Enumerator): Ensure that if hasMoreElements() returns true...
* java/util/Hashtable.java (Enumerator): Ensure that if
	hasMoreElements() returns true, nextElement() will always return
	something even if the table has been modified.

From-SVN: r45584
2001-09-14 00:20:19 +01:00
Bryce McKinlay 7364d5f851 File.java (normalizePath): Use equals() not '==' for string comparison.
* java/io/File.java (normalizePath): Use equals() not '==' for string
	comparison.

From-SVN: r45583
2001-09-14 00:18:07 +01:00
Tom Tromey 3642e753f3 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (class-check): New target.

From-SVN: r45562
2001-09-12 15:13:32 +00:00
Tom Tromey 45571704cf * java/io/File.java (toURL): Use getAbsolutePath and `file://'.
From-SVN: r45556
2001-09-12 04:28:32 +00:00
Tom Tromey fe5de1176e Properties.java (load): Correctly read \u sequences.
* java/util/Properties.java (load): Correctly read \u sequences.
	Report from Anthony Green.

From-SVN: r45532
2001-09-11 03:13:07 +00:00
Manfred Hollstein 1603cd96e3 configure.in (LIBFFIINCS): Quote uses of $(top_srcdir) and $(MULTIBUILDTOP).
* configure.in (LIBFFIINCS): Quote uses of $(top_srcdir)
	and $(MULTIBUILDTOP).
	* configure: Re-generate.

From-SVN: r45515
2001-09-10 18:26:48 +00:00
Bryce McKinlay 7866a458e2 jvm.h (_Jv_AllocRawObj): New prototype.
* 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.

From-SVN: r45497
2001-09-10 02:21:08 +01:00
Anthony Green 9978052974 ResourceBundle fixes
From-SVN: r45472
2001-09-07 18:14:20 +00:00
Tom Tromey 89066f10f5 RuleBasedCollator.java (clone): Rewrote.
* 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.

From-SVN: r45458
2001-09-07 00:15:47 +00:00
Anthony Green a11e2c2279 jvm.h: Declare _Jv_RegisterResource.
* 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.

From-SVN: r45450
2001-09-06 22:32:54 +00:00
Tom Tromey d70dd6c835 * java/util/Properties.java: Re-merged from Classpath.
From-SVN: r45442
2001-09-06 17:16:09 +00:00
Tom Tromey 7dcc5966f0 From Eric Blake, via Classpath:
* java/lang/String.java (CaseInsensitiveComparator): New class.
	(CASE_INSENSITIVE_ORDER): Use instance of CaseInsensitiveComparator.

From-SVN: r45425
2001-09-05 19:32:57 +00:00
Tom Tromey 4d9efc41d4 * java/util/Date.java: Re-merged with Classpath.
From-SVN: r45421
2001-09-05 18:10:47 +00:00
Tom Tromey 14cb2541d9 * java/text/DateFormatSymbols.java: Re-merged with Classpath.
From-SVN: r45420
2001-09-05 17:56:46 +00:00
Corey Minyard c946ec44f8 natClassLoader.cc: Include VirtualMachineError.h
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.

Co-Authored-By: Tom Tromey <tromey@redhat.com>

From-SVN: r45418
2001-09-05 17:48:18 +00:00
Tom Tromey c1a13c5f88 natSystem.cc (init_properties): Default locale is en_US, not just en.
* java/lang/natSystem.cc (init_properties): Default locale is
	en_US, not just en.

From-SVN: r45417
2001-09-05 17:11:57 +00:00
Bryce McKinlay d9ef6ef7d9 MessageFormat.java (setLocale): Don't catch ParseException here, DecimalFormat.applyPattern() does not throw it.
* java/text/MessageFormat.java (setLocale): Don't catch ParseException
        here, DecimalFormat.applyPattern() does not throw it.

From-SVN: r45398
2001-09-05 08:26:33 +01:00
Tom Tromey ef671f4175 AbstractMap.java: Re-merged with Classpath.
* java/util/AbstractMap.java: Re-merged with Classpath.
	* java/util/IdentityHashMap.java: Re-merged with Classpath.

From-SVN: r45391
2001-09-05 00:14:15 +00:00
Tom Tromey a1f4e5ed0a SimpleDateFormat.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.

From-SVN: r45390
2001-09-05 00:00:55 +00:00
Tom Tromey 9d6466593e re PR libgcj/4213 (SimpleDateFormat constructor SEGV's.)
Fix for PR libgcj/4213:
	* Makefile.am (ordinary_java_source_files): Added new file.
	* gnu/gcj/text/LocaleData.java: New file.

From-SVN: r45381
2001-09-04 17:18:20 +00:00
Tom Tromey 9d09d14437 re PR libgcj/4208 (Problem using 'null' with Java reflection)
* java/lang/reflect/natField.cc (set): Allow for case when the
	value is null.  Fixes PR libgcj/4208.

From-SVN: r45367
2001-09-04 03:03:33 +00:00
Tom Tromey 464cf8d2bf AlgorithmParameterSpec.java, [...]: Re-merged with Classpath.
* java/security/spec/AlgorithmParameterSpec.java,
	java/security/spec/KeySpec.java: Re-merged with Classpath.

From-SVN: r45355
2001-09-02 06:36:55 +00:00
Tom Tromey 75df3bafe1 javaprims.h: Regenerated class list.
* gcj/javaprims.h: Regenerated class list.
	* java/lang/IllegalThreadStateException.java,
	java/lang/InstantiationException.java: Minor comment tweaks to
	satisfy libgcj `classes.pl' script.

From-SVN: r45354
2001-09-02 06:26:09 +00:00
Tom Tromey 7eee682ba8 Makefile.in: Rebuilt.
* 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.

From-SVN: r45353
2001-09-02 06:18:49 +00:00
Alexandre Petit-Bianco bb52725527 final_assignment_check.java: New file.
2001-08-28  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* libjava.compile/final_assignment_check.java: New file.
	* libjava.compile/final_assignment_check.xfail: Likewise.
	* libjava.compile/final_local_switch.java: Likewise.

(http://gcc.gnu.org/ml/java-patches/2001-q3/msg00342.html )

From-SVN: r45346
2001-08-31 21:54:05 -07:00
Per Bothner dee45a7f96 javaprims.h (_Jv_RegisterClassHook): New extern declaration.
* 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.

From-SVN: r45344
2001-08-31 18:26:14 -07:00
Per Bothner 8635bb79f2 ClassLoader.java (system): Remove static field.
* 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.

From-SVN: r45343
2001-08-31 18:17:24 -07:00
Tom Tromey 788d7b942c BufferedReader.java, [...]: Re-merged with Classpath.
* java/io/BufferedReader.java, java/io/ObjectInput.java,
	java/io/ObjectInputValidation.java, java/io/ObjectOutput.java:
	Re-merged with Classpath.

From-SVN: r45342
2001-09-01 00:59:09 +00:00