12001-12-29 Andreas Tobler <a.tobler@schweiz.ch>
2
3	* libjava/java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for
4	Darwin.
5
62001-12-21  Tom Tromey  <tromey@redhat.com>
7
8	* java/io/ObjectInputStream.java (enableResolveObject): Use
9	correct security check.
10	* java/io/ObjectOutputStream.java (enableReplaceObject): Use
11	correct security check.
12
13	Fix for PR java/5165:
14	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass):
15	Convert any constant string field to a String; not just final
16	fields.
17
18	Fix for PR libgcj/2428:
19	* java/lang/natClass.cc: Include RuntimePermission.h.
20	(getClassLoader): Define.
21	* java/lang/Class.h (Class.getClassLoader): Only declare.
22
232001-12-19  Tom Tromey  <tromey@redhat.com>
24
25	* java/awt/FlowLayout.java (FlowLayout(), FlowLayout(int)): Set
26	gaps to 5.
27	(FlowLayout(int,int,int)): Use methods to set fields.
28	(getSize): Skip invisible components.
29	(layoutContainer): Skip invisible components.
30
312001-12-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
32
33	* include/jvm.h (_Jv_BuildGCDescr): Declare unconditionally.
34	* nogc.cc (_Jv_BuildGCDescr): Define unconditionally.
35	* boehm.cc (_Jv_BuildGCDescr): Likewise.
36
372001-12-18  Tom Tromey  <tromey@redhat.com>
38
39	* java/text/CollationElementIterator.java (secondaryOrder): Cast
40	result to `short'.
41	(tertiaryOrder): Likewise.
42
432001-12-16  Tom Tromey  <tromey@redhat.com>
44
45	For PR libgcj/5103:
46	* include/jvm.h (__GCJ_JNI_IMPL__): Define.
47	* include/config.h.in: Rebuilt.
48	* configure: Rebuilt.
49	* configure.in: Define JV_HAVE_INTTYPES_H if inttypes.h found.
50	Added comment for HAVE_DLOPEN to avoid autoheader error.
51	* gcj/libgcj-config.h.in (JV_HAVE_INTTYPES_H): Added.
52	* include/jni.h: Include <gcj/libgcj-config.h>.  Don't include
53	CNI-specific headers if we are compiling ordinary JNI code with a
54	C++ compiler.  Include <inttypes.h> and JNIWeakRef.h when
55	appropriate.
56	* jni.cc: Don't include JNIWeakRef.h.
57	(__GCJ_JNI_IMPL__): Don't define.
58
59	For PR java/5088:
60	* java/lang/natClassLoader.cc (_Jv_InitNewClassFields): New
61	function.
62	(_Jv_NewClass): Use it.
63	(defineClass0): Use it.
64	* prims.cc (_Jv_InitPrimClass): Adjust vtable here.
65	(_Jv_InitPrimClass): Use _Jv_InitNewClassFields.
66	(_Jv_NewArray): Don't abort; just throw exception.
67	Include InternalError.h.
68	* java/lang/Class.h (Class::Class): Declare, don't define.
69	(Class): Declare _Jv_InitNewClassFields as a friend.
70	(union _Jv_Self): Removed.
71
72	* Makefile.in: Rebuilt.
73	* Makefile.am (ordinary_java_source_files): Removed old file;
74	added new file.
75	* gnu/java/math/MPN.java: New file.
76	* gnu/gcj/math/MPN.java: Removed.
77	* java/math/BigInteger.java: Merged with Classpath.
78
792001-12-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
80
81	* java/io/DataOutputStream (write (byte[], int, int)): Update
82	"written" correctly. Fix from the ORP team.
83
842001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
85
86	* include/jvm.h (_Jv_VTable::idx_to_offset): New method.
87	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
88	_Jv_MakeVTable and _Jv_LinkOffsetTable if needed.
89	* java/lang/Class.h (_Jv_Method): Add "index" field.
90	(_Jv_MethodSymbol): New struct type.
91	(_Jv_LinkOffsetTable, _Jv_LayoutVTableMethods, _Jv_SetVTableEntries,
92	_Jv_MakeVTable): Friends.
93	(otable, otable_syms): New Class fields.
94	* java/lang/natClass.cc (_Jv_LinkOffsetTable): New function.
95	(isVirtualMethod): New static function.
96	(_Jv_LayoutVTableMethods): New function.
97	(_Jv_SetVTableEntries): New function.
98	(_Jv_MakeVTable): New function.
99
1002001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
101
102	* java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of
103	the bitset.
104	(andNot): Likewise.
105	(xor): Likewise.
106
1072001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
108
109	* java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
110	entry.
111
1122001-12-15  Eric Blake  <ebb9@email.byu.edu>
113
114	* java/util/TreeMap.java (removeNode): Fix bug in node removal.
115
1162001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
117
118	* java/util/AbstractCollection.java (containsAll): Use size of the
119	correct collection for loop bound.
120	* java/util/AbstractList.java (iterator.next): Increment pos after
121	calling get on backing list.
122	(listIterator.next): Likewise.
123	* java/util/LinkedList.java (addLastEntry): Don't increment size before
124	checking for size == 0.
125	(addFirstEntry): Rearrange to match addLastEntry.
126	(add): Do not increment size before inserting the new entry.
127
128	* java/util/AbstractCollection.java (addAll): Use size of the
129	correct collection for loop bound.
130
1312001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
132
133	* java/util/AbstractSet.java (removeAll): Fix scoping thinko.
134	* java/util/HashMap.java (putAllInternal): Set size here.
135	* java/util/Hashtable.java (putAllInternal): New method. Copy contents
136	of a map efficiently without calling put() or putAll().
137	(Hashtable (map)): Use putAllInternal.
138	(clone): Likewise.
139
1402001-12-15  Eric Blake  <ebb9@email.byu.edu>
141
142	* java/util/Collections.java:
143	* java/util/Vector.java:
144	* java/util/WeakHashMap.java: Fix spelling errors.
145
1462001-12-15  Eric Blake  <ebb9@email.byu.edu>
147
148	* java/util/AbstractCollection.java (removeAllInternal),
149	(retainAllInternal): Add hooks for use by ArrayList.
150	* java/util/AbstractList.java: Minor code updates. Fix some
151	scoping.
152	* java/util/AbstractMap.java: ditto
153	* java/util/ArrayList.java (readObject, writeObject): ditto
154	(removeAllInternal, retainAllInternal): Optimize.
155	* java/util/Arrays.java: ditto
156	* java/util/Collections.java: ditto. Change order of parameters
157	to equals(Object, Object) to match specs.
158	* java/util/Dictionary.java: Improve javadoc.
159	(Dictionary): Add explicit constructor.
160	* java/util/HashMap.java: Improve javadoc. Rearrange methods to
161	follow order in JDK. Cleanups related to recent code migration to
162	AbstractMap. Fix some scoping.
163	(entrySet): Cache the result.
164	(modCount): Ensure that this is updated correctly.
165	* java/util/HashSet.java: Improve javadoc. Fix some scoping.
166	(init): Add hooks for LinkedHashSet.
167	(map): Use "" instead of Boolean.TRUE in backing map. Use
168	package-private API where possible for less overhead.
169	(readObject, writeObject): Fix serialization.
170	* java/util/Hashtable.java: Improve javadoc. Fix some scoping.
171	(entrySet, keySet, values): Cache the result.
172	(modCount): Ensure that this is updated correctly.
173	(contains, remove): Fix NullPointer checking to match specs.
174	(class Enumeration): Make more like HashIterator.
175	* java/util/IdentityHashMap.java: Minor code updates.
176	(modCount): Ensure that this is updated correctly.
177	(readObject, writeObject): Fix serialization.
178	* java/util/LinkedHashMap.java: Minor code updates. Cleanups
179	related to recent code migration to AbstractMap.
180	* java/util/LinkedHashSet.java: New file.
181	* java/util/LinkedList.java:
182	(readObject, writeObject): Fix serialization.
183	* java/util/Makefile.am: List recently added files.
184	* java/util/Stack.java: Minor code updates.
185	* java/util/TreeMap.java: Improve javadoc. Overhaul the class to
186	be more efficient. Fix some scoping. Rearrange the methods.
187	(nil): Ensure that this can be thread-safe, and make it a static
188	final. Initialize it to be more useful as a sentinal node.
189	(Node): Specify color in constructor.
190	(deleteFixup, insertFixup): Improve comments and algorithm.
191	(fabricateTree): Redesign with less overhead.
192	(lowestGreaterThan): Add parameter first to make SubMap easier.
193	(removeNode): Patch hole where nil was being modified. Choose
194	predecessor instead of successor so in-place swap works.
195	(class VerifyResult, verifyTree, verifySub, verifyError): Remove
196	this dead code after verifying the class works.
197	(class SubMap): Rewrite several algorithms to avoid problems with
198	comparing nil.
199	* java/util/TreeSet.java: Improve javadoc. Fix some scoping.
200	(clone): Fix ClassCastException when cloning subSet().
201	(readObject, writeObject): Fix serialization.
202	* java/util/WeakHashMap.java: Improve javadoc. Fix some scoping.
203	(NULL_KEY): Make it compare as null, for ease elsewhere.
204	(Class WeakEntry): Rename from Entry, to avoid shadowing
205	Map.Entry. Add missing toString.
206	(modCount): Ensure that this is updated correctly.
207	(clear, containsValue, keySet, putAll, values, WeakHashMap(Map)):
208	Add missing methods and constructor.
209
2102001-12-15  Eric Blake  <ebb9@email.byu.edu>
211
212	* java/util/ArrayList.java (checkBoundExclusive),
213	(checkBoundInclusive): Rename from range??clusive, to match
214	AbstractList.
215	* java/util/LinkedList.java (checkBoundsExclusive),
216	(checkBoundsInclusive): ditto
217	* java/util/Vector.java (checkBoundExclusive),
218	(checkBoundInclusive): Move bounds checking into common methods.
219
2202001-12-15  Eric Blake  <ebb9@email.byu.edu>
221
222	* java/util/AbstractList.java:
223	(modCount): Make sure it is updated in all needed places.
224	* java/util/ArrayList.java: Improve javadoc. Implements
225	RandomAccess. Add serialVersionUID. Reorder methods.
226	(modCount): Make sure it is updated in all needed places.
227	(rangeExclusive, rangeInclusive): Add common methods for bounds
228	check.
229	(isEmpty): Add missing method.
230	* java/util/Collections.java: (class SynchronizedList): Make
231	package visible.
232	* java/util/ConcurrentModificationException.java: Improve
233	javadoc.
234	* java/util/EmptyStackException.java: Improve javadoc.
235	* java/util/LinkedList.java: Improve javadoc.
236	(modCount): Make sure it is updated in all needed places.
237	(rangeExclusive, rangeInclusive): Add common methods for bounds
238	check.
239	* java/util/NoSuchElementException.java: Improve javadoc.
240	* java/util/Stack.java: Improve javadoc. Fix synchronization
241	issues.
242	(modCount): Make sure it is updated in all needed places.
243	* java/util/Vector.java: Improve javadoc. Fix synchronization
244	issues. Implements RandomAccess. Reorder methods.
245	(modCount): Make sure it is updated in all needed places.
246	(setSize): Fix according to specifications: this does not dictate
247	the backing array size.
248	(removeAll, retainAll): Faster implementations.
249
2502001-12-15  Eric Blake  <ebb9@email.byu.edu>
251
252	* java/util/BitSet.java: Improve javadoc.
253	(cardinality(), clear(), clear(int, int), flip(int)),
254	(flip(int, int), get(int, int), intersects(BitSet), isEmpty()),
255	(nextClearBit(int), nextSetBit(int), set(int, boolean)),
256	(set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods.
257	(clone): Fix so subclasses clone correctly.
258
2592001-12-15  Eric Blake  <ebb9@email.byu.edu>
260
261	* java/util/AbstractCollection.java: Improve javadoc.
262	(AbstractCollection()): Make constructor protected.
263	(equals(Object, Object), hashCode(Object)): Add utility methods.
264	* java/util/AbstractList.java: Improve javadoc.
265	(AbstractList()): Make constructor protected.
266	(indexOf(Object)): Call listIterator(), not listIterator(int).
267	(iterator()): Follow Sun's requirement to not use listIterator(0).
268	(listIterator(int)): Make AbstractListItr anonymous.
269	(subList(int, int)): Add support for RandomAccess.
270	(SubList.add(int, Object), SubList.remove(Object)): Fix bug with
271	modCount tracking.
272	(SubList.addAll(Collection)): Add missing method.
273	(SubList.listIterator(int)): Fix bugs in indexing, modCount
274	tracking.
275	(class RandomAccessSubList): Add new class.
276	* java/util/AbstractMap.java: Improve javadoc.
277	(keys, values, KEYS, VALUES, ENTRIES): Consolidate common map
278	fields.
279	(AbstractMap()): Make constructor protected.
280	(equals(Object, Object), hashCode(Object)): Add utility methods.
281	(equals(Object)): Change algorithm to
282	entrySet().equals(m.entrySet()), as documented by Sun.
283	(keySet(), values()): Cache the collections.
284	* java/util/AbstractSequentialList.java: Improve javadoc.
285	(AbstractSequentialList()): Make constructor protected.
286	* java/util/AbstractSet.java: Improve javadoc.
287	(AbstractSet()): Make constructor protected.
288	(removeAll(Collection)): Add missing method.
289	* java/util/Arrays.java: Improve javadoc, rearrange method orders.
290	(defaultComparator): Remove, in favor of
291	Collections.compare(Object, Object, Comparator).
292	(binarySearch, equals, sort): Fix natural order comparison of
293	floats and doubles. Also improve Object comparison - when
294	comparator is null, use natural order.
295	(fill, sort): Add missing checks for IllegalArgumentException.
296	(sort, qsort): Fix sorting bugs, rework the code for more
297	legibility.
298	(mergeSort): Inline into sort(Object[], int, int, Comparator).
299	(class ArrayList): Rename from ListImpl, and make compatible with
300	JDK serialization. Add methods which more efficiently override
301	those of AbstractList.
302	* java/util/Collections: Improve javadoc.
303	(isSequential(List)): Add and use a method for deciding between
304	RandomAccess and sequential algorithms on lists.
305	(class Empty*, class Synchronized*, class Unmodifiable*): Make
306	compliant with JDK serializability.
307	(class Singleton*, class CopiesList, class RevereseComparator),
308	(class UnmodifiableMap.UnmodifiableEntrySet),
309	(class *RandomAccessList): New classes for serial compatibility.
310	(class Empty*, class Singleton*, class CopiesList): Add methods
311	which more efficiently override those of Abstract*.
312	(search): Inline into binarySearch(List, Object, Comparator).
313	(binarySearch): Make sequential search only do log(n) comparisons,
314	instead of n.
315	(copy(List, List)): Do bounds checking before starting.
316	(indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate),
317	(swap):	Add new JDK 1.4 methods.
318	(binarySearch, max, min, sort): Allow null comparator to represent
319	natural ordering.
320	(reverse(List)): Avoid unnecessary swap.
321	(shuffle(List, Random)): Do shuffle in-place for RandomAccess
322	lists.
323	(SingletonList.get): Fix logic bug.
324	(SingletonMap.entrySet): Make the entry immutable, and cache the
325	returned set.
326	(SynchronizedCollection, SynchronizedMap, UnmodifiableCollection),
327	(UnmodifiableMap): Detect null pointer in construction.
328	(SynchronizedMap, UnmodifiableMap): Cache collection views.
329	* java/util/BasicMapEntry: Improve javadoc.
330
3312001-12-14  Hans Boehm  <Hans_Boehm@hp.com>
332
333	* libjava/prims.cc: Some old cleanups.  The collector now
334	handles test for out of memory.
335
336	* libjava/prims.cc, libjava/gcj/javaprims.h:
337	(_Jv_AllocObjectNoInitNoFinalizer, _Jv_AllocObjectNoFinalizer):
338	New functions for finalizer-free allocation.
339	(jvmpi_notify_alloc): Became separate function.
340
341	* libjava/java/lang/Object.h, libjava/include/jvm.h: Adjust for
342	revised vtable layout on IA64.  With TARGET_VTABLE_USES_DESCRIPTORS,
343	there is only one extra descriptor.
344
3452001-12-12  Tom Tromey  <tromey@redhat.com>
346
347	* prims.cc (_Jv_RunMain): Use `using' to simplify code.  Set
348	_Jv_Jar_Class_Path early.
349
350	* jni.cc (call): Synchronize if required.
351
352	* gij.cc (main): Clarify --help output.
353
354	* gnu/gcj/runtime/StringBuffer.java
355	(ensureCapacity_unsynchronized): Ensure we always get at least
356	`minimumCapacity' characters in new buffer.
357
3582001-12-11  Tom Tromey  <tromey@redhat.com>
359
360	* java/lang/String.java (String): New constructor.
361	* gnu/gcj/runtime/natStringBuffer.cc: New file.
362	* gnu/gcj/runtime/StringBuffer.java: New file.
363	* Makefile.in: Rebuilt.
364	* Makefile.am (ordinary_java_source_files): Added
365	gnu/gcj/runtime/StringBuffer.java.
366	(nat_source_files): Added gnu/gcj/runtime/natStringBuffer.cc.
367
3682001-12-10  Tom Tromey  <tromey@redhat.com>
369
370	For PR libgcj/1147:
371	* prims.cc (JvConvertArgv): Convert using current locale's
372	encoding.
373
3742001-12-10  Tom Tromey  <tromey@redhat.com>
375
376	Fix for PR libgcj/5064.
377	* java/lang/natClassLoader.cc: Don't include stdio.h.
378	(_Jv_RegisterClassHookDefault): Don't use snprintf.
379
3802001-12-09  Per Bothner  <per@bothner.com>
381
382	* gnu/gcj/xlib/XImage.java (toString):  Add missing initialization.
383
3842001-12-09  Tom Tromey  <tromey@redhat.com>
385
386	* resolve.cc (_Jv_PrepareClass): Verify method here...
387	* defineclass.cc (handleMethodsEnd): ... not here.
388	* verify.cc (_Jv_BytecodeVerifier::initialize_stack): New method.
389	(_Jv_BytecodeVerifier::verify_instructions_0) [op_return]: Ensure
390	there are no uninitialized objects.
391	(_Jv_BytecodeVerifier::state::this_type): New field.
392	(_Jv_BytecodeVerifier::state::state): Initialize this_type.
393	(_Jv_BytecodeVerifier::state::copy): Copy this_type.
394	(_Jv_BytecodeVerifier::state::merge): Merge this_type.
395	(_Jv_BytecodeVerifier::state::check_no_uninitialized_objects):
396	Handle this_type.
397	(_Jv_BytecodeVerifier::state::check_this_initialized): New
398	method.
399	(_Jv_BytecodeVerifier::state::set_initialized): Handle this_type.
400	(_Jv_BytecodeVerifier::state::set_this_type): New method.
401	(_Jv_BytecodeVerifier::verify_instructions_0) [op_putfield]: Allow
402	assignment to fields of `this' before another initializer is run.
403
404	* Makefile.in: Rebuilt.
405	* Makefile.am (gnu/gcj/runtime/VMClassLoader.h): Use `::java'.
406
4072001-12-08  Tom Tromey  <tromey@redhat.com>
408
409	* Makefile.in: Rebuilt.
410	* Makefile.am (java/lang/reflect/Method.h): ObjectInputStream now
411	a friend.
412	* java/lang/natClass.cc (getSignature): Only look at elements of
413	non-null parameters.
414	(getPrivateMethod): Removed old FIXME comment.
415	* java/io/natObjectInputStream.cc (allocateObject): Removed old
416	FIXME comment.
417	(callConstructor): Simply use `NULL' for value of parameters.
418	(ObjectClass): Removed.
419	(ClassClass): Likewise.
420	* java/io/ObjectInputStream.java (readObject): Fixed typo.
421
422	* verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow):
423	Handle case of array whose component type is not prepared.
424
4252001-12-07  Tom Tromey  <tromey@redhat.com>
426
427	* java/lang/ClassLoader.java (defineClass): Rethrow any
428	LinkageError.
429
430	* java/lang/ThreadGroup.java (uncaughtException): Print message to
431	System.err.  Required by spec.
432
433	* verify.cc (_Jv_BytecodeVerifier::branch_prepass): Set start_PC
434	earlier, for error handling.
435	(_Jv_BytecodeVerifier::note_branch_target): Fixed branch target
436	check.
437
4382001-12-06  Tom Tromey  <tromey@redhat.com>
439
440	* verify.cc (_Jv_BytecodeVerifier::FLAG_JSR_TARGET): Removed.
441	(_Jv_BytecodeVerifier::note_branch_target): Likewise.
442
443	* verify.cc (_Jv_BytecodeVerifier::type_val): Added
444	unused_by_subroutine_type.
445	(_Jv_BytecodeVerifier::type::merge): Handle
446	unused_by_subroutine_type.
447	(_Jv_BytecodeVerifier::state::state): Added `ret_semantics'
448	argument.
449	(_Jv_BytecodeVerifier::state::copy): Likewise.
450	(_Jv_BytecodeVerifier::push_jump_merge): Pass `ret_semantics' to
451	state constructor.
452	(_Jv_BytecodeVerifier::state::is_unmerged_ret_state): New method.
453	(_Jv_BytecodeVerifier::pop_jump): Don't accept a jump which is
454	from an unmerged ret.
455	(_Jv_BytecodeVerifier::verify_instructions_0): Don't let an
456	unmerged ret state skip verification in the fall-through case.
457	(debug_print): New function.
458	(_Jv_BytecodeVerifier::type::print): New method.
459	(_Jv_BytecodeVerifier::state::print): New method.
460	(_Jv_BytecodeVerifier::push_jump_merge): Print state.
461	(_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
462	(_Jv_BytecodeVerifier::get_variable): Don't call note_variable.
463	(_Jv_BytecodeVerifier::_Jv_BytecodeVerifier): Print debug
464	information.
465
4662001-12-05  Tom Tromey  <tromey@redhat.com>
467
468	* defineclass.cc (character): Removed.
469	(prepare_character): Removed.
470	(is_identifier_start): Use Character, not character.
471	(is_identifier_part): Likewise.
472
4732001-12-04  Tom Tromey  <tromey@redhat.com>
474
475	* verify.cc (_Jv_BytecodeVerifier::linked_utf8): New structure.
476	(_Jv_BytecodeVerifier::utf8_list): New field.
477	(_Jv_BytecodeVerifier::_Jv_BytecodeVerifier): Initialize it.
478	(_Jv_BytecodeVerifier::~_Jv_BytecodeVerifier): Free it.
479	(_Jv_BytecodeVerifier::make_utf8_const): New method.
480	(_Jv_BytecodeVerifier::get_one_type): Use it.
481	(_Jv_BytecodeVerifier::type::merge): When using local semantics,
482	if the destination type is already unsuitable then we didn't
483	change.
484
485	* defineclass.cc (read_one_method_attribute): `end_pc' for an
486	exception can be equal to code length.
487	* verify.cc (_Jv_BytecodeVerifier::verify_instructions_0): Removed
488	`start_PC' from error invocation where it didn't make sense, and
489	updated error message.  Use `copy' to copy a state.  Only try to
490	merge current state with saved state when we've fallen through
491	from the previous instruction.
492	(_Jv_BytecodeVerifier::pop_ref_or_return): New method.
493	(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore_0]: Use
494	pop_ref_or_return.
495	(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore]:
496	Likewise.
497	(_Jv_BytecodeVerifier::push_jump_merge): Pass max_locals, not
498	max_stack, to merge.
499	(_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
500	(_Jv_BytecodeVerifier::push_jump_merge): Merge from new state into
501	state at branch target, not vice versa.
502	(_Jv_BytecodeVerifier::branch_prepass): Allow end of exception to
503	be equal to code length.  Removed redundant test to see if
504	exception start is after exception end.
505	(_Jv_BytecodeVerifier::verify_instructions_0): Type of argument to
506	`finally' is Throwable.
507
5082001-12-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
509
510	* Makefile.in: Rebuilt with automake-gcj.
511
5122001-12-03  Tom Tromey  <tromey@redhat.com>
513
514	* defineclass.cc (handleMethodsEnd): Invoke verifier here...
515	(handleCodeAttribute): ... not here.
516	* verify.cc (_Jv_BytecodeVerifier::state::state): Use `copy', not
517	structure assignment.
518
5192001-12-02  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
520
521	* Makefile.am (nat_files, x_nat_files): Make sure the dependencies
522	don't get deleted if compilation fails.
523	* Makefile.in: Rebuilt.
524
5252001-11-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
526
527	* Makefile.am (nat_headers, x_nat_headers): Depend on .class files, not
528	libgcj.jar.
529	(nat_files, x_nat_files): Build native files in subdirectories using
530	the same dependency options as the java files.
531	(gnu/gcj/runtime/FirstThread.h): Remove explicit rule and friend
532	declarations.
533	* configure.in: Put dependencies for .cc files in deps.mak.
534	* Makefile.in: Rebuilt.
535	* configure: Rebuilt.
536
5372001-11-25  Tom Tromey  <tromey@redhat.com>
538
539	Fix for PR libgcj/2024, plus other class name cleanups:
540	* include/jvm.h (_Jv_VerifyFieldSignature,
541	_Jv_VerifyMethodSignature, _Jv_VerifyClassName,
542	_Jv_VerifyIdentifier, _Jv_ClassNameSamePackage): Moved from ...
543	* include/java-interp.h: ... here.
544	* defineclass.cc (UTF8_PEEK): No longer conditional on
545	interpreter.
546	(_Jv_VerifyOne): Likewise.
547	(_Jv_VerifyFieldSignature): Likewise.
548	(_Jv_VerifyMethodSignature): Likewise.
549	(is_identifier_start): Likewise.
550	(is_identifier_part): Likewise.
551	(_Jv_VerifyIdentifier): Likewise.
552	(_Jv_VerifyClassName): Likewise.
553	(_Jv_VerifyClassName): Likewise.
554	(_Jv_ClassNameSamePackage): Likewise.
555	(_Jv_VerifyClassName): Fail if class name is too long.
556	* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Disallow array
557	of void.
558	* java/lang/natClass.cc (forName): Check syntax of class name.
559	Include IllegalArgumentException.h.
560
5612001-11-22  Tom Tromey  <tromey@redhat.com>
562
563	* verify.cc (_Jv_BytecodeVerifier::branch_prepass): Use
564	java_opcode as type for switch.
565	[op_wide]: Likewise.
566	(_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
567	[op_invokevirtual]: Likewise.
568	* include/java-insns.h (java_opcode): Give enum a name.
569
5702001-11-25  Tom Tromey  <tromey@redhat.com>
571
572	Fix for PR libgcj/4583:
573	* java/math/BigDecimal.java (BigDecimal(double)): Rewrote.
574	(BigDecimal(String)): Likewise.
575
5762001-11-19  Tom Tromey  <tromey@redhat.com>
577
578	* verify.cc (_Jv_BytecodeVerifier::branch_prepass) [op_iinc]:
579	Uses two operand bytes, not one.
580	[op_arraylength]: Has no operands in bytecode.
581	(_Jv_BytecodeVerifier::push_jump): Fixed call to
582	check_no_uninitialized_objects.
583	(_Jv_BytecodeVerifier::push_exception_jump): Likewise.
584	(_Jv_BytecodeVerifier::handle_ret_insn): Likewise.
585	(_Jv_BytecodeVerifier::handle_jsr_insn): Likewise.
586
587	* verify.cc (_Jv_BytecodeVerifier::require_array_type): Special
588	case for boolean arrays.
589
590	* verify.cc (_Jv_BytecodeVerifier::compute_jump): Put PC into
591	error message.
592
593	* verify.cc (_Jv_BytecodeVerifier::verify_instructions_0)
594	[op_lshl, op_lshr, op_lushr]: Shift argument is an int, not a
595	long.
596
5972001-11-18  Tom Tromey  <tromey@redhat.com>
598
599	* verify.cc (type::to_array): New method.
600	(_Jv_BytecodeVerifier::verify_instructions_0) [op_anewarray]:
601	Construct new array type.
602
603	* verify.cc (_Jv_BytecodeVerifier::branch_prepass) [op_sipush]:
604	Skip a short, not a byte.
605	[op_newarray]: Skip a byte, not a short.
606
607	* verify.cc (_Jv_BytecodeVerifier::get_type_val_for_signature):
608	Added `B' case.
609
610	* verify.cc (_Jv_BytecodeVerifier::get_ushort): Use `jint' for
611	temporary values.
612	(_Jv_BytecodeVerifier::get_short): Likewise.
613	(_Jv_BytecodeVerifier::get_int): Likewise.
614	(_Jv_BytecodeVerifier::check_return_type): Reverse ordering of
615	`compatible' call.
616
617	* verify.cc (_Jv_BytecodeVerifier::pop_type): Put PC into error
618	message.
619	(_Jv_BytecodeVerifier::pop64): Likewise.
620	(_Jv_BytecodeVerifier::pop32): Likewise.
621	(_Jv_BytecodeVerifier::pop_raw): Likewise.
622	(_Jv_BytecodeVerifier::pop_type): Promote the match type.
623	(type::set_initialized): Only modify uninitialized types.
624	(type::set_uninitialized): Fix shadowing bug.  Simplify code.
625
626	* verify.cc: Include StringBuffer.h.
627	(verify_fail): Added pc argument.  Use StringBuffer to construct
628	exception message.
629	(_Jv_BytecodeVerifier::verify_instructions_0): Put PC into error
630	message.
631	(_Jv_BytecodeVerifier::check_return_type): Likewise.
632	(_Jv_BytecodeVerifier::handle_field_or_method): Likewise.
633	(_Jv_BytecodeVerifier::check_constant): Likewise.
634	(_Jv_BytecodeVerifier::check_class_constant): Likewise.
635	(_Jv_BytecodeVerifier::check_pool_index): Likewise.
636	(_Jv_BytecodeVerifier::get_variable): Likewise.
637	(_Jv_BytecodeVerifier::branch_prepass): Likewise.  Also, correctly
638	check exception handler endpoint.
639	(_Jv_BytecodeVerifier::verify_instructions_0): Correctly handle
640	wide arguments to current method.
641	(_Jv_BytecodeVerifier::check_wide_constant): New method.
642	(_Jv_BytecodeVerifier::verify_instructions_0) [op_ldc2_w]: Use
643	it.
644
6452001-11-17  Anthony Green  <green@redhat.com>
646
647	* jni.cc (unwrap): Fix test for wrapped objects.
648
6492001-11-16  Tom Tromey  <tromey@redhat.com>
650
651	* verify.cc (_Jv_BytecodeVerifier::check_field_constant): Handle
652	case where field has primitive type.
653
654	* verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow): New
655	method.
656	(type::compatible): Use it.
657	(type::merge): Likewise.
658	(type::promote): Return a `type&'.
659	(get_one_type): Promote return value.
660
661	Re-merge with Classpath, from Brian Jones:
662	* java/lang/Integer.java (getInteger): Attempt to decode the value
663	of the system property instead of the name of the system property.
664	(parseInt): Throw NumberFormatException explicitly in the case of
665	a null argument in keeping with JDK 1.3.
666
6672001-11-16  Mark Wielaard  <mark@klomp.org>
668
669	* java/util/Timer.java (TaskQueue.isStopped): Remove method.
670	(Scheduler.run): Try to re-schedule task and ignore exception if
671	queue has been stopped.
672
6732001-11-15  Tom Tromey  <tromey@redhat.com>
674
675	* verify.cc (type::compatible): Use _Jv_IsAssignableFrom.
676	(type::merge): Likewise.
677
6782001-11-14  Hans Boehm <Hans_Boehm@hp.com>
679
680	* java/lang/natString.cc: correct argument order for
681	_Jv_AllocPtrFreeObj
682
6832001-11-14  Tom Tromey  <tromey@redhat.com>
684
685	* verify.cc (class _Jv_BytecodeVerifier) [op_dup2]: Fixed logic.
686	[op_dup_x2]: Likewise.
687	[op_dup2_x1]: Likewise.
688	[op_dup2_x2]: Likewise.
689	(branch_prepass): Added `op_newarray' case.  Updated unrecognized
690	instruction error.
691	(verify_instructions_0): Updated unrecognized instruction error.
692
693	* java/lang/reflect/Constructor.java (toString): Use more
694	efficient form of Modifier.toString().
695
696	Re-merges with Classpath, from various people:
697	* java/lang/reflect/Modifier.java: Reindented.
698	(toString): Only trim trailing space if text was added to
699	StringBuffer.
700	* java/lang/reflect/ReflectPermission: Reindented.
701
702	Re-merges with Classpath, from various people:
703	* java/lang/Double.java (parseDouble): Fixed ordering of
704	modifiers.
705	* java/lang/reflect/AccessibleObject.java: Javadoc, reindented.
706	* java/lang/reflect/Member.java: Reindented.
707	* java/util/ConcurrentModificationException.java: Javadoc
708	updates.
709	* java/util/EmptyStackException.java: Likewise.
710	* java/util/NoSuchElementException.java: Likewise.
711
7122001-11-13  Tom Tromey  <tromey@redhat.com>
713
714	Fix for PR libgcj/4859:
715	* java/util/Timer.java (TaskQueue.isStopped): New method.
716	(Scheduler.run): Don't re-schedule task if queue has been
717	stopped.
718
7192001-11-07  Tom Tromey  <tromey@redhat.com>
720
721	* Makefile.in: Rebuilt.
722	* Makefile.am (ordinary_java_source_files): Added JNIWeakRef.java.
723	* jni.cc: Include JNIWeakRef.h.
724	(unwrap): New function.
725	(_Jv_JNI_DefineClass): Use it.
726	(_Jv_JNI_GetSuperclass): Likewise.
727	(_Jv_JNI_IsAssignableFrom): Likewise.
728	(_Jv_JNI_Throw): Likewise.
729	(_Jv_JNI_ThrowNew): Likewise.
730	(_Jv_JNI_IsSameObject): Likewise.
731	(_Jv_JNI_AllocObject): Likewise.
732	(_Jv_JNI_GetObjectClass): Likewise.
733	(_Jv_JNI_IsInstanceOf): Likewise.
734	(_Jv_JNI_GetAnyMethodID): Likewise.
735	(array_from_valist): Likewise.
736	(_Jv_JNI_CallAnyMethodV): Likewise.
737	(_Jv_JNI_CallAnyMethodA): Likewise.
738	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
739	(_Jv_JNI_CallAnyVoidMethodA): Likewise.
740	(_Jv_JNI_CallStaticMethodV): Likewise.
741	(_Jv_JNI_CallStaticMethod): Likewise.
742	(_Jv_JNI_CallStaticMethodA): Likewise.
743	(_Jv_JNI_NewObjectV): Likewise.
744	(_Jv_JNI_NewObject): Likewise.
745	(_Jv_JNI_NewObjectA): Likewise.
746	(_Jv_JNI_GetField): Likewise.
747	(_Jv_JNI_SetField): Likewise.
748	(_Jv_JNI_GetAnyFieldID): Likewise.
749	(_Jv_JNI_SetStaticField): Likewise.
750	(_Jv_JNI_GetStringLength): Likewise.
751	(_Jv_JNI_GetStringChars): Likewise.
752	(_Jv_JNI_ReleaseStringChars): Likewise.
753	(_Jv_JNI_GetStringUTFLength): Likewise
754	(_Jv_JNI_GetStringUTFChars): Likewise.
755	(_Jv_JNI_GetStringRegion): Likewise.
756	(_Jv_JNI_GetStringUTFRegion): Likewise.
757	(_Jv_JNI_GetStringCritical): Likewise.
758	(_Jv_JNI_GetArrayLength): Likewise.
759	(_Jv_JNI_NewObjectArray): Likewise.
760	(_Jv_JNI_GetObjectArrayElement): Likewise.
761	(_Jv_JNI_SetObjectArrayElement): Likewise.
762	(_Jv_JNI_GetPrimitiveArrayElements): Likewise.
763	(_Jv_JNI_ReleasePrimitiveArrayElements): Likewise.
764	(_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
765	(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
766	(_Jv_JNI_MonitorEnter): Likewise.
767	(_Jv_JNI_MonitorExit): Likewise.
768	(_Jv_JNI_ToReflectedField): Likewise.
769	(_Jv_JNI_FromReflectedField): Likewise.
770	(_Jv_JNI_ToReflectedMethod): Likewise.
771	(_Jv_JNI_FromReflectedMethod): Likewise.
772	(_Jv_JNI_NewGlobalRef): Likewise.
773	(_Jv_JNI_DeleteGlobalRef): Likewise.
774	(_Jv_JNI_DeleteLocalRef): Likewise.
775	(_Jv_JNI_NewLocalRef): Likewise.
776	(_Jv_JNI_NewWeakGlobalRef): New function.
777	(_Jv_JNI_DeleteWeakGlobalRef): Likewise.
778	(_Jv_JNIFunctions): Updated for new methods.
779	(NOT_IMPL): Removed.
780	* gnu/gcj/runtime/JNIWeakRef.java: New file.
781
7822001-11-12  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
783
784	* boehm.cc (_Jv_GCCanReclaimSoftReference): Fix warning.
785
7862001-11-09  Jeff Sturm  <jsturm@one-point.com>
787
788	* verify.cc: Wrap in #ifdef INTERPRETER...#endif.
789
7902001-11-07  Tom Tromey  <tromey@redhat.com>
791
792	* verify.cc (skip_padding): Fail if padding byte is nonzero.
793
7942001-11-06  Tom Tromey  <tromey@redhat.com>
795
796	* HACKING: Make people commit their own patches.
797
7982001-11-05  Tom Tromey  <tromey@redhat.com>
799
800	* java/lang/Class.h (Class): Made _Jv_BytecodeVerifier a friend.
801	* Makefile.in: Rebuilt.
802	* Makefile.am (libgcj_la_SOURCES): Added verify.cc.
803	* verify.cc: New file.
804	* include/java-interp.h (_Jv_count_arguments): Declare.
805	(_Jv_VerifyMethod): Likewise.
806	(class _Jv_InterpMethod): Made _Jv_BytecodeVerifier a friend.
807	(class _Jv_InterpException): Likewise.
808	* resolve.cc (_Jv_count_arguments): Renamed from count_arguments.
809	No longer static.  Updated callers.
810	* defineclass.cc (int_bits_to_float): Removed.
811	(long_bits_to_double): Likewise.
812	(prepare_pool_entry): Updated.
813	(handleCodeAttribute): Verify method (commented out for now).
814
8152001-11-05  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
816
817	* java/util/ResourceBundle.java (class Security): Now static.
818
8192001-11-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
820
821	* java/util/ResourceBundle.java (getClassContext): Removed.
822	(Security): New class, extends SecurityManger.
823	(getBundle): Use Security.getCallingClassLoader instead of
824	getClassContext.
825	* java/util/natResourceBundle.cc: Removed.
826
8272001-11-03  Tom Tromey  <tromey@redhat.com>
828
829	* defineclass.cc (handleClassBegin): Use Object::class$, not
830	Class::class$, when initializing interface superclass.
831
8322001-11-02  Hans Boehm <Hans_Boehm@hp.com>
833
834	* java/util/natResourceBundle.cc:getClassContext: return
835	array of Class instead of array of ClassLoader.
836
8372001-10-31  Joseph S. Myers  <jsm28@cam.ac.uk>
838
839	* HACKING, gnu/gcj/xlib/Pixmap.java, gnu/gcj/xlib/XException.java,
840	gnu/java/rmi/rmic/RMIC.java, java/awt/Window.java,
841	java/awt/AWTEvent.java, java/io/ByteArrayOutputStream.java,
842	java/io/CharConversionException.java,
843	java/io/PipedInputStream.java, java/io/PipedReader.java,
844	java/io/PrintWriter.java, java/io/WriteAbortedException.java,
845	java/io/natFileWin32.cc, java/lang/Class.h,
846	java/lang/natClassLoader.cc, java/lang/natObject.cc,
847	java/lang/Package.java, java/net/BindException.java,
848	java/net/ConnectException.java, java/net/ProtocolException.java,
849	java/net/SocketException.java,
850	java/net/UnknownServiceException.java,
851	java/security/cert/X509Certificate.java,
852	java/security/interfaces/DSAKey.java,
853	java/security/SecureRandom.java, java/security/SignedObject.java,
854	java/sql/DatabaseMetaData.java,
855	java/text/DecimalFormatSymbols.java,
856	java/util/jar/Attributes.java, java/util/jar/JarEntry.java,
857	java/util/jar/JarInputStream.java,
858	java/util/jar/JarOutputStream.java, java/util/Calendar.java,
859	java/util/Collections.java, java/util/GregorianCalendar.java,
860	java/util/HashMap.java, java/util/List.java,
861	java/util/Properties.java, java/util/Timer.java,
862	java/util/Vector.java, java/util/WeakHashMap.java,
863	javax/naming/NamingException.java,
864	testsuite/libjava.lang/Thread_Wait.java,
865	org/xml/sax/helpers/DefaultHandler.java,
866	org/xml/sax/HandlerBase.java, org/xml/sax/SAXParseException.java,
867	ChangeLog, acinclude.m4, aclocal.m4, posix-threads.cc: Fix
868	spelling errors.
869	* configure: Regenerate.
870
8712001-10-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
872
873	* jni.cc (JNI_CreateJavaVM): Call _Jv_CreateJavaVM. Don't call
874	_Jv_JNI_Init.
875
8762001-10-29  Tom Tromey  <tromey@redhat.com>
877
878	* java/util/zip/GZIPOutputStream.java (write(int)): New method.
879	Fixes PR libgcj/4728.
880
8812001-10-27  Tom Tromey  <tromey@redhat.com>
882
883	* include/jni.h (struct JNINativeInterface) [GetStringLength]:
884	Returns jsize, not jint.
885
8862001-10-26  Tom Tromey  <tromey@redhat.com>
887
888	* java/util/zip/Adler32.java: Use correct class name.  (Re-merge
889	from Classpath.)
890
8912001-10-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
892
893	* java/lang/VMClassLoader.java (getPrimitiveClass): Now native. Now
894	takes a jchar type-code argument, not a string.
895	* java/lang/natClassLoader.cc (VMClassLoader::getPrimitiveClass):
896	New method. Just call _Jv_FindClassFromSignature.
897	* java/lang/Boolean.java (TYPE): Initialize from
898	VMClassLoader.getPrimitiveClass using type-code.
899	* java/lang/Character.java (TYPE): Likewise.
900	* java/lang/Double.java (TYPE): Likewise.
901	* java/lang/Float.java (TYPE): Likewise.
902	* java/lang/Integer.java (TYPE): Likewise.
903	* java/lang/Long.java (TYPE): Likewise.
904	* java/lang/Short.java (TYPE): Likewise.
905	* java/lang/Void.java (TYPE): Likewise.
906
9072001-10-25  Hans Boehm <Hans_Boehm@hp.com>
908
909	* include/boehm-gc.h: Call thread local allocation functions
910	if THREAD_LOCAL_ALLOC is defined.
911
9122001-10-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
913
914	* java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Use
915	snprintf, not asprintf.
916
9172001-10-24  Loren J. Rittle  <ljrittle@acm.org>
918
919	* configure.in (case $THREADS): Add *-*-freebsd* configuration.
920	(HAVE_GETHOSTBYADDR_R): Create a valid, non-optimal
921	configuration when gethostbyaddr_r exists yet no prototype
922	exists in netdb.h.
923	* configure: Rebuilt.
924	* posix-threads.cc (INTR): Reuse path for LINUX_THREADS
925	with FREEBSD_THREADS.  However, comment different reason.
926
9272001-10-24  Tom Tromey  <tromey@redhat.com>
928            Warren Levy  <warrenl@redhat.com>
929
930	* Makefile.in: Rebuilt.
931	* Makefile.am (javax_source_files): New macro.
932	(ordinary_java_source_files): Added javax_source_files.
933	(libgcj.jar): Search javax for class files.
934	* javax/naming/LinkException.java (toString): Wrote.
935	(toString(boolean)): Likewise.
936	* javax/naming/ldap/InitialLdapContext.java: New file.
937	* javax/naming/directory/InitialDirContext.java: Wrote.
938	* javax/naming/spi/NamingManager.java (getPlusPath): Now has
939	package-private protection.
940	(getURLContext): Likewise.
941	(NamingManager): Likewise.
942	* javax/naming/spi/DirectoryManager.java: New file.
943	* javax/naming/directory/BasicAttributes.java: New file.
944	* javax/naming/directory/BasicAttribute.java: New file.
945	* javax/naming/spi/ResolveResult.java
946	(ResolveResult(Object,String)): Wrote.
947	(appendRemainingName): Uncommented body.
948	(appendRemainingComponent): Likewise.
949	* javax/naming/ldap/ControlFactory.java: New file.
950	* javax/naming/directory/AttributeModificationException.java
951	(toString): Wrote.
952	* javax/naming/spi/NamingManager.java (NamingManager): New
953	constructor.
954	(setInitialContextFactoryBuilder): Wrote.
955	(getInitialContext): Look in system properties for class name as
956	well.  Use Class.forName().
957	(getURLContext): Wrote.
958	(ofb): New field.
959	(setObjectFactoryBuilder): Wrote.
960	(getObjectInstance): Wrote.
961	(getContinuationContext): Wrote.
962	(getPlusPath): New private method.
963	(getStateToBind): Wrote.
964	* javax/naming/CannotProceedException.java: Added missing methods &
965	fields.
966	* javax/naming/LinkException.java: Added missing methods & fields.
967	* javax/naming/ReferralException.java (ReferralException): Made
968	constructor protected per spec.
969	Added missing abstract methods.
970	* javax/naming/directory/Attribute.java: Updated copyright.
971	* javax/naming/directory/AttributeModificationException.java: Ditto.
972	* javax/naming/directory/Attributes.java: Ditto.
973	* javax/naming/directory/DirContext.java: Ditto.
974	* javax/naming/spi/NamingManager.java: Ditto.
975	* javax/naming/spi/ResolveResult.java: Added comment.
976	* javax/naming/directory/Attribute.java: Added missing interface
977	methods.
978	* javax/naming/directory/AttributeModificationException.java:
979	Added missing methods & fields.
980	* javax/naming/directory/directory/Attributes.java: Added missing
981	interface methods.
982	* javax/naming/directory/SearchControls.java: Maded serialized fields
983	private.
984	* javax/naming/event/NamingEvent.java: Added comment.
985	* javax/naming/event/NamingExceptionEvent.java: Maded serialized field
986	private.
987	* javax/naming/ldap/UnsolicitedNotificationEvent.java: Maded
988	serialized field private.
989	* javax/naming/spi/NamingManager.java: Added missing field and stubbed
990	missing methods.
991	* javax/naming/directory/DirContext.java: Added missing interface
992	fields & methods.
993	* javax/naming/directory/InitialDirContext.java: Stubbed missing
994	methods.
995	* javax/naming/directory/ModificationItem.java: New class.
996	* javax/naming/directory/SearchResult.java: New class.
997	* javax/naming/directory/SearchControls.java: New class.
998	* javax/naming/event/EventContext.java: New class.
999	* javax/naming/event/EventDirContext.java: New class.
1000	* javax/naming/event/NamespaceChangeListener.java: New class.
1001	* javax/naming/event/NamingEvent.java: New class.
1002	* javax/naming/event/NamingExceptionEvent.java: New class.
1003	* javax/naming/event/NamingListener.java: New class.
1004	* javax/naming/event/ObjectChangeListener.java: New class.
1005	* javax/naming/ldap/Control.java: New class.
1006	* javax/naming/ldap/ExtendedRequest.java: New class.
1007	* javax/naming/ldap/ExtendedResponse.java: New class.
1008	* javax/naming/ldap/HasControls.java: New class.
1009	* javax/naming/ldap/LdapContext.java: New class.
1010	* javax/naming/ldap/LdapReferralException.java: New class.
1011	* javax/naming/ldap/UnsolicitedNotification.java: New class.
1012	* javax/naming/ldap/UnsolicitedNotificationEvent.java: New class.
1013	* javax/naming/ldap/UnsolicitedNotificationListener.java: New class.
1014	* javax/naming/spi/DirObjectFactory.java: New class.
1015	* javax/naming/spi/DirStateFactory.java: New class.
1016	* javax/naming/spi/ObjectFactoryBuilder.java: New class.
1017	* javax/naming/spi/ResolveResult.java: New class.
1018	* javax/naming/spi/Resolver.java: New class.
1019	* javax/naming/spi/StateFactory.java: New class.
1020	* javax/naming/spi/ObjectFactory.java: Made an interface per spec.
1021	* java/rmi/RemoteException.java: New class.
1022	* javax/transaction/HeuristicCommitException.java: New class.
1023	* javax/transaction/HeuristicMixedException.java: New class.
1024	* javax/transaction/HeuristicRollbackException.java: New class.
1025	* javax/transaction/NotSupportedException.java: New class.
1026	* javax/transaction/RollbackException.java: New class.
1027	* javax/transaction/Status.java: New class.
1028	* javax/transaction/Synchronization.java: New class.
1029	* javax/transaction/SystemException.java: New class.
1030	* javax/transaction/Transaction.java: New class.
1031	* javax/transaction/TransactionManager.java: New class.
1032	* javax/transaction/UserTransaction.java: New class.
1033	* javax/transaction/xa/XAException.java: Added public static fields.
1034	* javax/transaction/xa/XAResource.java: New class.
1035	* javax/transaction/xa/Xid.java: New class.
1036	* javax/naming/CompoundName.java (CompoundName(String)): Reverse
1037	elements if required.  Handle case where quote is at end of
1038	string.
1039	* javax/naming/CompoundName.java (CompoundName(String)): Handle
1040	text left at end of parsing.
1041	(toString): Handle empty element at beginning.
1042	* javax/naming/CompositeName.java (toString): Handle empty element
1043	at beginning.
1044	(CompositeName(String)): Handle text left at end of parsing.
1045	Correctly compute boundary condition for quoting.
1046	* javax/naming/CompoundName.java: New file.
1047	* javax/naming/CompositeName.java: New file.
1048	* javax/naming/Binding.java: New file.
1049	* javax/naming/LinkRef.java: New file.
1050	* javax/naming/NameClassPair.java: New file.
1051	* javax/naming/Reference.java (addrs, classFactory,
1052	classFactoryLocation): New fields.
1053	(className): Now protected.
1054	(Reference): New constructors.
1055	(add): Now public.  Implemented.
1056	(get(String)): Likewise.
1057	(add(int,RefAddr)): New method.
1058	(clear): Likewise.
1059	(clone): Likewise.
1060	(equals): Likewise.
1061	(get(int)): Likewise.
1062	(getAll): Likewise.
1063	(getFactoryClassLocation): Likewise.
1064	(getFactoryClassName): Likewise.
1065	(hashCode): Likewise.
1066	(remove): Likewise.
1067	(size): Likewise.
1068	(toString): Likewise.
1069	* javax/transaction/xa/XAException.java: New file.
1070	* javax/transaction/TransactionRolledbackException.java: New file.
1071	* javax/transaction/TransactionRequiredException.java: New file.
1072	* javax/transaction/InvalidTransactionException.java: New file.
1073	* javax/naming/directory/SchemaViolationException.java: Use
1074	correct package.  Import NamingException.
1075	* javax/naming/directory/NoSuchAttributeException.java,
1076	javax/naming/directory/InvalidSearchFilterException.java,
1077	javax/naming/directory/InvalidSearchControlsException.java,
1078	javax/naming/directory/InvalidAttributesException.java,
1079	javax/naming/directory/InvalidAttributeValueException.java,
1080	javax/naming/directory/InvalidAttributeIdentifierException.java,
1081	javax/naming/directory/AttributeModificationException.java,
1082	javax/naming/directory/AttributeInUseException.java: Likewise.
1083	* javax/naming/directory/InitialDirContext.java (getAttributes):
1084	Stub implementation.
1085	* javax/naming/RefAddr.java (RefAddr): Reindented.
1086	(equals): Renamed and reindented.
1087	* javax/naming/BinaryRefAddr.java (equals): Renamed and
1088	reindented.
1089
10902001-10-24  Tom Tromey  <tromey@redhat.com>
1091
1092	* java/lang/reflect/Field.java: Made many methods private.
1093
1094	* java/sql/Types.java (Types): New constructor.
1095
1096Tue Oct 23 23:52:18 2001  Anthony Green  <green@redhat.com>
1097
1098	* gnu/gcj/runtime/natSharedLibLoader.cc: Only include dlfcn.h when
1099	HAVE_DLOPEN.
1100
11012001-10-23  Tom Tromey  <tromey@redhat.com>
1102
1103	* java/lang/reflect/Field.java (Field): New constructor.
1104	* java/lang/ClassLoader.java (defineClass(String,byte[],int,int)):
1105	Throw ClassFormatError.
1106
11072001-10-23  Tom Tromey  <tromey@redhat.com>
1108
1109	* java/util/PropertyResourceBundle.java (handleGetObject): Now
1110	public.
1111	* java/util/ListResourceBundle.java (handleGetObject): Now public
1112	and final, per spec.
1113
1114	* java/io/BufferedWriter.java (localFlush): Don't synchronize.
1115
11162001-10-23  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1117
1118	* prims.cc (_Jv_Abort): Always print error message using fprintf,
1119	don't try to allocate.
1120	(_Jv_CreateJavaVM): Set gcj::runtimeInitialized.
1121	* include/jvm.h (gcj::runtimeInitialized): New variable declaration.
1122	* java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Handle
1123	duplicate class registration with JvFail if the runtime hasn't been
1124	initialized yet.
1125
1126	* java/io/BufferedWriter (write (String, int, int)): Remove redundant
1127	bounds checks.
1128	(write (char[], int, int)): Likewise.
1129
11302001-10-22  Tom Tromey  <tromey@redhat.com>
1131
1132	* java/util/GregorianCalendar.java (getGregorianChange): Removed
1133	`date' argument.
1134
11352001-10-22  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1136
1137	* gnu/gcj/convert/JIS0208_to_Unicode.cc: Declare java_exceptions pragma.
1138	* gnu/gcj/convert/JIS0212_to_Unicode.cc: Likewise.
1139	* gnu/gcj/convert/Unicode_to_JIS.cc: Likewise.
1140	* gnu/gcj/convert/gen-from-JIS.c: Put java_exceptions pragma in output
1141	file.
1142
11432001-10-19  Mark Wielaard  <mark@klomp.org>
1144
1145	* java/lang/Double.java: More Classpath merging
1146	(isInfinite): Don't use doubleToLongBits
1147	(isNaN (Object)): return v != v
1148	(initIDs): make native
1149	* java/lang/Float.java: Ditto
1150	(isInfinite): Don't use floatToIntBits
1151	(isNaN (Object)): return v != v
1152	* java/lang/natDouble.cc: add empty initIDs()
1153
11542001-10-19  Mark Wielaard  <mark@klomp.org>
1155
1156	* javax/naming/BinaryRefAddr.java: New file
1157	* javax/naming/InitialContext.java: Compile fix
1158	* javax/naming/InvalidNameException.java: Add comments
1159	* javax/naming/Name.java: Ditto
1160	* javax/naming/NamingException.java: Implement
1161	* javax/naming/OperationNotSupportedException.java: Compile fix
1162	* javax/naming/RefAddr.java: Implement
1163	* javax/naming/StringRefAddr.java: Add comments and implement
1164	* javax/naming/directory/InitialDirContext.java: Compile fix
1165
11662001-10-18  Tom Tromey  <tromey@redhat.com>
1167
1168	* java/io/BufferedWriter.java (write(String,int,int)): Correctly
1169	check bounds.
1170
1171	* java/security/Security.java (loadProviders): Removed unused
1172	`pname' variable.  Don't create `File' object.  Don't update
1173	`providerCount'.
1174	(providerCount): Removed.
1175	(insertProviderAt): Don't use `providerCount'.
1176	(addProvider(Provider,int)): Likewise.
1177	(removeProvider): Likewise.
1178	(addProvider(Provider)): Rewrote.
1179	(getProviders): Rewrote.
1180	(getProvider): Don't use `providerCount'.
1181
11822001-10-17  Tom Tromey  <tromey@redhat.com>
1183
1184	* gnu/java/security/provider/SHA1PRNG.java (engineNextBytes):
1185	Rewrote.
1186	* java/security/SecureRandom.java (setSeed(long)): Don't set seed
1187	if secureRandomSpi is not initialized.
1188
1189	* Makefile.in: Rebuilt.
1190	* Makefile.am (secdir): New macro.
1191	(install-data-local): Install new data files.
1192	* java/security/classpath.security: New file.
1193	* java/security/libgcj.security: New file.
1194
1195	* java/security/Security.java (loadProviders): Added `vendor'
1196	argument.
1197	Load both `classpath' and `java.vm.name' providers.
1198
11992001-10-17  Anthony Green  <green@redhat.com>
1200
1201	* java/security/Security.java (loadProviders): Fix bug in how
1202	providers are loaded.
1203
12042001-10-16  Tom Tromey  <tromey@redhat.com>
1205
1206	* gcj/javaprims.h: Updated class list.
1207	* java/util/Hashtable.java: Re-merged with Classpath.
1208
12092001-10-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1210
1211	* name-finder.cc (_Jv_name_finder::lookup): Check for NULL dli_sname.
1212
1213	Eliminate use of C++ static constructors.
1214	* interpret.cc: Remove static Utf8Consts. Use namespace gcj.
1215	* jni.cc: Likewise.
1216	* resolve.cc: Likewise.
1217	* defineclass.cc: Likewise.
1218	(_Jv_ClassReader::handleClassBegin): Synchronize call to
1219	_Jv_RegisterClass.
1220	* include/jvm.h (void_signature, clinit_name, init_name, finit_name):
1221	Declare in namespace gcj.
1222	* java/lang/Class.h (Class): Remove initialization for primitive
1223	types.
1224	(friend void _Jv_InitPrimClass): This is in prims.cc.
1225	* prims.cc (_Jv_InitPrimClass): Do primitive type initialization
1226	here instead.
1227	(void_signature, clinit_name, init_name, finit_name): Define in
1228	namespace gcj.
1229	(_Jv_CreateJavaVM): Call _Jv_InitThreads, _Jv_InitGC, and
1230	_Jv_InitializeSyncMutex from here. Initialize Utf8 constants.
1231	Initialize primitive types.
1232	* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Don't call
1233	initialization routines. Don't synchronize.
1234	* java/lang/natRuntime.cc (_load): Synchronize on java.lang.Class
1235	across dlopen call.
1236
12372001-10-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1238
1239	* java/util/HashMap.java (HashEntry.clone): Removed.
1240	(HashMap(Map)): Use putAllInternal.
1241	(clone): Likewise.
1242	(putAllInternal): New method. Efficient counterpart to putAll which
1243	does not call put().
1244	* java/util/LinkedHashMap.java (rethread): Removed.
1245	(putAllInternal): New method. Clear "head" and "tail".
1246	(addEntry): New argument "callRemove". Don't call removeEldestEntry()
1247	if callRemove == false.
1248
1249	* Makefile.am: Add new classes RandomAccess and LinkedHashMap.
1250	* Makefile.in: Rebuilt.
1251
12522001-10-15  Eric Blake  <ebb9@email.byu.edu>
1253
1254	* java/util/Collection.java: Updated javadoc.
1255	* java/util/Comparator.java: Updated javadoc.
1256	* java/util/Enumeration.java: Updated javadoc.
1257	* java/util/Iterator.java: Updated javadoc.
1258	* java/util/List.java: Updated javadoc.
1259	* java/util/ListIterator.java: Updated javadoc.
1260	* java/util/Map.java: Updated javadoc.
1261	* java/util/RandomAccess.java: New file.
1262	* java/util/Set.java: Updated javadoc.
1263	* java/util/SortedMap.java: Updated javadoc.
1264	* java/util/SortedSet.java: Updated javadoc.
1265
12662001-10-15  Tom Tromey  <tromey@redhat.com>
1267
1268	* java/lang/reflect/AccessibleObject.java (checkPermission):
1269	Implemented.
1270	Updated copyright information.
1271
12722001-10-15  Hans Boehm <Hans_Boehm@hp.com>
1273
1274	* java/lang/natObject.cc (heavy_lock): Moved fields
1275	old_client_data, old_finalization_proc near beginning.
1276	(heavy_lock_finalization_proc): Now inline; changed type of
1277	argument.
1278	(JV_SYNC_TABLE_SZ): Now 2048.
1279	(mp): New global.
1280	(spin): `mp' now global.
1281	(heavy_lock_obj_finalization_proc): Updated to correctly handle
1282	heavy lock finalization.
1283	(remove_all_heavy): New function.
1284	(maybe_remove_all_heavy): Likewise.
1285	(_Jv_MonitorEnter): Throw exception if object is NULL.
1286	(_Jv_MonitorExit): Likewise.  Also, clear long lists of unlocked
1287	heavy locks.
1288	* include/jvm.h (_Jv_AllocTraceTwo): Declare.
1289	* nogc.cc (_Jv_AllocTraceTwo): New function.
1290	* boehm.cc (trace_two_vtable): New global.
1291	(_Jv_AllocTraceTwo): New function.
1292
12932001-10-15  Tom Tromey  <tromey@redhat.com>
1294
1295	* Makefile.in: Rebuilt.
1296	* Makefile.am (awt_java_source_files): Added new file.
1297	* java/beans/AppletInitializer.java: New file.
1298
1299	* java/net/SocketPermission.java (hostport, actions): Now
1300	private.
1301
13022001-10-14  Mark Wielaard  <mark@klomp.org>
1303
1304	* java/lang/Double.java: Partial merge with Classpath
1305	(TYPE): initialized through VMClassLoader.getPrimitiveClass()
1306	(value): made final
1307	(static): new static block to load native libary (not used in libgcj)
1308	(Double (String)): call parseDouble()
1309	(byteValue): removed, already defined in superclass Number
1310	(shortValue): likewise
1311	(valueOf (String)): call new Double(String) directly
1312	(compare (double,double)): new 1.4 method
1313	(compareTo (Double)): call new compare(double,double) method
1314	(initIDs): new private method (not used in libgcj)
1315	* java/lang/Float.java: Partial merge with Classpath
1316	(TYPE): initialized through VMClassLoader.getPrimitiveClass()
1317	(value): made final
1318	(static): new static block to load native libary (not used in libgcj)
1319	(Float (String)): call parseFloat()
1320	(byteValue): removed, already defined in superclass Number
1321	(shortValue): likewise
1322	(valueOf (String)): call new Float(String) directly
1323	(compare (float,float)): new 1.4 method
1324	(compareTo (Float)): call new compare(double,double) method
1325
13262001-10-13  Tom Tromey  <tromey@redhat.com>
1327
1328	* java/lang/SecurityManager.java (SecurityManager): Now public.
1329
1330	* java/security/AccessController.java (checkPermission): Now
1331	throws AccessControlException.
1332	* java/security/AllPermission.java: Class now final.
1333	* java/security/Permission.java (getName): Now final.
1334	(name): Now private.
1335	(equals): New abstract method.
1336	* java/security/PermissionCollection.java (linesep): Now private.
1337	* java/security/Permissions.java: Class now final.
1338	* java/security/Security.java (Security): New private
1339	constructor.
1340	* java/security/UnresolvedPermission.java: Import
1341	java.security.cert.Certificate.  Class now final.
1342	* java/security/acl/Group.java: Now extends Principal.
1343	(isMember): Added Principal argument.
1344	* java/security/spec/X509EncodedKeySpec.java (getFormat): Now
1345	final.
1346	* java/security/spec/PKCS8EncodedKeySpec.java (getFormat): Now
1347	final.
1348
13492001-10-12  Tom Tromey  <tromey@redhat.com>
1350
1351	* Makefile.in: Rebuilt.
1352	* Makefile.am (rmi_java_source_files): Added new files.
1353	* gnu/java/rmi/rmic/RMIC.java (compile): Uncommented; fixed to use
1354	new Compiler class.
1355	* gnu/java/rmi/rmic/Makefile.am (EXTRA_DIST): Updated.
1356	* gnu/java/rmi/rmic/Compile_gcj.java: New file.
1357	* gnu/java/rmi/rmic/CompilerProcess.java: New file.
1358	* gnu/java/rmi/rmic/Compiler.java: New file.
1359
13602001-10-11  Tom Tromey  <tromey@redhat.com>
1361
1362	* configure: Rebuilt.
1363	* configure.in: Recognize --disable-java-awt.
1364
13652001-10-10  Tom Tromey  <tromey@redhat.com>
1366
1367	* gnu/gcj/runtime/natFinalizerThread.cc: New file.
1368	* java/lang/natRuntime.cc: Include FinalizerThread.h.
1369	(runFinalization): Call finalizerReady.
1370	* nogc.cc (_Jv_GCInitializeFinalizers): New function.
1371	* prims.cc: Include VirtualMachineError.h, FinalizerThread.h.
1372	(_Jv_CreateJavaVM): Start the finalizer thread.
1373	* no-threads.cc: Include InternalError.h.
1374	(_Jv_ThreadStart): Throw InternalError.
1375	(_Jv_ThreadInitData): Don't throw error if this is not the first
1376	thread.
1377	* Makefile.in: Rebuilt.
1378	* Makefile.am (ordinary_java_source_files): Added
1379	FinalizerThread.java.
1380	(nat_source_files): Added natFinalizerThread.cc.
1381	* include/jvm.h (_Jv_GCInitializeFinalizers): Declare.
1382	* boehm.cc (_Jv_GCInitializeFinalizers): New function.
1383	* gnu/gcj/runtime/FirstThread.java (run): Start finalizer thread.
1384	* gnu/gcj/runtime/FinalizerThread.java: New file.
1385
13862001-10-09  Per Bothner  <per@bothner.com>
1387
1388	* strtod.c (_strtod_r):  Logic to check for missing digits
1389	after exponent had 'else' attached to wrong 'if'.
1390
13912001-10-09  Mark Wielaard  <mark@klomp.org>
1392
1393	* java/net/SocketImpl.java: Merge with Classpath
1394
13952001-10-08  Mark Wielaard  <mark@klomp.org>
1396
1397	* java/net/DatagramSocketImpl.java: Merge with Classpath
1398
13992001-10-07  Mark Wielaard  <mark@klomp.org>
1400
1401	* java/net/URLDecoder.java: Remerge with Classpath
1402	* java/net/URLEncoder.java: Merge with Classpath
1403
14042001-10-08  Tom Tromey  <tromey@redhat.com>
1405
1406	Fix for PR libgcj/4481:
1407	* java/io/File.java (getParent): Handle case where path is "/".
1408	(normalizePath): Use correct string for UNC leader.
1409
14102001-10-06  Mark Wielaard  <mark@klomp.org>
1411
1412	* java/io/BufferedInputStream.java: Merge with Classpath
1413
14142001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1415
1416	* defineclass.cc, java/awt/image/ColorModel.java,
1417	java/awt/image/SampleModel.java, java/lang/Package.java,
1418	java/security/cert/X509Extension.java: Fix spelling errors of
1419	"separate" as "seperate", and corresponding spelling errors of
1420	related words.
1421
14222001-10-05  Tom Tromey  <tromey@redhat.com>
1423
1424	* java/text/DecimalFormat.java (format): Use localized minus sign
1425	when generating exponent; never use `+'.  Use floor to compute
1426	exponent.
1427
14282001-10-05  Mark Wielaard  <mark@klomp.org>
1429
1430	* java/util/zip/Adler32.java: Merge with Classpath
1431	* java/util/zip/CRC32.java: Ditto
1432	* java/util/zip/Checksum.java: Ditto
1433	* java/util/zip/DataFormatException.java: Ditto
1434	* java/util/zip/ZipException.java: Ditto
1435
14362001-10-04  Martin Kahlert  <martin.kahlert@infineon.com>
1437
1438	* jni.cc (_Jv_JNI_DeleteLocalRef): Use correct frame size
1439
14402001-10-04  Mark Wielaard  <mark@klomp.org>
1441
1442	* java/lang/reflect/Modifier.java: Merge with Classpath
1443
14442001-10-03  Mark Wielaard  <mark@klomp.org>
1445
1446	* java/io/SequenceInputStream.java: Merge with Classpath
1447	* java/io/StringBufferInputStream.java: Ditto
1448	* java/util/Collections.java: Remerge with Classpath
1449
14502001-10-03  Tom Tromey  <tromey@redhat.com>
1451
1452	* java/lang/ref/natReference.cc (add_to_hash): Set n->next before
1453	setting *link.
1454
14552001-10-03  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1456
1457	* resolve.cc (_Jv_PrepareClass): Fix typos in vtable layout.
1458	* gij.cc (version): Use GCJVERSION.
1459
14602001-10-02  Mark Wielaard  <mark@klomp.org>
1461
1462	* Makefile.am (core_java_source_files): add InheritableThreadLocal
1463	* Makefile.in: regenerate
1464	* gcj/javaprims.h: ditto
1465	* java/lang/InheritableThreadLocal.java: new class from Classpath
1466	* java/lang/Thread.java Thread (Thread, ThreadGroup, Runnable, String):
1467	call InheritableThreadLocal.newChildThread()
1468
14692001-10-01  Mark Wielaard  <mark@klomp.org>
1470
1471	* Makefile.am: Add new classes
1472	(core_java_source_files): CharSequence
1473	(ordinary_java_source_files): Authenticator, PasswordAuthentication
1474	* Makefile.in: regenerate
1475	* gcj/javaprims.h: ditto
1476	* java/lang/CharSequence: new class from Classpath
1477	* java/lang/String.java: implements CharSequence
1478	(subSequence (int,int)): new method
1479	* java/lang/SubString.java: implements CharSequence
1480	(subSequence (int,int)): new method
1481	remerge comments with Classpath
1482	* java/net/Authenticator.java: new class from Classpath
1483	* java/net/PasswordAuthentication.java: ditto
1484
14852001-10-01  Tom Tromey  <tromey@redhat.com>
1486
1487	* gcj/javaprims.h: Rebuilt class list.
1488	* boehm.cc (_Jv_GCRegisterDisappearingLink): New function.
1489	(_Jv_GCCanReclaimSoftReference): New function.
1490	* include/jvm.h (_Jv_GCRegisterDisappearingLink): Declare.
1491	(_Jv_GCCanReclaimSoftReference): Declare.
1492	* java/lang/ref/Reference.java (referent): Now a RawData.
1493	(create): Renamed from `created'.  Added object argument.
1494	(Reference): Don't initialize `referent' here.
1495	* Makefile.in: Rebuilt.
1496	* Makefile.am (nat_source_files): Added new file.
1497	* java/lang/ref/natReference.cc: New file.
1498
1499	* prims.cc (_Jv_NewMultiArrayUnchecked): New method.
1500	(_Jv_NewMultiArray): Use it.  Check each array dimension.
1501	(_Jv_NewMultiArray): Likewise.
1502	* java/lang/reflect/natMethod.cc (can_widen): Nothing promotes to
1503	`char'.
1504	* java/lang/reflect/natArray.cc (newInstance): Throw
1505	IllegalArgumentException if there are no dimensions.
1506
15072001-10-01  Mark Wielaard  <mark@klomp.org>
1508
1509	* java/io/FileWriter.java: Merge with Classpath.
1510	* java/io/FilterInputStream.java: Ditto.
1511	(mark): no longer synchronized
1512	(reset): Likewise
1513	* java/io/FilterOutputStream.java: Merge with Classpath.
1514	* java/io/FilterReader.java: Ditto.
1515	(mark): no longer synchronized
1516	(reset): Likewise
1517	* java/io/FilterWriter.java: Merge with Classpath.
1518	* java/io/Writer.java: Ditto.
1519	* java/lang/Compiler.java: Ditto.
1520	* java/lang/Process.java: Ditto.
1521	* java/lang/Void.java: Ditto.
1522	* java/net/ContentHandler.java: Ditto.
1523	* java/net/DatagramPacket.java: Ditto.
1524	* java/net/MulticastSocket.java: Merge comments with Classpath.
1525
15262001-09-30  Mark Wielaard  <mark@klomp.org>
1527
1528	* java/io/DataInput.java:  Merge with Classpath.
1529	* java/io/DataOutput.java:  Idem.
1530	* java/io/FilenameFilter.java:  Idem.
1531	* java/io/Serializable.java:  Idem.
1532	* java/lang/Cloneable.java:  Idem.
1533	* java/lang/Comparable.java:  Idem.
1534	* java/lang/Runnable.java:  Idem.
1535	* java/lang/reflect/Member.java:  Idem.
1536	* java/net/ContentHandlerFactory.java:  Idem.
1537	* java/net/FileNameMap.java:  Idem.
1538	* java/net/SocketImplFactory.java:  Idem.
1539	* java/net/SocketOptions.java:  Idem.
1540	* java/net/URLStreamHandlerFactory.java:  Idem.
1541
15422001-09-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1543
1544	* java/lang/natClass.cc (_Jv_IsAssignableFrom): Handle the case of
1545	an uninitialized target class.
1546
1547	* gnu/gcj/protocol/file/Connection.java (connect): Throw
1548	FileNotFoundException if appropriate.
1549	* gnu/gcj/protocol/file/Handler.java (openConnection): Throw an
1550	IOException if we got a file: url with a hostname. Comment out protocol
1551	switch to ftp for now.
1552	* java/net/URL.java (URL): Include protocol name in exception message
1553	when handler can't be found.
1554
15552001-09-28  Per Bothner  <per@bothner.com>
1556
1557	* gnu/gcj/runtime/SharedLibLoader.java:  New class.
1558	* gnu/gcj/runtime/natSharedLibLoader.cc:  Native methods.
1559	* Makefile.am:  Update accordingly.
1560	* configure.in:  Add AC_CHECK_LIB for dlopen.
1561	* include/config.h.in:  Add HAVE_DLOPEN.
1562
15632001-09-29  Jeff Sturm  <jsturm@one-point.com>
1564
1565	* Makefile.am (libgcj_la_LDFLAGS): Added $(GCLIBS), $(ZLIBS).
1566	* Makefile.in: Rebuilt.
1567
15682001-09-27  Tom Tromey  <tromey@redhat.com>
1569
1570	* java/util/IdentityHashMap.java (containsKey): Use getHash.
1571	(get): Likewise.
1572	(put): Likewise.
1573	(remove): Likewise.
1574	(getHash): New method.
1575	(tombstone, emptyslot): Now static final.
1576	(put): Correctly determine when to rehash, and correctly rehash.
1577	(containsKey, remove): Test against table length with `>='.
1578
15792001-09-26  Tom Tromey  <tromey@redhat.com>
1580
1581	* gnu/classpath/Configuration.java.in (INIT_LOAD_LIBRARY): New
1582	constant.
1583	* java/io/StreamTokenizer.java, java/util/ResourceBundle.java:
1584	Re-merged with Classpath.
1585
1586	* java/io/DataInputStream.java (readChar): Use readFully.
1587	(readInt): Likewise.
1588	(readLong): Likewise.
1589	(readShort): Likewise.
1590	(readUnsignedShort): Likewise.
1591
15922001-09-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1593
1594	* java/lang/PosixProcess.java (exitValue): Implement here. Throw
1595	IllegalThreadStateException if process hasn't exited yet.
1596	* java/lang/natPosixProcess.cc (exitValue): Removed.
1597	(waitFor): Only check thread interrupted status if waitpid() returned
1598	an error. Use WIFEXITED and WEXITSTATUS to process process's exit
1599	value.
1600
1601	* java/security/cert/X509Extension.java: Merge from classpath.
1602
16032001-09-22  Anthony Green  <green@redhat.com>
1604
1605 	* java/security/DummyKeyPairGenerator.java (initialize): New
1606 	method (with AlgorithmParameterSpec argument).
1607
16082001-09-22  Anthony Green  <green@redhat.com>
1609
1610	* java/security/spec/EncodedKeySpec.java: Implements KeySpec.
1611
1612	* gnu/java/security/provider/SHA1PRNG.java: Extend from
1613	SecureRandomSpi.
1614	(engineNextBytes): Fix order of memory copies.
1615
16162001-09-21  Richard Henderson  <rth@redhat.com>
1617
1618	* include/jvm.h (_Jv_VTable): Handle function descriptors for ia64;
1619	add get_method, set_method, vtable_elt_size, new_vtable.
1620	(_Jv_ArrayVTable): Derive from _Jv_VTable.
1621	* resolve.cc (_Jv_PrepareClass): Use new _Jv_VTable methods.
1622	* interpret.cc (_Jv_InterpMethod::continue1): Likewise.
1623	* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Likewise.
1624
16252001-09-21  Richard Henderson  <rth@redhat.com>
1626
1627	* no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments.
1628	* java/lang/mprec.c (lo0bits): Fix paren typo.
1629
16302001-09-20  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1631
1632	* posix-threads.cc (_Jv_ThreadInterrupt): Re-enable interrupt of
1633	blocking IO via pthread_kill().
1634	* java/io/natFileDescriptorPosix.cc (write (jint)): Check for thread
1635	interrupted status flag only if ::write returned an error.
1636	(write (jbyteArray, jint, jint): Likewise.
1637	(read (jint)): Likewise.
1638	(read (jbyteArray, jint, jint): Likewise.
1639
16402001-09-19  Anthony Green  <green@redhat.com>
1641
1642	* gnu/gcj/protocol/file/Handler.java: Avoid NullPointerException
1643	when host is null.
1644
16452001-09-17  Andreas Jaeger  <aj@suse.de>
1646
1647	* jni.cc (array_from_valist): Use promoted types for va_arg.
1648
16492001-09-16  Anthony Green  <green@redhat.com>
1650
1651	* gnu/java/locale/LocaleInformation.java: Extend
1652	LocaleInformation_en_US, not LocaleInformation_en.
1653
16542001-09-16  Anthony Green  <green@redhat.com>
1655
1656	* gnu/gcj/convert/IOConverter.java: Add support for iso8859_1.
1657
16582001-09-14  Tom Tromey  <tromey@redhat.com>
1659
1660	* java/util/TimeZone.java: Updated list of timezones from
1661	Classpath.
1662
1663	* java/lang/CloneNotSupportedException.java: Re-merged with
1664	Classpath.
1665
16662001-09-14  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1667
1668	* java/io/File.java (normalizePath): Use equals() not '==' for string
1669	comparison.
1670
1671	* java/util/Hashtable.java (Enumerator): Ensure that if
1672	hasMoreElements() returns true, nextElement() will always return
1673	something even if the table has been modified.
1674
16752001-09-12  Tom Tromey  <tromey@redhat.com>
1676
1677	* Makefile.in: Rebuilt.
1678	* Makefile.am (class-check): New target.
1679
16802001-09-11  Tom Tromey  <tromey@redhat.com>
1681
1682	* java/io/File.java (toURL): Use getAbsolutePath and `file://'.
1683
16842001-09-10  Tom Tromey  <tromey@redhat.com>
1685
1686	* java/util/Properties.java (load): Correctly read \u sequences.
1687	Report from Anthony Green.
1688
16892001-09-10  Manfred Hollstein  <manfredh@redhat.com>
1690
1691	* configure.in (LIBFFIINCS): Quote uses of $(top_srcdir)
1692	and $(MULTIBUILDTOP).
1693	* configure: Re-generate.
1694
16952001-09-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1696
1697	* include/jvm.h (_Jv_AllocRawObj): New prototype.
1698	* boehm.cc (_Jv_AllocRawObj): Implement.
1699	* nogc.cc (_Jv_AllocRawObj): Likewise.
1700	* exception.cc (_Jv_Throw): Use _Jv_AllocRawObj, not GC_malloc.
1701
17022001-09-06  Anthony Green  <green@redhat.com>
1703
1704	* java/util/ResourceBundle.java (tryLocalBundle): Eliminate
1705	redundant method calls.
1706	(emptyLocale): New private member.
1707	(tryBundle): Use emptyLocale.  Remove duplicate code.  Only cache
1708	exact matches.
1709
17102001-09-06  Tom Tromey  <tromey@redhat.com>
1711
1712	* java/text/RuleBasedCollator.java (clone): Rewrote.
1713	(RuleBasedCollator(RuleBasedCollator)): Removed.
1714	* java/text/MessageFormat.java: Re-merged from Classpath.
1715	* java/text/DecimalFormat.java: Re-merged from Classpath.
1716
17172001-09-06  Anthony Green  <green@redhat.com>
1718
1719	* include/jvm.h: Declare _Jv_RegisterResource.
1720	* gnu/gcj/Core.java, gnu/gcj/natCore.cc,
1721	gnu/gcj/protocol/core/Connection.java,
1722	gnu/gcj/protocol/core/Handler.java,
1723	gnu/gcj/protocol/core/CoreInputStream.java,
1724	gnu/gcj/protocol/core/natCoreInputStream.cc: New files.
1725	* java/net/URL.java (setURLStreamHandler): Use
1726	gnu.gcj.protocol.core.Handler for the core protocol.
1727	* gnu/gcj/runtime/VMClassLoader.java (init): Add "core:/" to the
1728	end of java.class.path.
1729	* Makefile.am (ordinary_java_source_files): Add new java files.
1730	(nat_source_files): Add new native code files.
1731	* Makefile.in: Rebuilt.
1732
17332001-09-05  Tom Tromey  <tromey@redhat.com>
1734
1735	* java/util/Properties.java: Re-merged from Classpath.
1736
1737	From Eric Blake, via Classpath:
1738	* java/lang/String.java (CaseInsensitiveComparator): New class.
1739	(CASE_INSENSITIVE_ORDER): Use instance of CaseInsensitiveComparator.
1740
1741	* java/util/Date.java: Re-merged with Classpath.
1742
1743	* java/text/DateFormatSymbols.java: Re-merged with Classpath.
1744
17452001-09-05  Corey Minyard  <minyard@acm.org>
1746	    Tom Tromey  <tromey@redhat.com>
1747
1748	* java/lang/natClassLoader.cc: Include VirtualMachineError.h
1749	(_Jv_RegisterClassHookDefault): Throw error if a class is
1750	registered twice.
1751
17522001-09-05  Tom Tromey  <tromey@redhat.com>
1753
1754	* java/lang/natSystem.cc (init_properties): Default locale is
1755	en_US, not just en.
1756
17572001-09-05  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1758
1759	* java/text/MessageFormat.java (setLocale): Don't catch ParseException
1760	here, DecimalFormat.applyPattern() does not throw it.
1761
17622001-09-04  Tom Tromey  <tromey@redhat.com>
1763
1764	* java/util/AbstractMap.java: Re-merged with Classpath.
1765	* java/util/IdentityHashMap.java: Re-merged with Classpath.
1766
1767	* java/text/SimpleDateFormat.java: Re-merged with Classpath.
1768	* gnu/gcj/text/LocaleData.java, gnu/gcj/text/LocaleData_en.java,
1769	gnu/gcj/text/LocaleData_en_US.java: Removed.
1770	* java/text/DateFormatSymbols.java (clone): Use Classpath
1771	implementation.
1772	(equals): Simplified.
1773	(DateFormatSymbols): Look in gnu.java.locale for information.
1774	(DateFormatSymbols(DateFormatSymbols)): Removed.
1775	(safeGetResource): Removed.
1776	(DateFormatSymbols): Throws MissingResourceException.
1777	(ampmsDefault, erasDefault, localPatternCharsDefault,
1778	monthsDefault, shortMonthsDefault, shortWeekdaysDefault,
1779	weekdaysDefault, zoneStringsDefault): Removed.
1780	* java/text/Collator.java (getAvailableLocales): Use modified
1781	Classpath implementation.
1782	(getInstance): Look in gnu.java.locale for information.
1783	(clone): Rewrote.
1784	* java/text/MessageFormat.java: Reindented.
1785	(clone): Rewrote.
1786	* java/text/FieldPosition.java: Merged with Classpath.
1787	* java/text/ParsePosition.java: Merged with Classpath.
1788	* java/text/Format.java: Merged with Classpath.
1789	* java/text/StringCharacterIterator.java
1790	(StringCharacterIterator(StringCharacterIterator,int,int)): New
1791	constructor from Classpath.
1792	* java/text/Annotation.java,
1793	java/text/AttributedCharacterIterator.java,
1794	java/text/AttributedString.java,
1795	java/text/AttributedStringIterator.java: New from Classpath.
1796	* java/text/CharacterIterator.java: Copied from Classpath.
1797	* java/text/ChoiceFormat.java: Reindented.
1798	(clone): Removed.
1799	* gnu/java/text/BaseBreakIterator.java,
1800	gnu/java/text/CharacterBreakIterator.java,
1801	gnu/java/text/LineBreakIterator.java,
1802	gnu/java/text/LocaleData_en.java,
1803	gnu/java/text/LocaleData_en_US.java,
1804	gnu/java/text/SentenceBreakIterator.java,
1805	gnu/java/text/WordBreakIterator.java: Renamed from gnu/gcj/text/*.
1806	* gnu/gcj/text/BaseBreakIterator.java (last): Advance past final
1807	character.
1808	* java/text/BreakIterator.java (getAvailableLocales): Use
1809	Classpath implementation.
1810	(getInstance): Look in gnu.java.locale for information.
1811	(getCharacterInstance, getLineInstance, getSentenceInstance,
1812	getWordInstance): Look in gnu.java.text for implementations.
1813	* java/text/DecimalFormatSymbols.java: Reindented
1814	(clone): Use Classpath implementation.
1815	(DecimalFormatSymbols(DecimalFormatSymbols)): Removed.
1816	(DecimalFormatSymbols(Locale)): Look in gnu.java.locale for
1817	information.
1818	* java/text/DateFormat.java: Merged with Classpath.
1819	(getAvailableLocales): Use Classpath implementation.
1820	(format(Object,StringBuffer,FieldPosition)): Minor cleanup.
1821	(computeInstance): Look in gnu.java.locale for information.
1822	* java/text/NumberFormat.java: Reindented.
1823	(computeInstance): Look in gnu.java.locale for information.
1824	(getAvailableLocales): Use implementation from Classpath.
1825	(setMaximumIntegerDigits): Likewise.
1826	(setMinimumIntegerDigits): Likewise.
1827	(setMaximumFractionDigits): Likewise.
1828	(clone): Removed.
1829	* java/text/DecimalFormat.java: Reindented.
1830	* gnu/java/locale/LocaleInformation_en.java: Copied from Classpath.
1831	* gnu/java/locale/LocaleInformation_en_US.java: Copied from Classpath.
1832	* Makefile.in: Rebuilt.
1833	* Makefile.am (ordinary_java_source_files): Added all new files.
1834	(ordinary_java_source_files): Renamed or removed gnu/gcj/text/*.
1835	* java/security/spec/AlgorithmParameterSpec.java,
1836	java/security/spec/KeySpec.java: Re-merged with Classpath.
1837
1838	Fix for PR libgcj/4213:
1839	* Makefile.am (ordinary_java_source_files): Added new file.
1840	* gnu/gcj/text/LocaleData.java: New file.
1841
18422001-09-03  Tom Tromey  <tromey@redhat.com>
1843
1844	* java/lang/reflect/natField.cc (set): Allow for case when the
1845	value is null.  Fixes PR libgcj/4208.
1846
1847	* gcj/javaprims.h: Regenerated class list.
1848	* java/lang/IllegalThreadStateException.java,
1849	java/lang/InstantiationException.java: Minor comment tweaks to
1850	satisfy libgcj `classes.pl' script.
1851
18522001-09-01  Tom Tromey  <tromey@redhat.com>
1853
1854	* Makefile.in: Rebuilt.
1855	* Makefile.am (core_java_source_files): Added
1856	UnsupportedClassVersionError.
1857	* java/lang/UnsupportedClassVersionError.java: New file from
1858	Classpath.
1859
1860	* java/io/CharConversionException.java, java/io/EOFException.java,
1861	java/io/FileNotFoundException.java, java/io/IOException.java,
1862	java/io/InterruptedIOException.java,
1863	java/io/ObjectStreamException.java,
1864	java/io/OptionalDataException.java,
1865	java/io/StreamCorruptedException.java,
1866	java/io/SyncFailedException.java,
1867	java/io/UTFDataFormatException.java,
1868	java/io/UnsupportedEncodingException.java,
1869	java/lang/AbstractMethodError.java,
1870	java/lang/ArithmeticException.java,
1871	java/lang/ArrayIndexOutOfBoundsException.java,
1872	java/lang/ArrayStoreException.java,
1873	java/lang/ClassCastException.java,
1874	java/lang/ClassCircularityError.java,
1875	java/lang/ClassFormatError.java,
1876	java/lang/CloneNotSupportedException.java, java/lang/Error.java,
1877	java/lang/Exception.java,
1878	java/lang/ExceptionInInitializerError.java,
1879	java/lang/IllegalAccessError.java,
1880	java/lang/IllegalAccessException.java,
1881	java/lang/IllegalArgumentException.java,
1882	java/lang/IllegalMonitorStateException.java,
1883	java/lang/IllegalStateException.java,
1884	java/lang/IllegalThreadStateException.java,
1885	java/lang/IncompatibleClassChangeError.java,
1886	java/lang/IndexOutOfBoundsException.java,
1887	java/lang/InstantiationError.java,
1888	java/lang/InstantiationException.java,
1889	java/lang/InternalError.java, java/lang/InterruptedException.java,
1890	java/lang/LinkageError.java,
1891	java/lang/NegativeArraySizeException.java,
1892	java/lang/NoClassDefFoundError.java,
1893	java/lang/NoSuchFieldError.java,
1894	java/lang/NoSuchFieldException.java,
1895	java/lang/NoSuchMethodError.java,
1896	java/lang/NoSuchMethodException.java,
1897	java/lang/NullPointerException.java,
1898	java/lang/NumberFormatException.java,
1899	java/lang/OutOfMemoryError.java, java/lang/RuntimeException.java,
1900	java/lang/SecurityException.java,
1901	java/lang/StackOverflowError.java,
1902	java/lang/StringIndexOutOfBoundsException.java,
1903	java/lang/ThreadDeath.java, java/lang/UnknownError.java,
1904	java/lang/UnsatisfiedLinkError.java,
1905	java/lang/UnsupportedOperationException.java,
1906	java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
1907	java/lang/reflect/InvocationTargetException.java,
1908	java/net/BindException.java, java/net/ConnectException.java,
1909	java/net/MalformedURLException.java,
1910	java/net/NoRouteToHostException.java,
1911	java/net/ProtocolException.java, java/net/SocketException.java,
1912	java/net/UnknownHostException.java,
1913	java/net/UnknownServiceException.java,
1914	java/text/ParseException.java: Copied from Classpath, thanks to
1915	Mark Wielaard who did the merge.
1916
1917	* java/lang/System.java (getProperty): Use single argument form of
1918	SecurityManager.checkPropertyAccess.
1919	* Makefile.in: Rebuilt.
1920	* Makefile.am (core_java_source_files): Added VMSecurityManager.
1921	* java/lang/VMSecurityManager.java: New file.
1922	* java/lang/SecurityManager.java: Merged with Classpath.
1923
19242001-08-31  Per Bothner  <per@bothner.com>
1925
1926	* gcj/javaprims.h (_Jv_RegisterClassHook):  New extern declaration.
1927	(_Jv_RegisterClassHookDefault):  Likewise.
1928	* java/lang/Class.h (_Jv_RegisterClassHookDefault):  Declare as friend.
1929	* java/lang/natClassLoader.cc (_Jv_RegisterClassHook):  New variable.
1930	(_Jv_RegisterClassHookDefault):  New.function.
1931	(_Jv_RegisterClasses):  Call _Jv_RegisterClassHook.
1932
1933	* java/lang/ClassLoader.java (system):  Remove static field.
1934	(getSystemClassLoader):  Get gnu.gcj.runtime.VMClassLoader.instance
1935	directly instead of using it to set the system field.
1936	(loadClass):  Use VMClassLoader.instance instead of system field.
1937	(findSystemClass):   Similar.
1938	* prims.cc (_Jv_RunMain):  Clear VMClassLoader::instance rather
1939	than ClassLoader::system which no longer exists.
1940	* java/lang/natClassLoader.java (_Jv_FindClass):  Simplify.
1941
19422001-08-31  Tom Tromey  <tromey@redhat.com>
1943
1944	* java/io/BufferedReader.java, java/io/ObjectInput.java,
1945	java/io/ObjectInputValidation.java, java/io/ObjectOutput.java:
1946	Re-merged with Classpath.
1947
1948	Re-merge with Classpath:
1949	* java/util/Comparator (equals): Added.
1950	* java/io/PipedWriter.java (write): Changed argument to `int'.
1951
1952	* java/io/FileDescriptor.java (FileDescriptor()): New
1953	constructor.
1954	* java/io/File.java (getAbsoluteFile): Doesn't throw IOException.
1955
1956	* Makefile.in: Rebuilt.
1957	* Makefile.am (ordinary_java_source_files): Removed
1958	EnumerationChain, added DoubleEnumeration.
1959	(nat_source_files): Added natResourceBundle.cc.
1960	* java/util/natResourceBundle.cc: New file.
1961	* gnu/java/util/DoubleEnumeration.java: New file.
1962	* gnu/gcj/util/EnumerationChain.java: Removed.
1963	* java/beans/VetoableChangeSupport.java: Merged with Classpath.
1964	* java/util/ResourceBundle.java: Merged with Classpath.
1965	* java/util/StringTokenizer.java: Merged with Classpath.
1966	* java/util/Locale.java: Merged with Classpath.
1967	* java/util/Random.java: Merged with Classpath.
1968	* java/util/PropertyResourceBundle.java: Merged with Classpath.
1969	* java/util/ListResourceBundle.java: Merged with Classpath.
1970	* java/util/ConcurrentModificationException.java: Re-merged with
1971	Classpath.
1972	* java/util/EmptyStackException.java: Likewise.
1973	* java/util/MissingResourceException.java: Likewise.
1974	* java/util/NoSuchElementException.java: Likewise.
1975	* java/util/TooManyListenersException.java: Likewise.
1976
1977	* java/io/ByteArrayOutputStream.java: Re-merged with Classpath.
1978	* java/io/OptionalDataException.java: Merged with Classpath.
1979
19802001-08-31  Jason Merrill  <jason_merrill@redhat.com>
1981
1982	* exception.cc (PERSONALITY_FUNCTION): Simplify
1983	leb128 handling.
1984
19852001-08-31  Tom Tromey  <tromey@redhat.com>
1986
1987	* java/io/ByteArrayInputStream.java: Merged with Classpath.
1988
19892001-08-30  Tom Tromey  <tromey@redhat.com>
1990
1991	* java/io/BufferedReader.java: Re-merged with Classpath.
1992
19932001-08-28  Per Bothner  <per@bothner.com>
1994
1995	* java/math/BigInteger.java (init(int,Random)):  New method.
1996	Move body of constructor <init>(int,Random)) here.
1997	Re-write it to avoid constructing unneeded temporaries.
1998	(<init>(int,int,Random)):  Use new init method to avoid constructing
1999	extra temporary BigIntegers.
2000
20012001-08-27  Tom Tromey  <tromey@redhat.com>
2002
2003	* java/rmi/activation/Activatable.java,
2004	java/rmi/activation/ActivateFailedException.java,
2005	java/rmi/activation/ActivationDesc.java,
2006	java/rmi/activation/ActivationException.java,
2007	java/rmi/activation/ActivationGroup.java,
2008	java/rmi/activation/ActivationGroupDesc.java,
2009	java/rmi/activation/ActivationGroupID.java,
2010	java/rmi/activation/ActivationID.java,
2011	java/rmi/activation/ActivationInstantiator.java,
2012	java/rmi/activation/ActivationMonitor.java,
2013	java/rmi/activation/ActivationSystem.java,
2014	java/rmi/activation/Activator.java,
2015	java/rmi/activation/UnknownGroupException.java,
2016	java/rmi/activation/UnknownObjectException.java,
2017	java/rmi/AccessException.java,
2018	java/rmi/AlreadyBoundException.java,
2019	java/rmi/ConnectException.java, java/rmi/ConnectIOException.java,
2020	java/rmi/MarshalException.java, java/rmi/MarshalledObject.java,
2021	java/rmi/Naming.java, java/rmi/NoSuchObjectException.java,
2022	java/rmi/NotBoundException.java,
2023	java/rmi/RMISecurityException.java,
2024	java/rmi/RMISecurityManager.java, java/rmi/Remote.java,
2025	java/rmi/RemoteException.java, java/rmi/ServerError.java,
2026	java/rmi/ServerException.java,
2027	java/rmi/ServerRuntimeException.java,
2028	java/rmi/StubNotFoundException.java,
2029	java/rmi/UnexpectedException.java,
2030	java/rmi/UnknownHostException.java,
2031	java/rmi/UnmarshalException.java, java/rmi/dgc/DGC.java,
2032	java/rmi/dgc/Lease.java, java/rmi/dgc/VMID.java,
2033	java/rmi/registry/LocateRegistry.java,
2034	java/rmi/registry/Registry.java,
2035	java/rmi/registry/RegistryHandler.java,
2036	java/rmi/server/ExportException.java,
2037	java/rmi/server/LoaderHandler.java,
2038	java/rmi/server/LogStream.java, java/rmi/server/ObjID.java,
2039	java/rmi/server/Operation.java,
2040	java/rmi/server/RMIClassLoader.java,
2041	java/rmi/server/RMIClientSocketFactory.java,
2042	java/rmi/server/RMIFailureHandler.java,
2043	java/rmi/server/RMIServerSocketFactory.java,
2044	java/rmi/server/RMISocketFactory.java,
2045	java/rmi/server/RemoteCall.java,
2046	java/rmi/server/RemoteObject.java, java/rmi/server/RemoteRef.java,
2047	java/rmi/server/RemoteServer.java,
2048	java/rmi/server/RemoteStub.java,
2049	java/rmi/server/ServerCloneException.java,
2050	java/rmi/server/ServerNotActiveException.java,
2051	java/rmi/server/ServerRef.java, java/rmi/server/Skeleton.java,
2052	java/rmi/server/SkeletonMismatchException.java,
2053	java/rmi/server/SkeletonNotFoundException.java,
2054	java/rmi/server/SocketSecurityException.java,
2055	java/rmi/server/UID.java,
2056	java/rmi/server/UnicastRemoteObject.java,
2057	java/rmi/server/Unreferenced.java, gnu/java/rmi/dgc/DGCImpl.java,
2058	gnu/java/rmi/dgc/DGCImpl_Skel.java,
2059	gnu/java/rmi/dgc/DGCImpl_Stub.java,
2060	gnu/java/rmi/registry/RegistryImpl.java,
2061	gnu/java/rmi/registry/RegistryImpl_Skel.java,
2062	gnu/java/rmi/registry/RegistryImpl_Stub.java,
2063	gnu/java/rmi/rmic/RMIC.java, gnu/java/rmi/rmic/TabbedWriter.java,
2064	gnu/java/rmi/server/ProtocolConstants.java,
2065	gnu/java/rmi/server/RMIDefaultSocketFactory.java,
2066	gnu/java/rmi/server/RMIHashes.java,
2067	gnu/java/rmi/server/RMIObjectInputStream.java,
2068	gnu/java/rmi/server/RMIObjectOutputStream.java,
2069	gnu/java/rmi/server/UnicastConnection.java,
2070	gnu/java/rmi/server/UnicastConnectionManager.java,
2071	gnu/java/rmi/server/UnicastRef.java,
2072	gnu/java/rmi/server/UnicastRemoteCall.java,
2073	gnu/java/rmi/server/UnicastRemoteStub.java,
2074	gnu/java/rmi/server/UnicastServer.java,
2075	gnu/java/rmi/server/UnicastServerRef.java: RMI implementation from
2076	Kaffe.  Relabelled classes to fit into Classpath tree.
2077	* Makefile.in: Rebuilt.
2078	* Makefile.am (rmi_java_source_files): New macro.
2079	(ordinary_java_source_files): Reference it.
2080	(bin_PROGRAMS): Added rmic and rmiregistry.
2081	(rmic_SOURCES): New macro.
2082	(EXTRA_rmic_SOURCES): Likewise.
2083	(rmic_LDFLAGS): Likewise.
2084	(rmic_LINK): Likewise.
2085	(rmic_LDADD): Likewise.
2086	(rmic_DEPENDENCIES): Likewise.
2087	(rmiregistry_SOURCES): New macro.
2088	(EXTRA_rmiregistry_SOURCES): Likewise.
2089	(rmiregistry_LDFLAGS): Likewise.
2090	(rmiregistry_LINK): Likewise.
2091	(rmiregistry_LDADD): Likewise.
2092	(rmiregistry_DEPENDENCIES): Likewise.
2093
20942001-08-26  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2095
2096	* name-finder.cc (lookup): Ignore a null dli_fname from dladdr.
2097
2098	* Makefile.am: New friends for java/lang/Thread.h.
2099	* prims.cc (runFirst): Removed.
2100	(JvRunMain): Merged into _Jv_RunMain. Now just calls that.
2101	(_Jv_RunMain): Now takes either a klass or class name parameter.
2102	Create a gnu.gcj.runtime.FirstThread and attach the native thread
2103	to that, then run it using _Jv_ThreadRun. Remove special handling of
2104	jar files, instead pass is_jar parameter through to FirstThread.
2105	* gcj/javaprims.h: Add prototypes for _Jv_ThreadRun and new variant
2106	of _Jv_AttachCurrentThread.
2107	* gnu/gcj/runtime/FirstThread.java (FirstThread): Now extends Thread.
2108	(run): New method. Take care of looking up main class manifest
2109	attribute and calling forName if necessary. Then call call_main.
2110	(call_main): New native method.
2111	* gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code
2112	relocated from prims.cc. Look up and call main method.
2113	* java/lang/Thread.java (run_): Removed.
2114	* java/lang/natThread.cc (run_): Renamed to...
2115	(_Jv_ThreadRun): this. JVMPI notification code moved to ...
2116	(_Jv_NotifyThreadStart): here. New function.
2117	(countStackFrames, destroy, resume, suspend, stop): Throw
2118	UnsupportedOperationExceptions rather than JvFail'ing.
2119	(_Jv_AttachCurrentThread): New variant takes a Thread argument.
2120	Existing version wraps new variant.
2121
2122
21232001-08-23  Tom Tromey  <tromey@redhat.com>
2124
2125	* java/lang/reflect/Field.java (toString): Use
2126	Method.appendClassName.
2127	* java/lang/reflect/Constructor.java (toString): Use
2128	Method.appendClassName.
2129	* java/lang/reflect/Method.java: Reindented.
2130	(appendClassName): New method.
2131	(toString): Use it.
2132	* defineclass.cc (handleMethod ): Initialize `throws' field of
2133	method.
2134	(read_one_method_attribute): Handle Exceptions attribute.
2135	* java/lang/reflect/natMethod.cc (ClassClass): Removed.
2136	(ObjectClass): Removed.
2137	(getType): Compute `exception_types'.
2138	* java/lang/Class.h (struct _Jv_Method): Added `throws' field.
2139
21402001-08-21  Anthony Green  <green@redhat.com>
2141
2142	* java/lang/natClassLoader.cc (findClass): Search for
2143	lib-gnu-pkg-quux.so, not gnu-pkg-quux.so.
2144
21452001-08-21  Jeff Sturm  <jsturm@one-point.com>
2146
2147	* java/util/IdentityHashMap.java (get): Fix off-by-one error.
2148	(put): Likewise.
2149
21502001-08-20  Tom Tromey  <tromey@redhat.com>
2151
2152	* java/awt/GridBagConstraints.java: Removed comment.
2153
2154	* jni.cc (nathash, nathash_count, nathash_size): New globals.
2155	(DELETED_ENTRY): New define.
2156	(hash): New function.
2157	(nathash_find_slot): Likewise.
2158	(natrehash): Likewise.
2159	(nathash_add): Likewise.
2160	(_Jv_JNI_RegisterNatives): No longer interpreter-specific.  Use
2161	nathash_add.
2162	(nathash_find): New function.
2163	(_Jv_LookupJNIMethod): Use it.  Synchronize body.
2164	(call): Synchronize around assignment.
2165
21662001-08-17  Jeff Sturm  <jsturm@one-point.com>
2167
2168	* gnu/gcj/convert/UnicodeToBytes.java (write): Write work buffer
2169	starting from zero offset.
2170
21712001-08-17  Hans-J. Boehm <Hans_Boehm@hp.com>
2172
2173	* boehm.cc: Include gc_local_alloc.h if appropriate.
2174	(GC_GENERIC_MALLOC): Don't define.
2175	(MAYBE_MARK): Redefine for GC 6.0.
2176	(_Jv_MarkObj): Mark class differently.
2177	(_Jv_AllocArray): Use GC_generic_malloc.
2178
21792001-08-17  Mark J Roberts  <mjr@anarcast.net>
2180
2181	* java/math/BigInteger.java (randBytes): New method.
2182	(BigInteger(int,Random)): Use randBytes.
2183
21842001-08-17  Tom Tromey  <tromey@redhat.com>
2185
2186	* gnu/gcj/convert/IOConverter.java: Add `646' alias.
2187
21882001-08-17  Hans-J. Boehm <Hans_Boehm@hp.com>
2189
2190	* BigInteger.java: fix right shifts by nonzero multiples of 32.
2191
21922001-08-15  Tom Tromey  <tromey@redhat.com>
2193
2194	* jni.cc: Include IdentityHashMap.h, not Hashtable.h.
2195	(local_ref_table, global_ref_table): Now IdentityHashMap.
2196	(_Jv_JNI_Init): Updated for new types.
2197	(mark_for_gc): Likewise.
2198	(unmark_for_gc): Likewise.
2199	* gcj/javaprims.h: Rebuilt class list.
2200	* Makefile.in: Rebuilt.
2201	* Makefile.am (core_java_source_files): Added new file.
2202	* java/util/IdentityHashMap.java: New file.
2203
2204	* gnu/gcj/convert/natIconv.cc (read): Handle EINVAL and E2BIG
2205	correctly.
2206
22072001-08-09  Tom Tromey  <tromey@redhat.com>
2208
2209	* java/awt/image/SampleModel.java (getPixel): Set correct array
2210	element.  From Chris Meyer.
2211
22122001-08-10  Loren J. Rittle  <ljrittle@acm.org>
2213
2214	* java/lang/natObject.cc (is_mp): Protect use of _SC_NPROCESSORS_ONLN.
2215	* gnu/gcj/convert/natIconv.cc (done): Use HAVE_ICONV.
2216
22172001-08-06  Tom Tromey  <tromey@redhat.com>
2218
2219	* java/io/InputStreamReader.java (refill): Only call refill on
2220	BufferedInputStream when appropriate constraints are met.
2221
22222001-08-05  Tom Tromey  <tromey@redhat.com>
2223
2224	* java/io/StringWriter.java: Merged with Classpath.
2225	* java/io/InputStream.java: Merged with Classpath.
2226	* java/io/OutputStream.java: Merged with Classpath.
2227	* java/io/PushbackInputStream.java: Merged with Classpath.
2228	* java/io/CharArrayReader.java: Merged with Classpath.
2229	* java/io/CharArrayWriter.java: Merged with Classpath.
2230
22312001-08-02  Tom Tromey  <tromey@redhat.com>
2232
2233	* prims.cc (JNI_OnLoad): Don't declare.
2234	(_JNI_OnLoad): Don't define.
2235	(_Jv_CreateJavaVM): Don't handle JNI_OnLoad.
2236
22372001-08-02  Tom Tromey  <tromey@redhat.com>
2238
2239	* java/io/RandomAccessFile.java (seek): Let seek go past end of
2240	file.
2241	(skipBytes): Don't fail if seeking past end of file.
2242	* java/io/FileInputStream.java (skip): Don't fail if seeking past
2243	end of file.
2244	* java/io/natFileDescriptorWin32.cc (seek): Handle `eof_trunc'
2245	argument.
2246	* java/io/natFileDescriptorEcos.cc (seek): Handle `eof_trunc'
2247	argument.
2248	* java/io/natFileDescriptorPosix.cc (seek): Handle `eof_trunc'
2249	argument.
2250	* java/io/FileDescriptor.java (seek): Added `eof_trunc' argument.
2251
22522001-08-02  Martin Kahlert  <martin.kahlert@infineon.com>
2253
2254	* jni.cc (JNI_CreateJavaVM): Call _Jv_JNI_Init in order
2255	to initialize global_ref_table/local_ref_table.
2256
22572001-08-02  Tom Tromey  <tromey@redhat.com>
2258
2259	* configure: Rebuilt.
2260	* configure.in (THREADSPEC): Don't set THREADLIBS on Cygwin.  From
2261	David Billinghurst.
2262
22632001-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2264
2265	* include/posix.h (_POSIX_PII_SOCKET): Define.
2266	* configure.in (HAVE_SOCKLEN_T): Define.
2267	* java/net/natPlainSocketImpl.cc [!HAVE_SOCKLEN_T]: Move socklen_t
2268	definition up.
2269	(_JV_accept): New function, avoids Tru64 UNIX accept macro.
2270	(java::net::PlainSocketImpl::accept): Use it.
2271	Fixes PRs libgcj/3694, libgcj/3696.
2272
2273	* configure.in (HAVE_STRUCT_IPV6_MREQ): New test.
2274	* acconfig.h (HAVE_STRUCT_IPV6_MREQ): Provide template.
2275	* configure, include/config.h.in: Regenerate.
2276	* java/net/natPlainDatagramSocketImpl.cc (union McastReq): Use it.
2277	(mcastGrp): Likewise.
2278	(java::net::PlainDatagramSocketImpl::setOption): Guard against
2279	missing IPV6_MULTICAST_IF.
2280	Fixes PR libgcj/3694.
2281
22822001-08-01  Jeff Sturm  <jsturm@one-point.com>
2283
2284	* libgcj.spec.in: Pass -fkeep-inline-functions to jc1.
2285
22862001-07-30  Christian Iseli  <chris@ludwig-alpha.unil.ch>
2287
2288	* Makefile.in: Rebuilt.
2289	* Makefile.am (GCJLINK): Added --tag=GCJ.
2290	(LIBLINK): Likewise.
2291
22922001-07-30  Tom Tromey  <tromey@redhat.com>
2293
2294	* java/util/Date.java: Re-merged with Classpath.
2295
22962001-07-30  Jeff Sturm  <jsturm@one-point.com>
2297
2298	* java/net/natPlainDatagramSocketImpl.cc: Undefine bind if defined.
2299	(_Jv_bind): New static function.
2300	(bind): Use _Jv_bind.
2301	* java/net/natPlainSocketImpl.cc: Undefine bind, connect if defined.
2302	(_Jv_bind, _Jv_connect): New static functions.
2303	(bind): Use _Jv_bind.
2304	(connect): Use _Jv_connect.
2305
23062001-07-30  Tom Tromey  <tromey@redhat.com>
2307	    Corey Minyard  <minyard@acm.org>
2308
2309	* gnu/gcj/convert/natIconv.cc (done): New methods.
2310	* gnu/gcj/convert/Output_iconv.java (done): New method.
2311	* gnu/gcj/convert/Input_iconv.java (done): New method.
2312	* gnu/gcj/convert/UnicodeToBytes.java (defaultEncodingClass):
2313	Removed.
2314	(getDefaultEncodingClass): Removed.
2315	(getDefaultEncoder): Use getEncoder.
2316	(done): New method.
2317	(defaultEncoding, CACHE_SIZE, encoderCache, currCachePos): New
2318	static fields.
2319	* gnu/gcj/convert/BytesToUnicode.java (defaultDecodingClass):
2320	Removed.
2321	(defaultEncoding, CACHE_SIZE, decoderCache, currCachePos): New
2322	static fields.
2323	(getDefaultDecodingClass): Removed.
2324	(getDefaultDecoder): Use getDecoder.
2325	(getDecoder): Look up decoder in cache.
2326	(done): New method.
2327	* java/lang/natString.cc (init): Call `done' on converter.
2328	(getBytes): Likewise.
2329
23302001-07-30  Tom Tromey  <tromey@redhat.com>
2331
2332	* java/lang/Integer.java: Merged with Classpath.
2333
23342001-07-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2335
2336	* java/util/GregorianCalendar.java (GregorianCalendar): Call
2337	setTimeInMillis() to set the default/current time.
2338
23392001-07-29  Mark Wielaard <mark@klomp.org>
2340
2341	* HACKING: add description on updating namespace
2342
23432001-07-26  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2344
2345	* java/util/Calendar.java (set): Never recompute fields here. They
2346	will already be set if someone set time explicitly, and it can cause
2347	problems to do so. Don't invalidate AM_PM setting if HOUR is set.
2348	* java/util/GregorianCalendar.java (computeTime): Don't ignore an
2349	HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is
2350	sane.
2351	* java/text/SimpleDateFormat.java (defaultCentury): New field.
2352	(readObject): Call set2DigitYearStart if appropriate so that
2353	defaultCentury is calculated.
2354	(SimpleDateFormat): Don't bother clearing calendar here. Call
2355	computeCenturyStart().
2356	(set2DigitYearStart): Calculate and set defaultCentury.
2357	(format): Don't clone the calendar. Use "calendar" not "theCalendar"
2358	everywhere.
2359	(parse): Likewise. If the pattern is "y" or "yy" and it found exactly
2360	2 numeric digits, use the 80-20 heuristic to parse the value into a
2361	default century based on defaultCenturyStart.
2362	(computeCenturyStart): Rewritten. Call set2DigitYearStart().
2363
23642001-07-25  Tom Tromey  <tromey@redhat.com>
2365
2366	* Makefile.in: Rebuilt.
2367	* Makefile.am (libgcj.jar): Correctly fail when bytecode
2368	compilation fails.
2369
23702001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2371
2372	* prims.cc (_JNI_OnLoad): New function.
2373	(JNI_OnLoad): Use it.
2374	(_Jv_CreateJavaVM): Check for _JNI_OnLoad, not NULL.
2375
23762001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2377
2378	* Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS.
2379	Makefile.in: Regenerate.
2380
23812001-07-24  Tom Tromey  <tromey@redhat.com>
2382
2383	* java/lang/VMClassLoader.java (getPrimitiveClass): Return correct
2384	type.
2385
23862001-07-23  Tom Tromey  <tromey@redhat.com>
2387
2388	* gcj/javaprims.h: Rebuilt class list.
2389	* Makefile.in: Rebuilt.
2390	* Makefile.am (core_java_source_files): Added VMClassLoader.
2391	* java/lang/VMClassLoader.java: New file.
2392	* java/lang/Boolean.java: Merged with Classpath.
2393	* java/lang/Byte.java: Merged with Classpath.
2394	* java/lang/Integer.java: Merged with Classpath.
2395	* java/lang/Long.java: Merged with Classpath.
2396	* java/lang/Number.java: Merged with Classpath.
2397	* java/lang/Short.java: Merged with Classpath.
2398
23992001-07-22  Jeff Sturm  <jsturm@one-point.com>
2400
2401	* configure.host: Enable hash synchronization for alpha*-*.
2402	* include/posix-threads.h (_Jv_ThreadSelf): Added inline
2403	function for alpha.
2404	* java/lang/natObject.cc (compare_and_swap, release_set,
2405	compare_and_swap_release): Added inline functions for alpha.
2406
24072001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2408
2409	* java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC
2410	2533 socket options IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, falling
2411	back to old RFC 2133 variants if missing.
2412
24132001-07-18  Tom Tromey  <tromey@redhat.com>
2414
2415	* java/io/natFileWin32.cc (_access): Renamed.
2416	(_stat): Likewise.
2417	* java/io/natFile.cc (_access): Renamed.
2418	(_stat): Likewise.
2419	* java/io/File.java (access, stat): Add leading `_' to name.
2420	Updated all callers.
2421
24222001-07-18  Tom Tromey  <tromey@redhat.com>
2423
2424	For PR java/2812:
2425	* libgcj.spec.in (*lib): Added LIBICONV.
2426	* configure: Rebuilt.
2427	* configure.in: Call AM_ICONV.  Don't check for iconv function.
2428	Add parameters to JV_HASH_SYNCHRONIZATION define.
2429	* acinclude.m4 (AM_ICONV): New macro, from Bruno Haible.
2430
24312001-07-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2432
2433	* java/util/LinkedList.java (clone): Clear the copy list with clear(),
2434	not by setting its size field.
2435
24362001-07-13  Alexandre Petit-Bianco  <apbianco@redhat.com>
2437
2438	* include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): Removed unused
2439	local `_ebp.'
2440
24412001-07-12  Tom Tromey  <tromey@redhat.com>
2442	    David Brownell  <david-b@pacbell.net>
2443
2444	Fix for PR libgcj/3426:
2445	* gnu/gcj/convert/natIconv.cc: Include CharConversionException.h,
2446	errno.h.
2447	(read): Throw exception if character conversion fails.
2448	* java/io/BufferedInputStream.java (refill): Now package-private.
2449	* java/io/InputStreamReader.java (ready): Simplified.
2450	(refill): New method.
2451	(read): Use it.
2452
24532001-07-12  Tom Tromey  <tromey@redhat.com>
2454
2455	Report from Henner Zeller:
2456	* java/io/FileOutputStream.java (FileOutputStream): Throw
2457	FileNotFoundException, not IOException.
2458
24592001-07-10  Anthony Green  <green@redhat.com>
2460
2461	* Makefile.in: Rebuilt.
2462	* Makefile.am: Add new files.
2463	* org/w3c/dom/Attr.java, org/w3c/dom/CDATASection.java,
2464	org/w3c/dom/CharacterData.java, org/w3c/dom/Comment.java,
2465	org/w3c/dom/DOMException.java, org/w3c/dom/DOMImplementation.java,
2466	org/w3c/dom/Document.java, org/w3c/dom/DocumentFragment.java,
2467	org/w3c/dom/DocumentType.java, org/w3c/dom/Element.java,
2468	org/w3c/dom/Entity.java, org/w3c/dom/EntityReference.java,
2469	org/w3c/dom/NamedNodeMap.java, org/w3c/dom/Node.java,
2470	org/w3c/dom/NodeList.java, org/w3c/dom/Notation.java,
2471	org/w3c/dom/ProcessingInstruction.java, org/w3c/dom/Text.java,
2472	org/w3c/dom/ranges/DocumentRange.java,
2473	org/w3c/dom/ranges/Range.java,
2474	org/w3c/dom/ranges/RangeException.java,
2475	org/w3c/dom/traversal/DocumentTraversal.java,
2476	org/w3c/dom/traversal/NodeFilter.java,
2477	org/w3c/dom/traversal/NodeIterator.java,
2478	org/w3c/dom/traversal/TreeWalker.java,
2479	org/xml/sax/ext/DeclHandler.java,
2480	org/xml/sax/ext/LexicalHandler.java,
2481	org/xml/sax/helpers/AttributeListImpl.java,
2482	org/xml/sax/helpers/AttributesImpl.java,
2483	org/xml/sax/helpers/DefaultHandler.java,
2484	org/xml/sax/helpers/LocatorImpl.java,
2485	org/xml/sax/helpers/NamespaceSupport.java,
2486	org/xml/sax/helpers/ParserAdapter.java,
2487	org/xml/sax/helpers/ParserFactory.java,
2488	org/xml/sax/helpers/XMLFilterImpl.java,
2489	org/xml/sax/helpers/XMLReaderAdapter.java,
2490	org/xml/sax/helpers/XMLReaderFactory.java,
2491	org/xml/sax/AttributeList.java, org/xml/sax/Attributes.java,
2492	org/xml/sax/ContentHandler.java, org/xml/sax/DTDHandler.java,
2493	org/xml/sax/DocumentHandler.java, org/xml/sax/EntityResolver.java,
2494	org/xml/sax/ErrorHandler.java, org/xml/sax/HandlerBase.java,
2495	org/xml/sax/InputSource.java, org/xml/sax/Locator.java,
2496	org/xml/sax/Parser.java, org/xml/sax/SAXException.java,
2497	org/xml/sax/SAXNotRecognizedException.java,
2498	org/xml/sax/SAXNotSupportedException.java,
2499	org/xml/sax/SAXParseException.java, org/xml/sax/XMLFilter.java,
2500	org/xml/sax/XMLReader.java:  New files.
2501
25022001-07-10  Alexandre Petit-Bianco  <apbianco@redhat.com>
2503
2504	* Makefile.am: Added `java/lang/ThreadLocal.java'.
2505	* Makefile.in: Regenerate.
2506	* java/lang/ThreadLocal.java: Initial import.
2507
25082001-07-07  Jeff Sturm  <jsturm@one-point.com>
2509
2510	* Makefile.am (libgcj.jar): Don't recursively make
2511	built_java_source_files.  Avoid long command lines.
2512	Don't change to $(srcdir) to invoke javac.
2513	(libgcj.la, libgcjx.la); Avoid long command lines.
2514	($(nat_headers),$(x_nat_headers)): Depend on libgcj.jar.
2515	* Makefile.in: Rebuilt.
2516
25172001-07-06  Andrew Haley  <aph@cambridge.redhat.com>
2518
2519	* include/i386-signal.h: Don't do anything with unsigned divide
2520	overflow except throw an exception.
2521
25222001-07-05  Tom Tromey  <tromey@redhat.com>
2523
2524	For PR java/3562:
2525	* java/lang/Class.h (Class(void)): Now private.  Removed
2526	implementation.  From dmorsberger@sensysdl.com.
2527
25282001-07-02  Tom Tromey  <tromey@redhat.com>
2529
2530	Fix for PR bootstrap/3281:
2531	* aclocal.m4, configure: Rebuilt.
2532	* acinclude.m4 (LIBGCJ_CONFIGURE): Don't set libgcj_flagbasedir.
2533	Correctly compute libgcj_basedir.
2534	(mkinstalldirs): Define and subst.
2535
25362001-07-01  Jeremy Nimmer  <jwnimmer@alum.mit.edu>
2537
2538	For PR libgcj/3523:
2539	* java/io/LineNumberReader.java (reset): Pass correct arguments to
2540	countLines.
2541
25422001-06-27  Tom Tromey  <tromey@redhat.com>
2543
2544	* gnu/gcj/convert/IOConverter.java: Manually maintained alias now
2545	lowercase.
2546
25472001-06-25  Tom Tromey  <tromey@redhat.com>
2548
2549	* scripts/encodings.pl: Generate lower-case names.  Updated URL
2550	for `character-sets' file.
2551	* gnu/gcj/convert/IOConverter.java (canonicalize): Convert name to
2552	lower case.
2553	Rebuilt list of aliases.
2554
25552001-06-25  Tom Tromey  <tromey@redhat.com>
2556
2557	* java/io/natFileDescriptorPosix.cc (open): Change error message
2558	formatting.  From David Brownell.
2559
25602001-06-21  Tom Tromey  <tromey@redhat.com>
2561
2562	* include/java-interp.h (_Jv_InterpClass): Use JV_MARKOBJ_DECL.
2563	From Corey Minyard.
2564
25652001-06-19  Mark J. Roberts  <mjr@statesmean.com>
2566
2567	* java/math/BigInteger.java (byteArrayToIntArray): Don't include
2568	extraneous/malformed sign word.
2569
25702001-06-15  Tom Tromey  <tromey@redhat.com>
2571
2572	* jni.cc (_Jv_JNI_NewLocalRef): Search other frames.
2573
25742001-06-15  Tom Tromey  <tromey@redhat.com>
2575
2576	* java/lang/natRuntime.cc (_Jv_FindSymbolInExecutable): Return
2577	NULL if no library on the list has the symbol.
2578	(init): Call add_library on the program itself.
2579	* prims.cc (JvRunMain): Initialize Runtime before searching for
2580	`main'.
2581	(_Jv_RunMain): Likewise.
2582
25832001-06-15  Tom Tromey  <tromey@redhat.com>
2584
2585	* jni.cc (ClassClass): Removed; updated all users.
2586	(ObjectClass): Likewise.
2587	(ThrowableClass): Likewise.
2588	(MethodClass): Likewise.
2589	(ThreadGroupClass): Likewise.
2590	(local_ref_table): Renamed from `ref_table'.
2591	(global_ref_table): New global.
2592	(_Jv_JNI_Init): Initialize both ref tables.
2593	(mark_for_gc): Added `ref_table' parameter.
2594	(unmark_for_gc): Likewise.  Also, fail if we unreferenced too many
2595	times.
2596	(_Jv_JNI_NewGlobalRef): Updated for new mark function.
2597	(_Jv_JNI_DeleteGlobalRef): Likewise.
2598	(_Jv_JNI_DeleteLocalRef): Likewise.
2599	(_Jv_JNI_NewLocalRef): Likewise.
2600	(_Jv_JNI_PopLocalFrame): Likewise.
2601	(_Jv_JNI_GetStringChars): Likewise.
2602	(_Jv_JNI_ReleaseStringChars): Likewise.
2603	(_Jv_JNI_GetPrimitiveArrayElements): Likewise.
2604	(_Jv_JNI_ReleasePrimitiveArrayElements): Likewise.
2605
26062001-06-14  Tom Tromey  <tromey@redhat.com>
2607
2608	Fix for PR libgcj/3144:
2609	* java/util/Date.java: Merged with Classpath.
2610
26112001-06-12  Tom Tromey  <tromey@redhat.com>
2612
2613	* aclocal.m4, configure: Rebuilt.
2614	* acinclude.m4: Find configure.host in srcdir.
2615
26162001-06-07  Tom Tromey  <tromey@redhat.com>
2617
2618	Fix for PR libgcj/3059:
2619	* java/lang/natSystem.cc (init_properties): Define `java.home'.
2620	* Makefile.in: Rebuilt.
2621	* Makefile.am (AM_CXXFLAGS): Define PREFIX.
2622
26232001-06-10  Alexandre Petit-Bianco  <apbianco@redhat.com>
2624
2625	* exception.cc (cstdlib): Replaces stdlib.h.
2626	(_Jv_Throw): Use std::abort().
2627	(PERSONALITY_FUNCTION): Likewise.
2628
26292001-06-09  Alexandre Oliva  <aoliva@redhat.com>, Stephen L Moshier  <moshier@mediaone.net>
2630
2631	* acinclude.m4 (AC_EXEEXT): Work around in case it expands to
2632	nothing, as in autoconf 2.50.
2633	* aclocal.m4, configure: Rebuilt.
2634
26352001-06-08  Tom Tromey  <tromey@redhat.com>
2636
2637	* configure: Rebuilt.
2638	* configure.in: Compute new aux dir using `pwd'.
2639
26402001-06-07  Tom Tromey  <tromey@redhat.com>
2641
2642	For PR bootstrap/3075:
2643	* configure, aclocal.m4, Makefile.am: Rebuilt.
2644	* configure.in: Pass `--with-auxdir' to subdir configure.  Don't
2645	call AC_CONFIG_AUX_DIR or AC_CANONICAL_SYSTEM.  Look for unwind.h
2646	relative to libgcj_basedir.
2647	* acinclude.m4 ((LIBGCJ_CONFIGURE): Call AC_CONFIG_AUX_DIR and
2648	AC_CANONICAL_SYSTEM here.
2649	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Use srcdir, not
2650	libgcj_basedir.
2651	($(extra_headers)): New target.
2652
26532001-06-05  Martin Kahlert  <martin.kahlert@infineon.com>
2654	    Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2655
2656	* java/lang/natClass.cc (_Jv_IsAssignableFrom): Ensure that ancestors
2657	table index is within allowed bounds. Ensure that we don't try to access
2658	class itable at a negative offset. Avoid an ancestor table lookup if
2659	source is a primitive type class.
2660	(isInstance): Remove redundant isPrimitive() check.
2661
26622001-06-04  Tom Tromey  <tromey@redhat.com>
2663
2664	* java/security/PublicKey.java: Extend Key.
2665	* java/security/PrivateKey.java: Extend Key.
2666
26672001-06-02  Anthony Green  <green@redhat.com>
2668
2669	* java/lang/natRuntime.cc (_Jv_FindSymbolInExecutable): Provide an
2670	alternate when USE_LTDL not defined.
2671
26722001-06-02  Anthony Green  <green@redhat.com>
2673
2674	* configure: Rebuild.
2675	* configure.in: Remove data_start hack.
2676	* libgcj.spec.in: Ditto.
2677	* Makefile.in: Rebuild.
2678	* Makefile.am: Ditto.
2679	* libgcjdata.c: Remove.
2680
26812001-06-02  Anthony Green  <green@redhat.com>
2682
2683	* configure: Rebuild.
2684	* configure.in (LIBFFIINCS, LIBFFI): Introduce.  Add
2685	--without-libffi option.  Tweak --disable-java-net processing.
2686	* Makefile.in: Rebuild.
2687	* Makefile.am (LIBFFIINCS, LIBFFI): Use.
2688	* include/config.h.in: Rebuild.
2689	* acconfig.h (USE_LIBFFI): Define.
2690	* java/lang/reflect/natMethod.c: Use USE_LIBFFI.
2691
26922001-06-02  Anthony Green  <green@redhat.com>
2693
2694	* configure: Rebuilt.
2695	* configure.in: Test for sigaction on native builds.
2696	* prims.cc: Check HAVE_SIGACTION.
2697	* include/config.h.in: Rebuilt.
2698
26992001-05-31  Jeff Sturm  <jsturm@one-point.com>
2700
2701	* natFile.cc (get_entry): Removed functions.
2702	(performList): Call readdir or readdir_r if HAVE_READDIR_R defined.
2703	Allocate enough storage for d_name if using readdir_r.
2704
27052001-05-31  Tom Tromey  <tromey@redhat.com>
2706
2707	* java/io/natFileDescriptorPosix.cc (open): Allocate buffer to
2708	correct size.
2709	(write): Loop until write completes.  From Corey Minyard.
2710
27112001-05-29  Laurent Guerby  <guerby@acm.org>
2712
2713	* java/awt/geom/Rectangle2D.java: fix doc typo.
2714
27152001-05-31  Tom Tromey  <tromey@redhat.com>
2716
2717	* java/sql/DriverManager.java (getDrivers): Handle case where
2718	driver's class loader is null.  From Corey Minyard.
2719
27202001-05-29  Tom Tromey  <tromey@redhat.com>
2721
2722	* include/jvm.h (_Jv_ThrowNoMemory): Mark as noreturn.
2723
2724	* configure: Rebuilt.
2725	* configure.in: Only add multilib support code if we just rebuilt
2726	top-level Makefile.
2727
27282001-05-29  Andrew Haley  <aph@redhat.com>
2729
2730	* include/i386-signal.h (MAKE_THROW_FRAME): Don't fix up frame
2731	pointer: the dwarf unwinder in libgcc will do everything that's
2732	needed.
2733	(HANDLE_DIVIDE_OVERFLOW): Tidy.  Don't mess with stack frames any
2734	more than we absolutely need to.
2735	* configure.host (EXCEPTIONSPEC): Remove libgcj_sjlj on Alpha.
2736	* configure.in (SIGNAL_HANDLER): Use include/dwarf2-signal.h on
2737	Alpha.
2738	(SIGNAL_HANDLER): Test "$enable_sjlj_exceptions", not
2739	"$libgcj_sjlj".
2740	* configure: Rebuilt.
2741	* include/dwarf2-signal.h (MAKE_THROW_FRAME): Adjust PC
2742	for Alpha.
2743	(SIGNAL_HANDLER): Use siginfo style handler.
2744	(INIT_SEGV): Likewise.
2745	(INIT_FPE): Likewise.
2746	* include/ppc-signal.h: Delete whole file.
2747
27482001-05-24  Tom Tromey  <tromey@redhat.com>
2749
2750	* java/lang/natString.cc (init): Throw
2751	ArrayIndexOutOfBoundsException.
2752	(getChars): Likewise.
2753	(getBytes): Likewise.
2754	(valueOf): Likewise.
2755
2756	* configure.in: Only allow hash synchronization when POSIX threads
2757	are enabled.
2758	* java/lang/natObject.cc (alloc_heavy): Properly find `init' field
2759	of sync info object.
2760
27612001-05-23  Tom Tromey  <tromey@redhat.com>
2762
2763	* Makefile.in: Rebuilt.
2764	* Makefile.am (AM_CXXFLAGS): Remove -fvtable-thunks.
2765
2766	Revert patch of 2001-05-21:
2767	* Makefile.am (libgcj_la_DEPENDENCIES): Removed nat_files.
2768	(libgcj_la_LIBADD): Likewise.
2769	(libgcjx_la_DEPENDENCIES): Removed x_nat_files.
2770	(libgcjx_la_LIBADD): Likewise.
2771
2772	* posix-threads.cc (_Jv_self_cache): Renamed from self_cache.
2773	* gcj/Makefile.in: Rebuilt.
2774	* gcj/Makefile.am (gcj_HEADERS): Added libgcj-config.h.
2775	* gcj/javaprims.h: Include gcj/libgcj-config.h.
2776	* gcj/libgcj-config.h.in: New file.
2777	* libgcj.spec.in (*jc1): Added @HASH_SYNC_SPEC@.
2778	* configure: Rebuilt.
2779	* configure.in: Enable hash synchronization by default on some
2780	platforms.
2781	(HASH_SYNC_SPEC): New subst.
2782	(AC_CONFIG_HEADER): Added gcj/libgcj-config.h.
2783	Correctly use `test -z' instead of `test -n' in a couple places.
2784	(JV_HASH_SYNCHRONIZATION): Use AC_DEFINE; don't add to
2785	LIBGCJ_CXXFLAGS.
2786	* configure.host (enable_java_net_default): Initialize.
2787	(enable_hash_synchronization_default): New variable.
2788
27892001-05-23  Hans Boehm <Hans_Boehm@hp.com>
2790
2791	* boehm.cc (_Jv_MarkObj): Don't mark sync_info when hash
2792	synchronization in use.
2793	(_Jv_MarkArray): Likewise.
2794	(_Jv_AllocBytes): Don't check return result.
2795	(handle_out_of_memory): New function.
2796	(_Jv_InitGC): Set GC_oom_fn.
2797	(trace_one_vtable): New global.
2798	(_Jv_AllocTraceOne): New function.
2799	* configure.in: Added --enable-hash-synchronization.
2800	* defineclass.cc, prims.cc, resolve.cc, java/lang/natString.cc,
2801	java/net/natInetAddress.cc: Remove _Jv_AllocBytesChecked.
2802	* nogc.cc (_Jv_AllocObj): Throw out-of-memory.
2803	(_Jv_AllocArray): Likewise.
2804	(_Jv_AllocBytes): Likewise.
2805	(_Jv_AllocPtrFreeObject): New function.
2806	(_Jv_AllocTraceOne): Likewise.
2807	* posix-threads.cc (_Jv_ThreadRegister): Handle slow
2808	pthread_self().
2809	(self_cache): New global.
2810	(_Jv_ThreadSelf_out_of_line): New function.
2811	* prims.cc (_Jv_AllocBytesChecked): Removed.
2812	(_Jv_ThrowNoMemory): New function.
2813	(_Jv_AllocObject): Don't check for null return from allocator.
2814	(_Jv_NewObjectArray): Likewise.
2815	(_Jv_AllocPtrFreeObject): New function.
2816	(_Jv_NewPrimArray): Allocate pointer-free object if possible.
2817	* include/javaprims.h (_Jv_AllocPtrFreeObject): Declare.
2818	(_Jv_MonitorEnter, _Jv_MonitorExit): Don't return value.
2819	* include/boehm-gc.h (_Jv_AllocObj): Define.
2820	(_Jv_AllocPtrFreeObj): Define.
2821	* include/jvm.h (_Jv_AllocPtrFreeObj): Declare.
2822	(_Jv_ThrowNoMemory): Declare.
2823	(_Jv_AllocTraceOne): Declare.
2824	(_Jv_AllocBytesChecked): Removed.
2825	* include/posix-threads.h (_Jv_MutexInit, _Jv_MutexLock,
2826	_Jv_MutexUnlock): Handle LOCK_DEBUG.
2827	(_Jv_ThreadSelf): Handle case where system pthread_self() is
2828	slow.
2829	* java/lang/Class.h (Class): Declare _Jv_AllocPtrFreeObj as
2830	friend.
2831	* java/lang/Object.h (sync_info): Conditional upon presence of
2832	hash synchronization.
2833	* java/lang/natObject.cc: Much new code to handle thin locks and
2834	hash synchronization.
2835	* java/lang/natString.cc (_Jv_AllocString): Allocate pointer-free
2836	object if possible.
2837
28382001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2839
2840	* gij.cc (version): Update copyright year.
2841
28422001-05-22  Anthony Green  <green@redhat.com>
2843
2844	* configure.in: Tweak canadian cross test, and don't redefine GCJ
2845	for cross builds.
2846
28472001-05-21  Per Bothner  <per@bothner.com>
2848
2849	Implement invocation interface; don't create new thread for main.
2850	* java/lang/Thread.java (gen_name):  Make native.
2851	(<init>(Thread,THreadGroup,Runnable,String)):  New private
2852	constructor, used by other constructors, and _Jv_AttachCurrentThread.
2853	* java/lang/natThread.cc (gen_name):  New implementation.
2854	(_Jv_AttachCurrentThread, _Jv_DetachCurrentThread):  New.
2855	* prims.cc (main_init):  Removed, replaced by _Jv_CreateJavaVM.
2856	(_Jv_CreateJavaVM):  New runtime initialization procedure.
2857	(runFirst):  New proecdure - mostly code from old FirstThread::run.
2858	(JvRunMain, _Jv_RunMain):  Re-write to use new invocation code.
2859	* gcj/cni.h (JvCreateJavaVM, JvAttachCurrentThread,
2860	JvDetachCurrentThread):  New inline wrappers.
2861	* gcj/javaprims.h (_Jv_CreateJavaVM, _Jv_AttachCurrentThread,
2862	_Jv_DetachCurrentThread):  New declarations.
2863	* gnu/gcj/runtime/FirstThread.java:  Gutted.  Now contains only ...
2864	(getMain): new static method.
2865	* gnu/gcj/runtime/natFirstThread.cc:  Removed;  run method replaced
2866	by runFirst in prims.cc.
2867	(java/lang/Thread.h):  Update for new invocation interface.
2868	* include/posix-threads.h (_Jv_ThreadRegister,
2869	_Jv_ThreadUnRegister):  New declarations.
2870	* posix-threads.cc (_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New.
2871	(really_start):  Use new _Jv_ThreadRegister.
2872	* include/no-threads.h (_Jv_ThreadInitData):  No longer inline.
2873	(_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New empty inlines.
2874	* no-threads.cc (_Jv_ThreadInitData):  Set _Jv_OnlyThread here.
2875	Complain of called when _Jv_OnlyThread already set.
2876	(_Jv_ThreadStart):  Always JvFail.
2877	* include/win32-threads.h  (_Jv_Thread_t):  New thread_obj field.
2878	(_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New declarations.
2879	* win32-threads.cc (struct starter):  Remove objet field -
2880	we use _Jv_Thread_t's new thread_obj field instead.
2881	(_Jv_ThreadInitData):  Set _Jv_Thread_t's thread_obj field.
2882	(_Jv_ThreadRegister, _Jv_ThreadUnRegister):  New.
2883	(really_start):  Use new _Jv_ThreadRegister.
2884	* jni.cc (_Jv_JNI_AttachCurrentThread):  Use _Jv_AttachCurrentThread.
2885	(_Jv_JNI_DetachCurrentThread):  Use _Jv_DetachCurrentThread.
2886	* gnu/gcj/jni/NativeThread.java, gnu/gcj/jni/natNativeThread.cc:
2887	Removed - no longer needed with new invocation interface.
2888	* Makefile.am:  Update for removed/added files.
2889
28902001-05-21  Per Bothner  <per@bothner.com>
2891
2892	* Makefile.am (libgcj_la_DEPENDENCIES):  Add $(nat_files).
2893	(libgcj_la_LIBADD):  Likewise.
2894	(libgcjx_la_DEPENDENCIES, libgcjx_la_LIBADD):  Add $(x_nat_files).
2895
28962001-05-21  Per Bothner  <per@bothner.com>
2897
2898	* gcj/javaprims.h (_Jv_FormatInt):  New declaration.
2899	* java/lang/natString.cc (_JvFormatInt):  New primitive, with logic
2900	taken from old Integer.toString code.
2901	(Integer::valueOf):  Use _Jv_FormatInt.
2902	* java/lang/Integer.java (toString):  Just use call String.valueOf.
2903	* java/lang/Long.java (toString):  Fix typo in comment.
2904	* java/lang/String.java (valueOf(int)):  Make native.
2905	* java/lang/StringBuffer.java (append(int)):  Make native.
2906	* java/lang/natStringBuffer.cc:  New file, for append(jint).
2907	* Makefile.am (nat_source_files):  Add java/lang/natStringBuffer.cc.
2908
29092001-05-21  Tom Tromey  <tromey@redhat.com>
2910
2911	* gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Now public.
2912
29132001-05-18  Andrew Haley  <aph@cambridge.redhat.com>
2914
2915	* include/dwarf2-signal.h: New file.
2916	* configure.in (SYSDEP_SOURCES): Add dwarf2-signal.h for PPC.
2917	* configure.host (EXCEPTIONSPEC): Don't use sjlj on PPC.
2918	* configure: Rebuilt.
2919
29202001-05-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2921
2922	* configure.in: Update boehm-gc include dir for new GC version.
2923	* configure: Rebuilt.
2924	* exception.cc: Only include <gc.h>. Remove TRUE/FALSE hacks and
2925	extern "C" wrapper.
2926	* boehm.cc: Update includes for new GC version. MAKE_PROC is now
2927	GC_MAKE_PROC. mark_proc is now GC_mark_proc.
2928	* posix-threads.cc: Only include <gc.h>. Don't need to wrap with
2929	extern "C".
2930
29312001-05-18  Alexandre Petit-Bianco  <apbianco@redhat.com>
2932
2933	* include/posix-threads.h (_Jv_CondInit): `0' used in place of `NULL.'
2934	(_Jv_MutexInit): Likewise.
2935
29362001-05-18  Tom Tromey  <tromey@redhat.com>
2937
2938	* Makefile.in: Rebuilt.
2939	* Makefile.am (awt_java_source_files): Added Polygon.java.
2940
29412001-05-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2942
2943	* include/jvm.h: Move "#pragma GCC java_exceptions" to ...
2944	* gcj/javaprims.h: ... here.
2945	* gnu/gcj/io/shs.cc: Add "#pragma GCC java_exceptions".
2946
29472001-05-17  Martin Kahlert  <martin.kahlert@infineon.com>
2948
2949	* java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error
2950	with length of ioffset table.
2951	(_Jv_IsAssignableFrom): Likewise.
2952
29532001-05-17  Per Bothner  <per@bothner.com>
2954
2955	* Makefile.am (ZIP):  The "fastjar" binary is now plain "jar".
2956
29572001-05-16  Tom Tromey  <tromey@redhat.com>
2958
2959	* java/text/SimpleDateFormat.java (parse): Handle non-dst time
2960	zones.
2961
29622001-05-15  Tom Tromey  <tromey@redhat.com>
2963
2964	* java/util/GregorianCalendar.java (computeTime): Only call
2965	getTimeZone() once.
2966
29672001-05-14  Tom Tromey  <tromey@redhat.com>
2968
2969	* java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and
2970	ZONE_OFFSET just before computing the time.
2971
29722001-05-12  Zack Weinberg  <zackw@stanford.edu>
2973
2974	* Makefile.am (libgcj_la_OBJECTS): Remove libsupc++convenience.la.
2975	* Makefile.in: Regenerate (by hand).
2976	* include/jvm.h: Add #pragma GCC java_exceptions at top of file.
2977	* doc/cni.sgml: Document #pragma GCC java_exceptions.
2978
29792001-05-11  Richard Henderson  <rth@redhat.com>
2980
2981	* configure.in (ia64-*): Don't set SYSDEP_SOURCES.
2982	* java/lang/natThrowable.cc: Don't use __ia64_backtrace.
2983
29842001-05-11  Richard Henderson  <rth@redhat.com>
2985
2986	* exception.cc: Include unwind-pe.h.  Remove all pointer
2987	encoding logic.
2988
29892001-05-10  Tom Tromey  <tromey@redhat.com>
2990
2991	* Makefile.in: Rebuilt.
2992	* Makefile.am (awt_java_source_files): Added Polygon.java.
2993	* java/awt/Polygon.java: New file.
2994
2995	* java/awt/geom/AffineTransform.java
2996	(setToRotation(double,double,double)): New method.
2997	(AffineTransform): Set type to TYPE_GENERAL_TRANSFORM.
2998	(setToShear): Likewise.
2999
30002001-05-10  Tom Tromey  <tromey@redhat.com>
3001
3002	* java/util/GregorianCalendar.java: Imported from Classpath.
3003	* gnu/java/locale/LocaleInformation_nl.java: New file from
3004	Classpath.
3005	* gnu/java/locale/LocaleInformation_en.java: Likewise.
3006	* gnu/java/locale/LocaleInformation_de.java: Likewise.
3007	* gnu/java/locale/LocaleInformation.java: Likewise.
3008	* natGregorianCalendar.cc: Removed.
3009	* Makefile.in: Rebuilt.
3010	* Makefile.am (nat_source_files): Removed
3011	natGregorianCalendar.cc.
3012
30132001-05-10  Tom Tromey  <tromey@redhat.com>
3014
3015	* java/text/SimpleDateFormat.java (computeCenturyStart): New
3016	method.
3017	(defaultCenturyStart): Use it.
3018	(readObject): Likewise.
3019	(SimpleDateFormat): Clear the calendar.  Set the grouping on the
3020	number format.
3021	(parse): Copy the calendar before modifying it.  Correctly handle
3022	the time zone.
3023
3024	* java/util/Calendar.java (clear): Set field value(s) to 0.
3025
30262001-05-10  Jeff Sturm  <jsturm@one-point.com>
3027
3028	* Calendar.java (get): Clear areFieldsSet if requested field
3029	is not set.
3030	(set): Unset fields that depend on new value.
3031
30322001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3033
3034	* java/lang/Class.h (_Jv_Self): New union type.
3035	(Class): Manipulate vtable pointer via _Jv_Self union. Thanks to
3036	Jeff Sturm and Fergus Henderson.
3037
30382001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3039
3040	* java/lang/ClassLoader.java: Remove dead code fragment.
3041
30422001-05-03  Martin Kahlert  <martin.kahlert@infineon.com>
3043
3044	* jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
3045	checking.
3046	(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
3047
30482001-04-30  Andrew Haley  <aph@cambridge.redhat.com>
3049
3050	* libgcj.spec.in (jc1): Add EXCEPTIONSPEC.
3051	* configure.host (EXCEPTIONSPEC): New.
3052	* configure.in (EXCEPTIONSPEC): New.
3053	* configure: Rebuilt.
3054
30552001-05-02  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3056
3057	* doc/*.texi: Remove generated documentation.
3058
30592001-04-30  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
3060
3061	* java/io/natFile.cc (performSetReadOnly): Fix #ifdef test.
3062	(performDelete): Fix #endif placement.
3063
30642001-04-27  Zack Weinberg  <zackw@stanford.edu>
3065
3066	* prims.cc (_Jv_ThisExecutable): Use _Jv_Malloc.
3067	* posix-threads.cc (_Jv_ThreadInitData): Use _Jv_Malloc.
3068	(_Jv_ThreadDestroyData): Use _Jv_Free.
3069	* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
3070	Use _Jv_Malloc.
3071
30722001-04-27  Tom Tromey  <tromey@redhat.com>
3073
3074	* jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
3075	checking.
3076	(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
3077
30782001-04-27  Martin Kahlert  <martin.kahlert@infineon.com>
3079
3080	* include/jni.h (struct JNINativeInterface): Fixed types in
3081	Get/Set*ArrayRegion declarations.
3082	(class _Jv_JNIEnv): Likewise.
3083
30842001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3085
3086	* configure.in: Obtain THREADS with `gcc -v'.
3087	* configure: Rebuilt.
3088
30892001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3090
3091	Fix PR libgcj/2237:
3092	* java/io/ObjectStreamClass.java (setClass): Calculate
3093	serialVersionUID for local class and compare it against the UID
3094	from the Object Stream. Throw InvalidClassException upon mismatch.
3095	(setUID): Renamed to...
3096	(getClassUID): this. Return the calculated class UID rather than
3097	setting uid field directly.
3098	(getDefinedSUID): Removed.
3099	* java/io/ObjectInputStream.java (resolveClass): Use the
3100	three-argument Class.forName().
3101	* java/io/InvalidClassException (toString): Don't include classname in
3102	result if it is null.
3103
31042001-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3105
3106	* java/net/natInetAddress.cc (java::net::InetAddress::aton):
3107	Wrap use of inet_pton in HAVE_INET6.
3108
31092001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3110
3111	java.security merge and ClassLoader compliance fixes.
3112
3113	* java/lang/Class.h (Class): Include ProtectionDomain.h.
3114	New protectionDomain field.
3115	(forName): Add initialize parameter. Fixes declaration to comply with
3116	JDK spec.
3117	* java/lang/natClass.cc (forName): Correct declaration of the three-arg
3118	variant. Honour	"initialize" flag.
3119	(getProtectionDomain0): New method.
3120	* java/lang/Class.java: Fix forName() declaration.
3121	(getPackage): New method based on Classpath implementation.
3122	(getProtectionDomain0): New native method decl.
3123	(getProtectionDomain): New method.
3124	* java/lang/ClassLoader.java (getParent): Now final.
3125	(definedPackages): New field.
3126	(getPackage): New.
3127	(defineClass): New variant with protectionDomain argument.
3128	(definePackage): New.
3129	(getPackages): New.
3130	(findSystemClass): Now final.
3131	(getSystemResourceAsStream): Remove redundant "final" modifier.
3132	(getSystemResource): Remove redundant "final" modifier.
3133	(getResources): Now final.
3134	(protectionDomainPermission): New static field.
3135	(unknownProtectionDomain): Ditto.
3136	(defaultProtectionDomain): Ditto.
3137	(getSystemClassLoader): Now non-native.
3138	* java/util/ResourceBundle.java (tryGetSomeBundle): Use the correct
3139	arguments for Class.forName().
3140	* java/lang/Package.java: New file.
3141	* gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): Removed.
3142	(instance): Static initialize singleton.
3143	(findClass): Override this, not findSystemClass.
3144	* java/lang/natClassLoader.cc (defineClass0): Set class's
3145	protectionDomain field as specified.
3146	(getSystemClassLoader): Removed.
3147	(findClass): Renamed from findSystemClass. Call the interpreter via
3148	URLClassLoader.findClass if loading class via dlopen fails.
3149
3150	* java/security/*.java: java.security import/merge with Classpath.
3151	* java/security/acl/*.java: Likewise.
3152	* java/security/interfaces/*.java: Likewise.
3153	* java/security/spec/*.java: Likewise.
3154	* java/net/NetPermission.java: Likewise.
3155	* java/net/SocketPermission.java: Likewise.
3156	* gnu/java/security/provider/DefaultPolicy.java: Likewise.
3157
3158	* Makefile.am: Add new classes.
3159	* Makefile.in: Rebuilt.
3160	* gcj/javaprims.h: CNI namespace rebuild.
3161
31622001-04-24  Alexandre Oliva  <aoliva@redhat.com>
3163
3164	* configure.in (CPPFLAGS): Added builddir and srcdir to CPPFLAGS
3165	for libtool tests.  Pre-create gnu/classpath/Configuration.java.
3166	* configure: Rebuilt.
3167
31682001-04-21  Tom Tromey  <tromey@redhat.com>
3169
3170	* Makefile.in: Rebuilt.
3171	* Makefile.am (awt_java_source_files): Added Line2D.java.
3172	* java/awt/geom/Line2D.java: Wrote.
3173
3174	* java/awt/Menu.java (addNotify): Wrote.
3175
3176	* java/awt/PopupMenu.java (addNotify): Implemented.
3177	(show): Likewise.
3178
3179	* java/awt/Scrollbar.java (addNotify): Call super.addNotify.
3180	* java/awt/List.java (addNotify): Call super.addNotify.
3181	* java/awt/Label.java (addNotify): Call super.addNotify.
3182	* java/awt/FileDialog.java (addNotify): Call super.addNotify.
3183	* java/awt/Dialog.java (addNotify): Call super.addNotify.
3184	* java/awt/Choice.java (addNotify): Call super.addNotify.
3185	* java/awt/CheckboxMenuItem.java (addNotify): Call super.addNotify.
3186	* java/awt/Checkbox.java (addNotify): Call super.addNotify.
3187
3188	* java/awt/List.java (replaceItem): Notify peer.
3189
3190	* java/awt/geom/Rectangle2D.java
3191	(Float.setRect(float,float,float,float)): New method.
3192
3193	* java/awt/event/ContainerEvent.java (getContainer): Now returns
3194	Container.
3195
3196	* java/awt/RenderingHints.java (Key): Class now public.
3197
3198	* java/awt/Rectangle.java (Rectangle): Now implements
3199	Serializable.
3200	(getPathIterator): Removed.
3201
3202	* java/awt/GraphicsConfiguration.java (GraphicsConfiguration): New
3203	constructor.
3204
3205	* java/awt/FileDialog.java: Wrote.
3206
3207	* java/awt/EventQueue.java (isDispatchThread): Now public.
3208	(invokeLater): Likewise.
3209
3210	* java/awt/Component.java (setCursor): Update peer.
3211	(getFontMetrics): Use peer.
3212
3213	* java/awt/ComponentOrientation.java (ComponentOrientation): Class
3214	now final.
3215
32162001-04-20  Tom Tromey  <tromey@redhat.com>
3217
3218	* java/awt/List.java: Wrote.
3219	* java/awt/Dialog.java: Wrote.
3220
32212001-04-20  Warren Levy  <warrenl@redhat.com>
3222
3223	* java/lang/natSystem.cc (getSystemTimeZone): Adjust for DST.
3224	* java/text/SimpleDateFormat.java
3225	(indexInArray): Removed private method.
3226	(processYear): Removed private method.
3227	(parseLenient): Removed private method.
3228	(parseLeadingZeros): Removed private method.
3229	(parseStrict): Removed private method.
3230	(expect): Added new private method.
3231	(parse): Reverted to pre-Classpath merge version with minor fixes.
3232	* java/util/natGregorianCalendar.cc (computeTime): Handle strict
3233	calendars.
3234
32352001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
3236
3237	* java/io/File.java (normalizePath): New private method.
3238	(File (String)): Use normalizePath().
3239	(File (String, String)): Likewise.
3240
3241	* Makefile.am (libffi_files): Removed.
3242	(libgcj.la): Link libffi as a convenience library instead of
3243	refering to its object files directly.
3244	* Makefile.in: Rebuilt.
3245
32462001-04-08  Per Bothner  <per@bothner.com>
3247
3248	* java/lang/natString.cc (_Jv_NewStringUtf8Const):  Register finalizer.
3249	Recalculate hash, since Utf8Const's hash is only 16 bits.
3250
3251	* java/lang/natString.cc (_Jv_StringFindSlot, rehash):  Use high-order
3252	bits of hash to calculate step for chaining.
3253
3254	* java/lang/natString.cc (intern, _Jv_NewStringUtf8Const):  Rehash
3255	when 2/3 full, rather than 3/4 full.
3256
32572001-04-06  Tom Tromey  <tromey@redhat.com>
3258
3259	* jni.cc (wrap_value<jobject>, wrap_value<jclass>): Removed.
3260	(wrap_value<T*>): New specialization.
3261	(_Jv_JNI_PopLocalFrame): Update env->locals.
3262
32632001-04-05  Tom Tromey  <tromey@redhat.com>
3264
3265	* libtool-version: Updated current.
3266
32672001-04-04  Andreas Jaeger  <aj@suse.de>
3268
3269	* gcj/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
3270	* gcj/Makefile.in: Rebuilt.
3271	* Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
3272	* Makefile.in: Rebuilt.
3273	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
3274	* testsuite/Makefile.in: Rebuild.
3275	* include/Makefile.am (AUTOMAKE_OPTIONS): Remove no-installinfo.
3276	* include/Makefile.in: Rebuild.
3277
32782001-04-02 Zack Weinberg <zackw@stanford.edu>
3279
3280	* testsuite/lib/libjava.exp: Correct typo: 'output from source
3281	compiled test', not 'execution from source compiled test'.
3282	Use UNTESTED, not XFAIL, for tests which are not run because
3283	they depend on a previous test which failed.
3284
32852001-04-02  Richard Henderson  <rth@redhat.com>
3286
3287	* configure.in (GCC_UNWIND_INCLUDE): Assume we're built within
3288	the same tree as gcc.
3289	* configure: Rebuilt.
3290
3291	* exception.cc (_Jv_Throw): Clarify commentary.
3292
32932001-04-02  Marcus G. Daniels  <mgd@swarm.org>
3294
3295	* jni.cc (wrap_value<jclass>): New specialization.
3296
32972001-04-02  Tom Tromey  <tromey@redhat.com>
3298
3299	* java/io/PrintStream.java (out): Removed field.  Fixes PR
3300	java/2449.
3301	(write): Call flush, not out.flush, per spec.
3302	(close): Flush output stream, per spec.  Handle
3303	InterruptedIOException.
3304	(checkError): Likewise.
3305	(flush, print, write): Handle InterruptedIOException per spec.
3306	(PrintStream): Don't create BufferedOutputStream.
3307	(work_bytes): New field.
3308	(writeChars): Use work_bytes.  Don't assume `out' is a
3309	BufferedOutputStream.
3310
33112001-04-02  Torsten Rueger  <torsten.rueger@firsthop.com>
3312
3313	* java/text/MessageFormat.java (setLocale): Added missing `else'.
3314	For PR libgcj/2429.
3315
33162001-03-30  Tom Tromey  <tromey@redhat.com>
3317
3318	* jni.cc (add_char): Correctly encode non-ascii characters.
3319	(add_char): Define even when INTERPRETER not defined.
3320	(mangled_name): Likewise.
3321	(_Jv_GetJNIEnvNewFrame): Likewise.
3322	(_Jv_LookupJNIMethod): Likewise.
3323
33242001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
3325
3326	* configure.host: Enable interpreter for PPC.
3327
33282001-04-02  Bryce McKinlay  <bryce@albatross.co.nz>
3329
3330	* java/lang/natSystem.cc (init_properties): Revert yesterday's changes
3331	to "file.separator", "path.separator", and "java.io.tmpdir" property
3332	initialization.
3333	* java/io/File.java: Likewise.
3334	* java/io/natFile.cc (init_native): Likewise.
3335	* java/io/natFileWin32.cc (init_native): Likewise.
3336
33372001-04-01  Per Bothner  <per@bothner.com>
3338
3339	* java/lang/natString.cc (intern):  If string's data does not point to
3340	this String, make a fresh String that does.
3341
3342	* java/lang/natString.cc (unintern):  Replace by static function.
3343	* java/lang/String.java (unintern):  Remove method.
3344
33452001-04-01  Per Bothner  <per@bothner.com>
3346
3347	* DeflaterOutputStream.java (deflate):  Loop while def.needsInput.
3348	(finish):  def.deflate needs to be called in a loop.
3349	(inbuf, inbufLength):  New private fields.
3350	(write(int)): Use inbuf.
3351	(write(byte[],int,int):  Check if pending output in inbuf.
3352	* ZipOutputStream.java:  Don't use Deflater if stored.
3353	Use a Checksum object directly, not via a CheckedOutputStream.
3354	(uncompressed_size):  New field,
3355	(closeEntry):  Only write data_directory if needed.
3356	(write):  If STORED, write directly.
3357	Always update crc, and uncompressed_size.
3358	(write_entry):  Fix lots of protocol erors.
3359
33602001-04-01  Bryce McKinlay  <bryce@albatross.co.nz>
3361
3362	1.3-Compliant Implementation of java.io.File.
3363	* java/lang/natSystem.cc (init_properties): Get "file.separator",
3364	"path.separator", and "java.io.tmpdir" from the File class, instead
3365	of setting them explicitly.
3366	* java/io/File.java: Do not canonicalize paths for security manager
3367	checks. Call init_native() from static initializer. Do not pass path
3368	argument to native methods. New native method declarations. Some
3369	security manager checks moved to checkWrite().
3370	(equals): Check file system case sensitivity and act appropriatly.
3371	(hashCode): Likewise.
3372	(isHidden): New method implemented.
3373	(performList): Changed prototype. Now takes a class argument specifying
3374	the class of the returned array: Strings or File objects. Also added
3375	FileFilter argument.
3376	(listFiles): New variants with "File" return type implemented.
3377	(createTempFile): Use createNewFile(). Use maxPathLen.
3378	(setReadOnly): New method implemented.
3379	(listRoots): Likewise.
3380	(compareTo): Likewise.
3381	(setLastModified): Likewise.
3382	(checkWrite): New method.
3383	(setPath): Removed.
3384	* java/io/natFile.cc: Various functions no longer take canonical path
3385	argument.
3386	(stat): Handle ISHIDDEN query.
3387	(isAbsolute): Remove WIN32 cruft.
3388	(performList): New arguments. Handle returning either File[] or String[]
3389	arrays. Check with FileFilter or FilenameFilter arguments as
3390	appropriate. Use an ArrayList, not a Vector, for the temporary list.
3391	(performSetReadOnly): New method implemented.
3392	(performListRoots): Likewise.
3393	(performSetLastModified): Likewise.
3394	(performCreate): Likewise.
3395	(init_native): New initialization function.
3396	* java/io/natFileWin32.cc: Various functions no longer take canonical
3397	path argument.
3398	(stat): Add FIXME about ISHIDDEN query.
3399	(performList): New arguments. Handle returning either File[] or String[]
3400	arrays. Check with FileFilter or FilenameFilter arguments as
3401	appropriate. Use an ArrayList, not a Vector, for the temporary list.
3402	(performSetReadOnly): New. Stubbed.
3403	(performListRoots): Likewise.
3404	(performSetLastModified): Likewise.
3405	(performCreate): Likewise.
3406	(init_native) New initialization function.
3407	* configure.in: Check for utime() and chmod().
3408	* configure: Rebuilt.
3409	* include/config.h.in: Rebuilt.
3410
3411	Resolves PR libgcj/1759.
3412
34132001-03-28  Richard Henderson  <rth@redhat.com>
3414
3415	IA-64 ABI Exception Handling:
3416	* Makefile.am (GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE.
3417	(AM_CXXFLAGS): -fnon-call-exceptions not -fasynchronous-exceptions.
3418	Remove EXCEPTIONSPEC.
3419	* configure.host (libgcj_sjlj): Remove.
3420	* configure.in (EXCEPTIONSPEC): Remove.
3421	(enable-sjlj-exceptions): Detect if not specified.
3422	(GCC_UNWIND_INCLUDE): Rename from EH_COMMON_INCLUDE; change
3423	what header we're looking for.
3424	* libgcj.spec.in (jc1): Remove EXCEPTIONSPEC.
3425	* Makefile.in, configure: Regenerate.
3426	* exception.cc: Don't declare libgcc2 stuff.
3427	(java_eh_info, _Jv_type_matcher, _Jv_exception_info): Remove.
3428	(_Jv_eh_alloc, _Jv_eh_free, _Jv_setup_eh_info): Remove.
3429	(win32_get_restart_frame): Remove.
3430	(struct java_exception_header): New.
3431	(__gcj_exception_class): New.
3432	(get_exception_header_from_ue): New.
3433	(_Jv_Throw): Rewrite for IA-64 ABI unwind routines.
3434	(size_of_encoded_value, read_encoded_value): New.
3435	(read_uleb128, read_sleb128, parse_lsda_header): New.
3436	(get_ttype_entry, __gcj_personality_sj0): New.
3437	* gcj/javaprims.h (_Jv_Sjlj_Throw): Remove.
3438
34392001-03-27  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>
3440
3441	* javax/naming/InitialContext.java (init): Fix typo.
3442	(composeName): Remove unnecessary semicolon.
3443	(addToEnvironment): Remove unnecessary semicolon.
3444	(addToEnvironment): Use put() instead of add().
3445
3446	* javax/naming/InitialContext.java (InitialContext):
3447	Make public.
3448	(destroySubcontext): Method doesn't return a result.
3449	* javax/naming/Context.java: Import java.util.Hashtable.
3450	* javax/naming/Name.java: Import java.util.Enumeration.
3451
34522001-03-27  Bryce McKinlay  <bryce@albatross.co.nz>
3453
3454	* Makefile.am (libffi_files): Use 'find' to pick up libffi libtool
3455	objects	in subdirectories.
3456	* Makefile.in: Rebuilt.
3457
34582001-03-25  Richard Henderson  <rth@redhat.com>
3459
3460	* exception.cc (java_eh_info): Make value type jthrowable.
3461	(_Jv_type_matcher): Remove now unneeded cast.
3462	(_Jv_Throw): Make argument type jthrowable.  Munge name
3463	for SJLJ_EXCEPTIONS here ...
3464	* gcj/cni.h: ... not here.
3465	(JvThrow): Remove.
3466	* gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.
3467
3468	* defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
3469	prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
3470	gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
3471	gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
3472	gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
3473	java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
3474	java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
3475	java/lang/natClass.cc, java/lang/natClassLoader.cc,
3476	java/lang/natDouble.cc, java/lang/natObject.cc,
3477	java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
3478	java/lang/natString.cc, java/lang/natSystem.cc,
3479	java/lang/natThread.cc, java/lang/reflect/natArray.cc,
3480	java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
3481	java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
3482	java/util/zip/natInflater.cc:
3483	Use throw, not JvThrow or _Jv_Throw.
3484
34852001-03-24  Bryce McKinlay  <bryce@albatross.co.nz>
3486
3487	* java/util/HashMap.java (HashMap): If 0 is given for initialCapacity
3488	paramater, bump it to 1.
3489	* java/util/Hashtable.java (Hashtable): Likewise.
3490
34912001-03-23  Per Bothner  <per@bothner.com>
3492
3493	* java/lang/natDouble.cc (parseDouble):  Cannot use errno to
3494	check for errors, since we don't want to throw exception on
3495	overflow/underflow.  Instead, trim whitespace, and then check that
3496	_strtod_r uses up all the rest of the string.
3497
3498	* java/lang/natClass.cc (_Jv_IsAssignableFrom):  Checking the
3499	ancestors array is invalid for interfaces, so do that *after*
3500	check that the target type is not an interface.
3501
35022001-03-23  Jeff Sturm  <jsturm@one-point.com>
3503
3504	* prims.cc (_Jv_FindClassFromSignature): Check return of
3505	recursive call.  Do not abort on invalid signature; return NULL
3506	instead.
3507
35082001-03-22  Tom Tromey  <tromey@redhat.com>
3509
3510	* jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
3511	* java/lang/reflect/natField.cc (getType): Use _Jv_ResolveField
3512	unconditionally.
3513	* include/jvm.h (_Jv_ResolveField): Declare.
3514	* include/java-interp.h (_Jv_ResolveField): Don't declare.
3515	* resolve.cc (_Jv_ResolveField): No longer conditional on
3516	INTERPRETER.
3517
35182001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
3519
3520	Fix for PR libgcj/1736. Thanks to Robert Boehne and Alexandre Oliva
3521	for libtool hacking.
3522	* Makefile.am (libgcj.la): New explicit rule. Echo the list of objects
3523	to a temporary file, then invoke libtool with the -objectlist
3524	paramater.
3525	(libgcjx.la): Likewise.
3526	* Makefile.in: Rebuilt.
3527
35282001-03-22  Joerg Brunsmann <joerg_brunsmann@yahoo.de>
3529
3530	* javax/naming/Context.java (SECURITY_CREDENTIALS): Fix typo.
3531
35322001-03-22  Marcus G. Daniels  <mgd@swarm.org>
3533
3534	* jni.cc (add_char): Handle `.' like `/'.
3535
35362001-03-22  Bryce McKinlay  <bryce@albatross.co.nz>
3537
3538	* java/lang/reflect/Method.java (getExceptionTypes): Call getType() to
3539	initialize if exception_types is null.
3540	* java/lang/reflect/Constructor.java: Likewise.
3541	* java/lang/reflect/natConstructor.cc (getType): Initialize
3542	exception_types to an empty Object array.
3543
35442001-03-21  Tom Tromey  <tromey@redhat.com>
3545
3546	* configure: Rebuilt.
3547	* configure.in (GCJFLAGS): Subst.
3548	* Makefile.in: Rebuilt.
3549	* Makefile.am (jv_convert_LDFLAGS): Added -shared-libgcc.
3550	(gij_LDFLAGS): Likewise.
3551	(JC1FLAGS): Added GCJFLAGS and removed -g.
3552
3553	* java/io/natFileDescriptorPosix.cc (open): Add O_CREAT in
3554	read/write case.  Fixes PR libgcj/2338.
3555
35562001-03-20  Warren Levy  <warrenl@redhat.com>
3557
3558	* java/util/TimeZone.java: Sync up with Classpath.  Includes new
3559	and corrected SimpleTimeZone's for the timezones hash table.
3560
35612001-03-19  Per Bothner  <per@bothner.com>
3562
3563	* java/net/URLStreamHandler.java (parseURL):  Fix bug which would
3564	"canonicalize" "../../xxx" to "/xxx".
3565
35662001-03-19  Mark Wielaard <mark@klomp.org>
3567
3568	* java/util/ArrayList.java: Remove RCS keywords from comments
3569	* java/util/BasicMapEntry.java: idem
3570	* java/util/Dictionary.java: idem
3571	* java/util/HashSet.java: idem
3572
3573	* java/util/EventObject.java: reindent
3574	* java/util/Properties.java: idem
3575	* java/util/SortedMap.java: idem
3576
3577	* java/util/Enumeration.java: Merge with Classpath
3578	* java/util/EventListener.java: idem
3579	* java/util/Observable.java: idem
3580	* java/util/Observer.java: idem
3581	* java/util/Stack.java: idem
3582
35832001-03-17  Tom Tromey  <tromey@redhat.com>
3584
3585	* java/lang/natString.cc (rehash): Don't bother with memset;
3586	_Jv_AllocBytes returns zero'd memory.  Use _Jv_AllocBytesChecked.
3587	Use UNMASK_PTR.
3588	(UNMASK_PTR): New macro.
3589	(intern): Unmask pointer before returning it.  Register finalizer
3590	for the string.
3591	(unintern): Handle case where
3592	(MASK_PTR): New macro.
3593	(PTR_MAKSED): Likewise.
3594	(_Jv_NewStringUtf8Const): Use UNMASK_PTR.
3595
35962001-03-01  Andrew Haley  <aph@redhat.com>
3597
3598	* java/lang/natThrowable.cc (printRawStackTrace): Copy the
3599	stackTrace buffer to a correctly aligned pointer array.
3600
36012001-03-12  Bryce McKinlay  <bryce@albatross.co.nz>
3602
3603	* java/lang/Runtime.java (_exit): Declare new package-private native.
3604	* java/lang/natRuntime.cc (_exit): Implemented. Same as exit() but
3605	without a security manager check.
3606	(exit): Call _exit after security check.
3607	* prims.cc (JvRunMain): Call Runtime._exit to shutdown the runtime
3608	"naturally".
3609	* java/lang/System.java (setSecurityManager): If a security manager
3610	is already in place, call checkPermission.
3611	* java/lang/ThreadGroup.java (uncaughtException): If printStackTrace()
3612	throws an exception, try to deal with it gracefully.
3613	* java/lang/ExceptionInInitializerError.java (printStackTrace):
3614	Only try to print the subordinate stack trace if "exception" is set.
3615	Print our class name first.
3616
36172001-03-08  Tom Tromey  <tromey@redhat.com>
3618
3619	* java/io/ObjectStreamClass.java (setUID): Don't write interface
3620	info for array classes.
3621	Fixes PR libgcj/1971.
3622
36232001-03-06  Bryce McKinlay  <bryce@albatross.co.nz>
3624
3625	* java/util/TreeSet.java (writeObject): Use a for-loop instead of
3626	Iterator.hasNext().
3627
36282001-03-05  Jochen Hoenicke  <jochen@gnu.org>
3629
3630	* java/util/TreeMap.java (writeObject): Use defaultWriteObject()
3631	instead of the new JDK1.2 API.  This is simpler and makes
3632	back-porting the classes to JDK1.1 trivial.
3633	(readObject): likewise.
3634
36352001-03-01  Per Bothner  <per@bothner.com>
3636
3637	Changes merged from Kawa's gnu.math.
3638	* gnu/gcj/math/MPN.java (rshift0): New method handles zero shift count.
3639	(rshift(int[],int[],int,int):  Removed - not needed.
3640	(gcd):  Use rshift0 rather than rshift.
3641	* java/math/BigInteger.java (setShiftRight):  Likewise.
3642	(divide):  Simplify by using rshift0.
3643	(divide):  Zero-extend results if high-order bit set.
3644
36452001-02-27  Bryce McKinlay  <bryce@albatross.co.nz>
3646
3647	* libgcj.spec.in: Insert %(libgcc) before %(liborig) to fix static
3648	linking.
3649
36502001-02-23  Per Bothner  <per@bothner.com>
3651
3652	Change to sometimes include class name in ClassFormatError message.
3653	* defineclass.cc (_Jv_VerifyFieldSignature, _Jv_VerifyMethodSignature,
3654	_Jv_VerifyIdentifier, _Jv_VerifyClassName (two overlods)):  Return
3655	boolean instead of throwing ClassFormatError on failure.
3656	(throw_class_format_error):  Change static function to method.
3657	(_Jv_ClassReader):  New inline methods verify_identifier,
3658	two overloads of verify_classname, verify_field_signature, and
3659	verify_method_signature
3660	* include/java-interp.h:  Update declarations to return bool.
3661	* java/lang/natClassLoader.cc (defineClass0):  Explicitly throw
3662	ClassFormatError since _Jv_VerifyClassName now returns bool.
3663
36642001-02-23  Per Bothner  <per@bothner.com>
3665
3666	* java/lang/Throwable.java (CPlusPlusDemangler):  Pass -s java to
3667	c++filt to select java-style output.
3668
36692001-02-22  Bryce McKinlay  <bryce@albatross.co.nz>
3670
3671	Fix for PR java/2040:
3672	* java/util/HashMap.java (HashMap): Don't throw exception for
3673	loadFactor > 1. Add exception messages.
3674	* java/util/Hashtable.java (Hashtable): Likewise.
3675
36762001-02-21  Bryce McKinlay  <bryce@albatross.co.nz>
3677
3678	Disable libgcjx by default.
3679	* configure.in: Add support for --enable-java-awt configure option.
3680	Use --enable-java-awt=xlib to build the xlib peers (libgcjx).
3681	* Makefile.am: Make libgcjx conditional on XLIB_AWT, instead of NO_X.
3682	* Makefile.in: Rebuilt.
3683	* configure: Rebuilt.
3684
36852001-02-20  Tom Tromey  <tromey@redhat.com>
3686
3687	* java/io/PipedWriter.java (flush): Throw exception if stream
3688	closed.
3689	* java/io/OutputStreamWriter.java (write): Throw exception if
3690	stream closed.
3691	(writeChars): Don't throw exception if stream closed.
3692	* java/io/CharArrayWriter.java (closed): New field.
3693	(close): Set it.
3694	(flush): Throw exception if stream closed.
3695	(reset): Synchronize on correct lock.  Allow stream to be
3696	reopened.
3697	(toCharArray, toString, writeTo): Synchronize.
3698	(write): Throwe exception if stream closed.
3699	* java/io/BufferedWriter.java (close): Clear `buffer'.
3700	(flush): Throw IOException if stream is closed.
3701	(write): Likewise.
3702
37032001-02-16  Tom Tromey  <tromey@cygnus.com>
3704
3705	* java/lang/ThreadGroup.java (activeCount): Only include threads
3706	which are alive.
3707	(enumerate): Likewise.
3708
37092001-02-19  Bryce McKinlay  <bryce@albatross.co.nz>
3710
3711	* java/lang/Integer.java (getInteger): Return default argument if
3712	property is not set. Don't call decode with null argument.
3713	* java/lang/Long.java (getLong): Likewise.
3714
3715	* java/io/CharArrayReader.java (CharArrayReader): Throw
3716	IllegalArgumentException if constructor arguments are illegal.
3717	(ready): Return false if no more characters can be read.
3718	* java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.
3719
37202001-02-17  Mark Wielaard <mark@klomp.org>
3721
3722	* java/util/TimerTask.java: New version from Classpath.
3723
37242001-02-17  Mark Wielaard <mark@klomp.org>
3725
3726	Remerge with Classpath
3727	(changes by Bryce McKinlay  <bryce@albatross.co.nz>)
3728	* java/io/DataInputStream.java (readBoolean): Use convertToBoolean().
3729	(readByte): Use convertToByte().
3730	(readChar): Use convertToChar().
3731	(readInt): Use convertToInt().
3732	(readLong): Use convertToLong().
3733	(readShort): Use convertToShort().
3734	(readUnsignedByte): Use convertToUnsignedByte().
3735	(readUnsignedShort): Use convertToUnsignedShort().
3736	(readUTF): Use convertToUTF().
3737
3738	(convertToBoolean): Resurrected.
3739	(convertToByte): Ditto.
3740	(convertToChar): Ditto.
3741	(convertToInt): Ditto.
3742	(convertToLong): Ditto.
3743	(convertToShort): Ditto.
3744	(convertToUnsignedByte): Ditto.
3745	(convertToUnsignedShort): Ditto.
3746	(convertToUTF): Ditto.
3747
37482001-02-17  Mark Wielaard <mark@klomp.org>
3749
3750	* HACKING: new file
3751
37522001-02-17  Mark Wielaard <mark@klomp.org>
3753
3754	* java/io/DataInputStream.java: update copyright notice
3755	* java/io/PrintWriter.java: idem
3756	* java/io/Reader.java: idem
3757	* java/io/StreamTokenizer.java: idem
3758	* java/io/StringReader.java: idem
3759	* java/lang/reflect/ReflectPermission.java: idem
3760
37612001-02-16  Bryce McKinlay  <bryce@albatross.co.nz>
3762
3763	* java/util/TreeSet.java (clone): Made subclass safe, use
3764	super.clone(), not new.
3765	* java/util/TreeMap.java (clone): Likewise.
3766
3767	* java/util/TreeMap.java (nil): Made non-final.
3768	(clone): Create new nil node for copy.
3769
3770	* java/util/HashSet.java (clone): Made subclass safe, use
3771	super.clone(), not new.
3772
37732001-02-14  Andrew Haley  <aph@redhat.com>
3774
3775	* include/i386-signal.h (INIT_SEGV): Use a direct system call to
3776	set the handler.
3777
37782001-02-15  Anthony Green  <green@redhat.com>
3779
3780	* defineclass.cc: Don't include alloca.h.
3781	(prepare_pool_entry): Convert alloca to __builtin_alloca.
3782	* interpret.cc (run_normal): Ditto.
3783	(continue1): Ditto.
3784	* java/lang/natDouble.cc (parseDouble): Ditto.
3785
37862001-02-15  Bryce McKinlay  <bryce@albatross.co.nz>
3787
3788	* java/util/TreeSet.java (clone): Call TreeMap.clone(), not
3789	Object.clone().
3790	* java/util/Collections.java (ReverseComparator): New static class.
3791	(reverseOrder): Return static instance of ReverseComparator.
3792
3793	* gnu/awt/j2d/DirectRasterGraphics.java (clone): Hoist to public.
3794	* gnu/awt/j2d/IntegerGraphicsState.java (setClip): Call
3795	Rectangle.clone(), not Object.clone().
3796
3797	* java/util/HashSet.java (clone): Remove try/catch.
3798
3799	* java/util/AbstractSequentialList.java: Synchronize with Classpath.
3800	* java/util/Collection.java: Likewise.
3801	* java/util/Comparator.java: Likewise.
3802	* java/util/Dictionary.java: Likewise.
3803	* java/util/Iterator.java: Likewise.
3804	* java/util/ListIterator.java: Likewise.
3805	* java/util/Map.java: Likewise.
3806	* java/util/Set.java: Likewise.
3807
38082001-02-14  Bryce McKinlay  <bryce@albatross.co.nz>
3809
3810	* java/util/TreeMap.java: New file.
3811	* java/util/TreeSet.java: New file.
3812	* Makefile.am: Add TreeMap and TreeSet. Enable WeakHashMap.
3813	* Makefile.in: Rebuilt.
3814	* java/util/HashSet.java (clone): Use constructor instead of calling
3815	clone on itself.
3816	* java/util/SortedSet.java: Sync with classpath.
3817	* java/util/HashMap.java (hash): Use if statement instead of ternary,
3818	for clarity.
3819
3820	* java/lang/natClass.cc (getSignature): Don't try to dereference
3821	param_types if it is null. Instead, take this to mean "no parameters".
3822	* java/lang/TreeMap.java (TreeIterator.next): Throw
3823	NoSuchElementException in preference to ConcurrentModificationException.
3824	(TreeIterator.remove): Throw IllegalStateException in preference to
3825	ConcurrentModificationException.
3826	(SubMap.firstKey): Do a better check for empty SubMap, and if it is,
3827	throw a NoSuchElementException.
3828	(SubMap.lastKey): Likewise.
3829
38302001-02-13  Tom Tromey  <tromey@redhat.com>
3831
3832	* java/io/PipedReader.java (ready): Throw IOException if pipe
3833	closed.
3834	* java/io/FilterReader.java (close): Don't clear `in'.
3835	* java/io/CharArrayReader.java (mark): Throw IOException if stream
3836	closed.
3837	(read, ready, reset, skip): Added exception message.
3838	* java/io/BufferedReader.java (mark, reset, ready, read, skip):
3839	Perform checkStatus check inside synchronized block.
3840
38412001-02-13  Tom Tromey  <tromey@redhat.com>
3842
3843	* gnu/awt/j2d/AbstractGraphicsState.java (clone): Made public.
3844
38452001-02-13  Tom Tromey  <tromey@redhat.com>
3846
3847	Fix for PR libgcj/1351:
3848	* posix.cc (_Jv_select): Throw InterruptedIOException if thread is
3849	interrupted.
3850	Include Thread.h and InterruptedIOException.h.
3851
38522001-02-13  Bryce McKinlay  <bryce@albatross.co.nz>
3853
3854	* java/io/BlockDataException.java: Removed.
3855	* java/io/ObjectInputStream.java (readObject): Throw
3856	StreamCorruptedException, not BlockDataException.
3857	* Makefile.am: Remove BlockDataException.
3858	* Makefile.in: Rebuild.
3859
38602001-02-12  Jeff Sturm  <jeff.sturm@commerceone.com>
3861	    Tom Tromey  <tromey@redhat.com>
3862
3863	* interpret.cc (continue1): [insn_invokevirtual] Do an explicit
3864	null pointer check.
3865
38662001-02-09  Tom Tromey  <tromey@redhat.com>
3867
3868	* java/util/Timer.java: New version from Classpath.
3869
38702001-02-09  Bryce McKinlay  <bryce@albatross.co.nz>
3871
3872	* java/lang/Double.java (doubleToRawLongBits): Now native.
3873	* java/lang/Float.java (floatToRawIntBits): Likewise.
3874	* java/lang/natDouble.cc (doubleToRawLongBits): New method.
3875	* java/lang/natFloat.cc (floatToRawIntBits): Likewise.
3876
38772001-02-09  Alexandre Petit-Bianco  <apbianco@redhat.com>
3878
3879	* java/io/File.java (java.net): Imported.
3880	(getAbsoluteFile): Added.
3881	(getCanonicalPath): Likewise.
3882	(toURL): Likewise.
3883
38842001-02-08  Bryce McKinlay  <bryce@albatross.co.nz>
3885
3886	* java/lang/Byte.java: Remove redundant instanceof and null checks.
3887	* java/lang/Integer.java: Likewise.
3888	* java/lang/Long.java: Likewise.
3889	* java/lang/Short.java: Likewise.
3890	* java/lang/Double.java: Likewise.
3891	(doubleToRawLongBits): New method.
3892	* java/lang/Float.java: As above.
3893	(floatToRawIntBits): New method.
3894
3895	* java/io/OutputStreamWriter.java: (flush, writeChars): Throw
3896	IOException if stream closed.
3897
38982001-02-08  Tom Tromey  <tromey@redhat.com>
3899
3900	* java/lang/Float.java (parseFloat): New method.
3901
39022001-02-08  Tom Tromey  <tromey@redhat.com>
3903
3904	From paul@dawa.demon.co.uk.  Fix for PR libgcj/1913:
3905	* java/io/InputStreamReader.java (ready, read): Throw IOException
3906	if stream has been closed.
3907
39082001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
3909
3910	* README, gij.cc, java/lang/natClass.cc, java/lang/natSystem.cc:
3911	Change sources.redhat.com and sourceware.cygnus.com references to
3912	gcc.gnu.org.
3913
39142001-02-07  Tom Tromey  <tromey@redhat.com>
3915
3916	Fix for PR libgcj/1906:
3917	* java/text/MessageFormat.java (setLocale): Use named class
3918	literals.
3919	(forName): Removed.
3920	(format(Object,StringBuffer,FieldPosition)): Special case if
3921	argument is an Object[].
3922
39232001-02-07  Bryce McKinlay  <bryce@albatross.co.nz>
3924
3925	* java/util/Arrays.java: Removed "cmp" methods.
3926	(qsort): Don't use "cmp".
3927	(med3): Likewise.
3928
39292001-02-07  Mark Benvenuto  <mcb54@columbia.edu>
3930
3931	* java/util/Arrays.java (qsort): Handle N value of 7 with insertion
3932	sort. Fix for PR java/1895.
3933
39342001-02-03  Jeff Sturm  <jeff.sturm@commerceone.com>
3935
3936	* configure.host: Use sjlj-exceptions for Alpha.
3937
39382001-02-03  Bryce McKinlay  <bryce@albatross.co.nz>
3939
3940	* libgcj.spec.in: Don't force static libgcc into the executable.
3941	* configure.in (FORCELIBGCCSPEC): Removed.
3942	* configure: Rebuilt.
3943
39442001-01-31  Tom Tromey  <tromey@redhat.com>
3945
3946	* Makefile.in: Rebuilt.
3947	* Makefile.am (LTCXXCOMPILE): New macro.
3948
39492001-01-26  Andrew Haley  <aph@redhat.com>
3950
3951	(INIT_FPE): Use a direct system call to set the handler.
3952
39532001-01-27  Richard Henderson  <rth@redhat.com>
3954
3955	* configure.host (alpha*-*) [libgcj_flags]: Add -mieee.
3956
39572001-01-27  Tom Tromey  <tromey@redhat.com>
3958
3959	* jni.cc (_Jv_JNIFunctions): Added comment for each entry in
3960	native interface structure.
3961
39622001-01-27  Bryce McKinlay  <bryce@albatross.co.nz>
3963
3964	* java/io/ObjectInputStream.java (read): AND byte with 0xff to make
3965	result unsigned.
3966	(read (byte[], int, int)): Only call readNextBlock() if the block
3967	buffer would actually be overrun. Increment blockDataPosition.
3968	(callReadMethod): Propagate exceptions from invocation target.
3969	* java/io/ObjectOutputStream.java (callWriteMethod): Propagate
3970	exceptions from invocation target.
3971
39722001-01-26  Tom Tromey  <tromey@redhat.com>
3973
3974	* jni.cc (_Jv_JNI_GetAnyMethodID): Rewrite signature from external
3975	to internal representation.
3976	(_Jv_JNI_GetAnyFieldID): Likewise.  Also, only use
3977	_Jv_FindClassFromSignature.
3978
39792001-01-26  Warren Levy  <warrenl@redhat.com>
3980
3981	* java/lang/natSystem.cc (getSystemTimeZone): Only use tm_gmtoff
3982	and timezone if they are available on the system.
3983
39842001-01-24  Tom Tromey  <tromey@redhat.com>
3985
3986	* java/lang/sf_fabs.c: Use uint32_t, not __uint32_t.
3987
39882001-01-24  Tom Tromey  <tromey@redhat.com>
3989
3990	* Makefile.in: Rebuilt.
3991	* Makefile.am (c_source_files): Added sf_fabs.c.
3992	* java/lang/sf_fabs.c: New file.
3993
39942001-01-19  Warren Levy  <warrenl@redhat.com>
3995
3996	* java/text/SimpleDateFormat.java (format): Compute hour for cases
3997	HOUR_OF_DAY1_FIELD (1-24), HOUR1_FIELD (1-12), and HOUR0_FIELD (0-11)
3998	correctly.  Adjust properly from 0-23 clock hour.
3999
40002001-01-17  Mark Wielaard  <mark@klomp.org>
4001
4002	* java/bean/Beans.java (instantiate): enable Applet code from Classpath
4003
40042001-01-17  Bryce McKinlay  <bryce@albatross.co.nz>
4005
4006	* java/lang/Class.h (isInterface): Move implementation from
4007	natClass.cc. Declare inline.
4008	(Class): Add default constructor.
4009	* java/lang/Object.h: Update comments.
4010	* java/lang/natClass.cc (initializeClass): Use _Jv_InitClass to
4011	initialize superclass, saving a call if super is already initialized.
4012
40132001-01-16  Alexandre Petit-Bianco  <apbianco@cygnus.com>
4014
4015	* prims.cc (init_prim_class): Deleted.
4016	(DECLARE_PRIM_TYPE): Rewritten.
4017	* java/lang/Class.h (stdio.h): Include removed.
4018	(stddef.h): Included.
4019	(java/lang/reflect/Modifier.h): Likewise.
4020	(Class): Contructor now takes arguments, initializes fields.
4021	(initializePrim): Prototype deleted.
4022	* java/lang/natClass.cc (initializePrim): Deleted.
4023
40242001-01-16  Warren Levy  <warrenl@redhat.com>
4025
4026	* java/math/BigInteger.java: Update Copyright year.
4027
40282001-01-16  Hans Boehm  <hans_boehm@hp.com>
4029
4030	* java/math/BigInteger.java (setShiftRight): Only do negative shift
4031	if count != 0.
4032
40332001-01-14  Mark Wielaard  <mark@klomp.org>
4034	* java/net/URLDecoder.java: Thanks Edgar Villanueva (edgarvil@home.com)
4035	(decode): Merge comments with Classpath, don't throw Exception
4036
40372001-01-12  Tom Tromey  <tromey@redhat.com>
4038
4039	* gnu/awt/gtk/natGtkComponentPeer.cc (getLocationOnScreen):
4040	Wrote.
4041	(setCursor): Wrote.
4042	Include Cursor.h.
4043	* gnu/awt/gtk/natGtkLabelPeer.cc: New file.
4044	* gnu/awt/gtk/natGtkButtonPeer.cc: New file.
4045	* gnu/awt/gtk/gtkcommon.h (class _Jv_GdkThreadLock): New class.
4046	* gnu/awt/gtk/GtkLabelPeer.java: New file.
4047	* gnu/awt/gtk/GtkButtonPeer.java: New file.
4048
4049	* java/lang/natSystem.cc: Include locale.h if it exists.
4050	* configure: Rebuilt.
4051	* configure.in: Check for locale.h.
4052
40532001-01-11  Tom Tromey  <tromey@redhat.com>
4054
4055	* java/awt/Cursor.java (Cursor(String)): Set type to custom.
4056	(Cursor(int), getPredefinedCursor): Throw exception if argument
4057	invalid.
4058
40592001-01-03  Tom Tromey  <tromey@redhat.com>
4060
4061	* gnu/awt/gtk/natGtkComponentPeer.cc (setCursor): Wrote.
4062	(getLocationOnScreen): Wrote.
4063
40642001-01-11  Bryce McKinlay  <bryce@albatross.co.nz>
4065
4066	* Makefile.am: Re-enable dependencies.
4067	* Makefile.in: Rebuilt.
4068
40692001-01-10  Warren Levy  <warrenl@redhat.com>
4070
4071	* java/math/BigDecimal.java (divide): Fixed comment.
4072
40732001-01-10  Warren Levy  <warrenl@redhat.com>
4074
4075	Fix for PR libgcj/1596:
4076	* java/math/BigDecimal.java (divide): Check newScale for validity.
4077	Ensure that BigInteger.pow() is called with a non-negative value.
4078	(setScale (int)): New public method.
4079	(setScale (int,int)): New public method.
4080
40812001-01-09  Oskar Liljeblad <osk@hem.passagen.se>
4082
4083	Fix for PR libgcj/1338:
4084	* java/io/StreamTokenizer.java (nextToken): Handle // and /* before
4085	commentChar.  Fixed typos in comments.
4086
40872001-01-08  Warren Levy  <warrenl@redhat.com>
4088
4089	Fix for PR libgcj/1411:
4090	* Makefile.am: Removed java/util/natTimeZone.cc.
4091	* Makefile.in: Rebuilt.
4092	* gnu/gcj/text/LocaleData_en_US.java (zoneStringsDefault): Added
4093	missing localized timezone names.
4094	* java/lang/System.java (getDefaultTimeZoneId): New private method.
4095	* java/lang/natSystem.cc (getSystemTimeZone): New private method.
4096	(init_properties): Set user.timezone property.
4097	* java/text/DateFormatSymbols.java (zoneStringsDefault): Added
4098	default timezone names; removed non-standard ones.  Use standard
4099	ID names per JCL.
4100	* java/util/Date.java (toGMTString): Removed zoneGMT variable.
4101	(UTC): Ditto.
4102	* java/util/TimeZone.java: Add standard ID names per JCL; removed
4103	non-standard ones.
4104	(getDefaultTimeZoneId): Removed.
4105	(zoneGMT): Removed.
4106	* java/util/natTimeZone.cc: Removed.
4107
41082001-01-08  Bryce McKinlay  <bryce@albatross.co.nz>
4109
4110	* java/lang/Class.h (_Jv_InitClass): Use __builtin_expect.
4111	(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass.
4112	(_Jv_GetArrayClass): New inline function.
4113	(arrayclass): New field.
4114	* prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayClass. Don't use
4115	_Jv_GetArrayElementFromElementType.
4116	(_Jv_NewPrimArray): Ditto.
4117	(_Jv_PrimClass constructor): Initialize "depth", "ancestors", and
4118	"idt" for completeness. Initialze "arrayclass" using _Jv_NewArrayClass.
4119	Set Modifier::ABSTRACT.
4120	* java/lang/natClassLoader.cc (_Jv_NewClass): Initialize "arrayclass".
4121	(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. Now void.
4122	Now synchronized. Array classes are now referenced from
4123	elementClass->arrayclass. Don't use _Jv_FindClassInCache.
4124	Set array classes' accessibility flags correctly. Optimize so that
4125	all array classes share the same IDT.
4126	* java/lang/reflect/natArray.cc (newInstance): Use _Jv_GetArrayClass.
4127	* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature): Ditto.
4128	* java/lang/natClass.cc (_getFields): Increment offset. Prevent fields
4129	in superclasses from overwriting classes own fields.
4130	(_Jv_IsAssignableFrom): Check for NULL source idt instead of calling
4131	Modifier::isAbstract().
4132	(null_idt): New static field.
4133	(_Jv_PrepareConstantTimeTables): Optimize case where class implements
4134	no interfaces.
4135	(_Jv_IndexOf): Made inline.
4136	* boehm.cc (_Jv_MarkObj): Mark "arrayclass" field.
4137
41382001-01-08  Tom Tromey  <tromey@redhat.com>
4139
4140	Fix for PR java/1586:
4141	* Makefile.in: Rebuilt.
4142	* Makefile.am (AUTOMAKE_OPTIONS): Added no-dependencies.
4143
41442001-01-08  Bryce McKinlay  <bryce@albatross.co.nz>
4145
4146	* Makefile.am: Use the new "-M -MF" option for generating dependencies
4147	from the c++ compiler.
4148	* Makefile.in: Rebuilt.
4149
41502001-01-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>
4151
4152	All files with updated copyright.
4153	* prims.cc (class _Jv_PrimClass): Removed.
4154	(init_prim_class): New function.
4155	(DECLARE_PRIM_TYPE): Rewritten. `java::lang::Class' replaces
4156	`_Jv_PrimClass' in primitive type declarations. Assign to the
4157	value returned by `init_prim_class.'
4158	* gcj/array.h: `java::lang::Class' replaces `_Jv_PrimClass' in
4159	primitive type declarations.
4160	(JvPrimClass): Cast to `jclass' removed.
4161	* java/lang/Class.h (Class): New constructor.
4162	(Class): New copy constructor.
4163	(initializePrim): New prototype.
4164	(_Jv_PrimClass): Field removed.
4165	* java/lang/Object.h (struct _JvObjectPrefix): New virtuals
4166	nacd_1 and nacd_2 (for compatibility with the new C++ ABI.)
4167	(class java::lang::Object): `finalize' moved up front.
4168	* java/lang/natClass.cc
4169	(isAssignableFrom): Turned outline.
4170	(isInstance): Likewise.
4171	(isInterface): Likewise, fixed indentation.
4172	(initializePrim): New function.
4173
41742001-01-07  Anthony Green  <green@redhat.com>
4175
4176	* Makefile.am (texinfo): Add texinfo target for generating texinfo
4177	documentation.
4178	* Makefile.in: Rebuilt.
4179
4180	* scripts/TexinfoDoclet.java: New file.
4181
4182	* doc/java-applet.texi, doc/java-lang-reflect.texi,
4183	doc/java-awt-color.texi, doc/java-lang.texi,
4184	doc/java-awt-datatransfer.texi, doc/java-math.texi,
4185	doc/java-awt-event.texi, doc/java-net.texi,
4186	doc/java-awt-geom.texi, doc/java-security-spec.texi,
4187	doc/java-awt-image.texi, doc/java-security.texi,
4188	doc/java-awt-peer.texi, doc/java-sql.texi, doc/java-awt.texi,
4189	doc/java-text.texi, doc/java-beans-beancontext.texi,
4190	doc/java-util-jar.texi, doc/java-beans.texi,
4191	doc/java-util-zip.texi, doc/java-io.texi, doc/java-util.texi,
4192	doc/java-lang-ref.texi: New files.
4193
41942001-01-07  Anthony Green  <green@redhat.com>
4195
4196	* java/net/URLConnection.java (setDoOutput): URLConnection's may
4197	be used for both input and output, so don't clear doInput.
4198
4199	* java/lang/StringBuffer.java: Fix comments.
4200
42012001-01-06  Anthony Green  <green@redhat.com>
4202
4203	* java/beans/PropertyDescriptor.java: Fix comment.
4204	* java/io/PushbackReader.java: Fix comment.
4205	* java/io/ObjectStreamClass.java: Fix comment.
4206	* java/io/DataInputStream.java: Fix comment.
4207	* java/io/PipedInputStream.java: Fix comments.
4208	* java/io/PipedReader.java: Fix comments.
4209	* java/sql/DatabaseMetaData.java: Fix comments.
4210
42112001-01-06  Bryce McKinlay  <bryce@albatross.co.nz>
4212
4213	* java/io/PipedReader: Synchronize on "lock" instead of this.
4214
42152001-01-05  Bryce McKinlay  <bryce@albatross.co.nz>
4216
4217	* java/lang/Thread.java: Update comment.
4218
4219	* java/io/PipedInputStream: Rewrote to be simpler and more correct.
4220	* java/io/PipedOutputStream: Updated to match new PipedInputStream.
4221	* java/io/PipedReader: New implementation based on new
4222	PipedInputStream.
4223	* java/io/PipedWriter: Updated to match new PipedReader.
4224
42252001-01-03  Tom Tromey  <tromey@redhat.com>
4226
4227	* java/awt/ScrollPane.java (setBlockIncrement): Throw error.
4228	(getViewportSize): Insets include scrollbar size.
4229	(doLayout): Finished.
4230	(getScrollPosition): Wrote.
4231	* java/awt/peer/ScrollPanePeer.java (setBlockIncrement): Removed.
4232
42332001-01-02  Tom Tromey  <tromey@redhat.com>
4234
4235	* java/awt/ScrollPane.java: Wrote.
4236	* java/awt/peer/ScrollPanePeer.java (setBlockIncrement): New
4237	method.
4238
4239	* java/awt/Panel.java (Panel()): Fixed.
4240
4241	* java/awt/Component.java (isShowing): Return false if no peer
4242	exists, and true if component is visible and no parent exists.
4243	(getLocationOnScreen): Wrote.
4244	(getPreferredSize): Removed FIXME comment.
4245	(getMinimumSize): Likewise.
4246	(getAlignmentX, getAlignmentY): Wrote.
4247	(list): Wrote.
4248	(requestFocus): Wrote.
4249	(transferFocus): Wrote.
4250	(findNextFocusComponent): New method.
4251	(hasFocus()): Wrote.
4252	(checkImage): Wrote.
4253	(enableEvents): Call setEventMask on the peer.
4254
4255	* java/awt/Container.java (list): Use super.list() to print self.
4256	(findNextFocusComponent): New method.
4257	(setLayout): Call invalidate.
4258	(findComponentAt): Wrote.
4259
4260