Commit Graph

1168 Commits

Author SHA1 Message Date
Chris Sears 00cc944db9 interpret.cc (ARRAYBOUNDSCHECK): New macro.
2002-01-08  Chris Sears  <cbsears_sf@yahoo.com>

	* interpret.cc (ARRAYBOUNDSCHECK): New macro.
	(continue1) [insn_iaload, insn_laload, insn_faload, insn_daload,
	insn_aaload, insn_baload, insn_caload, insn_saload, insn_iastore,
	insn_lastore, insn_fastore, insn_dastore, insn_aastore,
	insn_bastore, insn_castore, insn_sastore]: Use it.
	(continue1) [insn_arraylength]: Check for null array.

From-SVN: r48652
2002-01-08 19:07:46 +00:00
Andreas Tobler ebecd56de9 configure, [...]: Rebuilt.
2002-01-06 Andreas Tobler <a.tobler@schweiz.ch>

	* configure, include/config.h.in: Rebuilt.
	* java/lang/natSystem.cc (getSystemTimeZone): Check HAVE_TM_ZONE.
	* configure.in: Call AC_STRUCT_TIMEZONE.

From-SVN: r48588
2002-01-06 21:38:15 +00:00
Andreas Tobler c6c3221d21 configure.host: Disable the interpreter for Darwin.
2002-01-02 Andreas Tobler <a.tobler@schweiz.ch>

	* configure.host: Disable the interpreter for Darwin.

From-SVN: r48557
2002-01-05 04:00:32 +00:00
Tom Tromey 81550d0e5f Thread.java (stop): No longer synchronized.
* java/lang/Thread.java (stop): No longer synchronized.
	(start): Likewise.

From-SVN: r48540
2002-01-04 20:38:20 +00:00
Tom Tromey 95574a4c76 ieeefp.h: Fix bug in my hand-application of previous patch.
* java/lang/ieeefp.h: Fix bug in my hand-application of previous
	patch.

From-SVN: r48475
2002-01-02 15:58:39 +00:00
Andrew Pinski 0beb74f25c 2002-1-1 Andrew Pinski <pinskia@physics.uc.edu>
* libjava/java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for
	PPC Darwin, not for all of Darwin.

From-SVN: r48473
2002-01-02 15:07:16 +00:00
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 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 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
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
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 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
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 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
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 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 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
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