OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [ChangeLog-2001] - Blame information for rev 790

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 753 jeremybenn
2001-12-29 Andreas Tobler 
2
 
3
        * libjava/java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for
4
        Darwin.
5
 
6
2001-12-21  Tom Tromey  
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
 
23
2001-12-19  Tom Tromey  
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
 
31
2001-12-19  Bryce McKinlay  
32
 
33
        * include/jvm.h (_Jv_BuildGCDescr): Declare unconditionally.
34
        * nogc.cc (_Jv_BuildGCDescr): Define unconditionally.
35
        * boehm.cc (_Jv_BuildGCDescr): Likewise.
36
 
37
2001-12-18  Tom Tromey  
38
 
39
        * java/text/CollationElementIterator.java (secondaryOrder): Cast
40
        result to `short'.
41
        (tertiaryOrder): Likewise.
42
 
43
2001-12-16  Tom Tromey  
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 .  Don't include
53
        CNI-specific headers if we are compiling ordinary JNI code with a
54
        C++ compiler.  Include  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
 
79
2001-12-16  Bryce McKinlay  
80
 
81
        * java/io/DataOutputStream (write (byte[], int, int)): Update
82
        "written" correctly. Fix from the ORP team.
83
 
84
2001-12-15  Bryce McKinlay  
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
 
100
2001-12-15  Bryce McKinlay  
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
 
107
2001-12-15  Bryce McKinlay  
108
 
109
        * java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
110
        entry.
111
 
112
2001-12-15  Eric Blake  
113
 
114
        * java/util/TreeMap.java (removeNode): Fix bug in node removal.
115
 
116
2001-12-15  Bryce McKinlay  
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
 
131
2001-12-15  Bryce McKinlay  
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
 
140
2001-12-15  Eric Blake  
141
 
142
        * java/util/Collections.java:
143
        * java/util/Vector.java:
144
        * java/util/WeakHashMap.java: Fix spelling errors.
145
 
146
2001-12-15  Eric Blake  
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
 
210
2001-12-15  Eric Blake  
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
 
220
2001-12-15  Eric Blake  
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
 
250
2001-12-15  Eric Blake  
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
 
259
2001-12-15  Eric Blake  
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
 
331
2001-12-14  Hans Boehm  
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
 
345
2001-12-12  Tom Tromey  
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
 
358
2001-12-11  Tom Tromey  
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
 
368
2001-12-10  Tom Tromey  
369
 
370
        For PR libgcj/1147:
371
        * prims.cc (JvConvertArgv): Convert using current locale's
372
        encoding.
373
 
374
2001-12-10  Tom Tromey  
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
 
380
2001-12-09  Per Bothner  
381
 
382
        * gnu/gcj/xlib/XImage.java (toString):  Add missing initialization.
383
 
384
2001-12-09  Tom Tromey  
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
 
407
2001-12-08  Tom Tromey  
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
 
425
2001-12-07  Tom Tromey  
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
 
438
2001-12-06  Tom Tromey  
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
 
466
2001-12-05  Tom Tromey  
467
 
468
        * defineclass.cc (character): Removed.
469
        (prepare_character): Removed.
470
        (is_identifier_start): Use Character, not character.
471
        (is_identifier_part): Likewise.
472
 
473
2001-12-04  Tom Tromey  
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
 
508
2001-12-04  Bryce McKinlay  
509
 
510
        * Makefile.in: Rebuilt with automake-gcj.
511
 
512
2001-12-03  Tom Tromey  
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
 
519
2001-12-02  Bryce McKinlay  
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
 
525
2001-11-30  Bryce McKinlay  
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
 
537
2001-11-25  Tom Tromey  
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
 
561
2001-11-22  Tom Tromey  
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
 
570
2001-11-25  Tom Tromey  
571
 
572
        Fix for PR libgcj/4583:
573
        * java/math/BigDecimal.java (BigDecimal(double)): Rewrote.
574
        (BigDecimal(String)): Likewise.
575
 
576
2001-11-19  Tom Tromey  
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
 
597
2001-11-18  Tom Tromey  
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
 
645
2001-11-17  Anthony Green  
646
 
647
        * jni.cc (unwrap): Fix test for wrapped objects.
648
 
649
2001-11-16  Tom Tromey  
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
 
667
2001-11-16  Mark Wielaard  
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
 
673
2001-11-15  Tom Tromey  
674
 
675
        * verify.cc (type::compatible): Use _Jv_IsAssignableFrom.
676
        (type::merge): Likewise.
677
 
678
2001-11-14  Hans Boehm 
679
 
680
        * java/lang/natString.cc: correct argument order for
681
        _Jv_AllocPtrFreeObj
682
 
683
2001-11-14  Tom Tromey  
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
 
712
2001-11-13  Tom Tromey  
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
 
719
2001-11-07  Tom Tromey  
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
 
782
2001-11-12  Bryce McKinlay  
783
 
784
        * boehm.cc (_Jv_GCCanReclaimSoftReference): Fix warning.
785
 
786
2001-11-09  Jeff Sturm  
787
 
788
        * verify.cc: Wrap in #ifdef INTERPRETER...#endif.
789
 
790
2001-11-07  Tom Tromey  
791
 
792
        * verify.cc (skip_padding): Fail if padding byte is nonzero.
793
 
794
2001-11-06  Tom Tromey  
795
 
796
        * HACKING: Make people commit their own patches.
797
 
798
2001-11-05  Tom Tromey  
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
 
815
2001-11-05  Bryce McKinlay  
816
 
817
        * java/util/ResourceBundle.java (class Security): Now static.
818
 
819
2001-11-04  Bryce McKinlay  
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
 
827
2001-11-03  Tom Tromey  
828
 
829
        * defineclass.cc (handleClassBegin): Use Object::class$, not
830
        Class::class$, when initializing interface superclass.
831
 
832
2001-11-02  Hans Boehm 
833
 
834
        * java/util/natResourceBundle.cc:getClassContext: return
835
        array of Class instead of array of ClassLoader.
836
 
837
2001-10-31  Joseph S. Myers  
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
 
871
2001-10-30  Bryce McKinlay  
872
 
873
        * jni.cc (JNI_CreateJavaVM): Call _Jv_CreateJavaVM. Don't call
874
        _Jv_JNI_Init.
875
 
876
2001-10-29  Tom Tromey  
877
 
878
        * java/util/zip/GZIPOutputStream.java (write(int)): New method.
879
        Fixes PR libgcj/4728.
880
 
881
2001-10-27  Tom Tromey  
882
 
883
        * include/jni.h (struct JNINativeInterface) [GetStringLength]:
884
        Returns jsize, not jint.
885
 
886
2001-10-26  Tom Tromey  
887
 
888
        * java/util/zip/Adler32.java: Use correct class name.  (Re-merge
889
        from Classpath.)
890
 
891
2001-10-25  Bryce McKinlay  
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
 
907
2001-10-25  Hans Boehm 
908
 
909
        * include/boehm-gc.h: Call thread local allocation functions
910
        if THREAD_LOCAL_ALLOC is defined.
911
 
912
2001-10-25  Bryce McKinlay  
913
 
914
        * java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Use
915
        snprintf, not asprintf.
916
 
917
2001-10-24  Loren J. Rittle  
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
 
927
2001-10-24  Tom Tromey  
928
            Warren Levy  
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
 
1090
2001-10-24  Tom Tromey  
1091
 
1092
        * java/lang/reflect/Field.java: Made many methods private.
1093
 
1094
        * java/sql/Types.java (Types): New constructor.
1095
 
1096
Tue Oct 23 23:52:18 2001  Anthony Green  
1097
 
1098
        * gnu/gcj/runtime/natSharedLibLoader.cc: Only include dlfcn.h when
1099
        HAVE_DLOPEN.
1100
 
1101
2001-10-23  Tom Tromey  
1102
 
1103
        * java/lang/reflect/Field.java (Field): New constructor.
1104
        * java/lang/ClassLoader.java (defineClass(String,byte[],int,int)):
1105
        Throw ClassFormatError.
1106
 
1107
2001-10-23  Tom Tromey  
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
 
1116
2001-10-23  Bryce McKinlay  
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
 
1130
2001-10-22  Tom Tromey  
1131
 
1132
        * java/util/GregorianCalendar.java (getGregorianChange): Removed
1133
        `date' argument.
1134
 
1135
2001-10-22  Bryce McKinlay  
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
 
1143
2001-10-19  Mark Wielaard  
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
 
1154
2001-10-19  Mark Wielaard  
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
 
1166
2001-10-18  Tom Tromey  
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
 
1182
2001-10-17  Tom Tromey  
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
 
1199
2001-10-17  Anthony Green  
1200
 
1201
        * java/security/Security.java (loadProviders): Fix bug in how
1202
        providers are loaded.
1203
 
1204
2001-10-16  Tom Tromey  
1205
 
1206
        * gcj/javaprims.h: Updated class list.
1207
        * java/util/Hashtable.java: Re-merged with Classpath.
1208
 
1209
2001-10-16  Bryce McKinlay  
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
 
1237
2001-10-15  Bryce McKinlay  
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
 
1252
2001-10-15  Eric Blake  
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
 
1266
2001-10-15  Tom Tromey  
1267
 
1268
        * java/lang/reflect/AccessibleObject.java (checkPermission):
1269
        Implemented.
1270
        Updated copyright information.
1271
 
1272
2001-10-15  Hans Boehm 
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
 
1293
2001-10-15  Tom Tromey  
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
 
1302
2001-10-14  Mark Wielaard  
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
 
1326
2001-10-13  Tom Tromey  
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
 
1349
2001-10-12  Tom Tromey  
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
 
1360
2001-10-11  Tom Tromey  
1361
 
1362
        * configure: Rebuilt.
1363
        * configure.in: Recognize --disable-java-awt.
1364
 
1365
2001-10-10  Tom Tromey  
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
 
1386
2001-10-09  Per Bothner  
1387
 
1388
        * strtod.c (_strtod_r):  Logic to check for missing digits
1389
        after exponent had 'else' attached to wrong 'if'.
1390
 
1391
2001-10-09  Mark Wielaard  
1392
 
1393
        * java/net/SocketImpl.java: Merge with Classpath
1394
 
1395
2001-10-08  Mark Wielaard  
1396
 
1397
        * java/net/DatagramSocketImpl.java: Merge with Classpath
1398
 
1399
2001-10-07  Mark Wielaard  
1400
 
1401
        * java/net/URLDecoder.java: Remerge with Classpath
1402
        * java/net/URLEncoder.java: Merge with Classpath
1403
 
1404
2001-10-08  Tom Tromey  
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
 
1410
2001-10-06  Mark Wielaard  
1411
 
1412
        * java/io/BufferedInputStream.java: Merge with Classpath
1413
 
1414
2001-10-07  Joseph S. Myers  
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
 
1422
2001-10-05  Tom Tromey  
1423
 
1424
        * java/text/DecimalFormat.java (format): Use localized minus sign
1425
        when generating exponent; never use `+'.  Use floor to compute
1426
        exponent.
1427
 
1428
2001-10-05  Mark Wielaard  
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
 
1436
2001-10-04  Martin Kahlert  
1437
 
1438
        * jni.cc (_Jv_JNI_DeleteLocalRef): Use correct frame size
1439
 
1440
2001-10-04  Mark Wielaard  
1441
 
1442
        * java/lang/reflect/Modifier.java: Merge with Classpath
1443
 
1444
2001-10-03  Mark Wielaard  
1445
 
1446
        * java/io/SequenceInputStream.java: Merge with Classpath
1447
        * java/io/StringBufferInputStream.java: Ditto
1448
        * java/util/Collections.java: Remerge with Classpath
1449
 
1450
2001-10-03  Tom Tromey  
1451
 
1452
        * java/lang/ref/natReference.cc (add_to_hash): Set n->next before
1453
        setting *link.
1454
 
1455
2001-10-03  Bryce McKinlay  
1456
 
1457
        * resolve.cc (_Jv_PrepareClass): Fix typos in vtable layout.
1458
        * gij.cc (version): Use GCJVERSION.
1459
 
1460
2001-10-02  Mark Wielaard  
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
 
1469
2001-10-01  Mark Wielaard  
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
 
1485
2001-10-01  Tom Tromey  
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
 
1507
2001-10-01  Mark Wielaard  
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
 
1526
2001-09-30  Mark Wielaard  
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
 
1542
2001-09-30  Bryce McKinlay  
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
 
1555
2001-09-28  Per Bothner  
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
 
1563
2001-09-29  Jeff Sturm  
1564
 
1565
        * Makefile.am (libgcj_la_LDFLAGS): Added $(GCLIBS), $(ZLIBS).
1566
        * Makefile.in: Rebuilt.
1567
 
1568
2001-09-27  Tom Tromey  
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
 
1579
2001-09-26  Tom Tromey  
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
 
1592
2001-09-24  Bryce McKinlay  
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
 
1603
2001-09-22  Anthony Green  
1604
 
1605
        * java/security/DummyKeyPairGenerator.java (initialize): New
1606
        method (with AlgorithmParameterSpec argument).
1607
 
1608
2001-09-22  Anthony Green  
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
 
1616
2001-09-21  Richard Henderson  
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
 
1625
2001-09-21  Richard Henderson  
1626
 
1627
        * no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments.
1628
        * java/lang/mprec.c (lo0bits): Fix paren typo.
1629
 
1630
2001-09-20  Bryce McKinlay  
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
 
1640
2001-09-19  Anthony Green  
1641
 
1642
        * gnu/gcj/protocol/file/Handler.java: Avoid NullPointerException
1643
        when host is null.
1644
 
1645
2001-09-17  Andreas Jaeger  
1646
 
1647
        * jni.cc (array_from_valist): Use promoted types for va_arg.
1648
 
1649
2001-09-16  Anthony Green  
1650
 
1651
        * gnu/java/locale/LocaleInformation.java: Extend
1652
        LocaleInformation_en_US, not LocaleInformation_en.
1653
 
1654
2001-09-16  Anthony Green  
1655
 
1656
        * gnu/gcj/convert/IOConverter.java: Add support for iso8859_1.
1657
 
1658
2001-09-14  Tom Tromey  
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
 
1666
2001-09-14  Bryce McKinlay  
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
 
1675
2001-09-12  Tom Tromey  
1676
 
1677
        * Makefile.in: Rebuilt.
1678
        * Makefile.am (class-check): New target.
1679
 
1680
2001-09-11  Tom Tromey  
1681
 
1682
        * java/io/File.java (toURL): Use getAbsolutePath and `file://'.
1683
 
1684
2001-09-10  Tom Tromey  
1685
 
1686
        * java/util/Properties.java (load): Correctly read \u sequences.
1687
        Report from Anthony Green.
1688
 
1689
2001-09-10  Manfred Hollstein  
1690
 
1691
        * configure.in (LIBFFIINCS): Quote uses of $(top_srcdir)
1692
        and $(MULTIBUILDTOP).
1693
        * configure: Re-generate.
1694
 
1695
2001-09-10  Bryce McKinlay  
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
 
1702
2001-09-06  Anthony Green  
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
 
1710
2001-09-06  Tom Tromey  
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
 
1717
2001-09-06  Anthony Green  
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
 
1733
2001-09-05  Tom Tromey  
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
 
1745
2001-09-05  Corey Minyard  
1746
            Tom Tromey  
1747
 
1748
        * java/lang/natClassLoader.cc: Include VirtualMachineError.h
1749
        (_Jv_RegisterClassHookDefault): Throw error if a class is
1750
        registered twice.
1751
 
1752
2001-09-05  Tom Tromey  
1753
 
1754
        * java/lang/natSystem.cc (init_properties): Default locale is
1755
        en_US, not just en.
1756
 
1757
2001-09-05  Bryce McKinlay  
1758
 
1759
        * java/text/MessageFormat.java (setLocale): Don't catch ParseException
1760
        here, DecimalFormat.applyPattern() does not throw it.
1761
 
1762
2001-09-04  Tom Tromey  
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
 
1842
2001-09-03  Tom Tromey  
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
 
1852
2001-09-01  Tom Tromey  
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
 
1924
2001-08-31  Per Bothner  
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
 
1942
2001-08-31  Tom Tromey  
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
 
1980
2001-08-31  Jason Merrill  
1981
 
1982
        * exception.cc (PERSONALITY_FUNCTION): Simplify
1983
        leb128 handling.
1984
 
1985
2001-08-31  Tom Tromey  
1986
 
1987
        * java/io/ByteArrayInputStream.java: Merged with Classpath.
1988
 
1989
2001-08-30  Tom Tromey  
1990
 
1991
        * java/io/BufferedReader.java: Re-merged with Classpath.
1992
 
1993
2001-08-28  Per Bothner  
1994
 
1995
        * java/math/BigInteger.java (init(int,Random)):  New method.
1996
        Move body of constructor (int,Random)) here.
1997
        Re-write it to avoid constructing unneeded temporaries.
1998
        ((int,int,Random)):  Use new init method to avoid constructing
1999
        extra temporary BigIntegers.
2000
 
2001
2001-08-27  Tom Tromey  
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
 
2094
2001-08-26  Bryce McKinlay  
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
 
2123
2001-08-23  Tom Tromey  
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
 
2140
2001-08-21  Anthony Green  
2141
 
2142
        * java/lang/natClassLoader.cc (findClass): Search for
2143
        lib-gnu-pkg-quux.so, not gnu-pkg-quux.so.
2144
 
2145
2001-08-21  Jeff Sturm  
2146
 
2147
        * java/util/IdentityHashMap.java (get): Fix off-by-one error.
2148
        (put): Likewise.
2149
 
2150
2001-08-20  Tom Tromey  
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
 
2166
2001-08-17  Jeff Sturm  
2167
 
2168
        * gnu/gcj/convert/UnicodeToBytes.java (write): Write work buffer
2169
        starting from zero offset.
2170
 
2171
2001-08-17  Hans-J. Boehm 
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
 
2179
2001-08-17  Mark J Roberts  
2180
 
2181
        * java/math/BigInteger.java (randBytes): New method.
2182
        (BigInteger(int,Random)): Use randBytes.
2183
 
2184
2001-08-17  Tom Tromey  
2185
 
2186
        * gnu/gcj/convert/IOConverter.java: Add `646' alias.
2187
 
2188
2001-08-17  Hans-J. Boehm 
2189
 
2190
        * BigInteger.java: fix right shifts by nonzero multiples of 32.
2191
 
2192
2001-08-15  Tom Tromey  
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
 
2207
2001-08-09  Tom Tromey  
2208
 
2209
        * java/awt/image/SampleModel.java (getPixel): Set correct array
2210
        element.  From Chris Meyer.
2211
 
2212
2001-08-10  Loren J. Rittle  
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
 
2217
2001-08-06  Tom Tromey  
2218
 
2219
        * java/io/InputStreamReader.java (refill): Only call refill on
2220
        BufferedInputStream when appropriate constraints are met.
2221
 
2222
2001-08-05  Tom Tromey  
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
 
2231
2001-08-02  Tom Tromey  
2232
 
2233
        * prims.cc (JNI_OnLoad): Don't declare.
2234
        (_JNI_OnLoad): Don't define.
2235
        (_Jv_CreateJavaVM): Don't handle JNI_OnLoad.
2236
 
2237
2001-08-02  Tom Tromey  
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
 
2252
2001-08-02  Martin Kahlert  
2253
 
2254
        * jni.cc (JNI_CreateJavaVM): Call _Jv_JNI_Init in order
2255
        to initialize global_ref_table/local_ref_table.
2256
 
2257
2001-08-02  Tom Tromey  
2258
 
2259
        * configure: Rebuilt.
2260
        * configure.in (THREADSPEC): Don't set THREADLIBS on Cygwin.  From
2261
        David Billinghurst.
2262
 
2263
2001-08-01  Rainer Orth  
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
 
2282
2001-08-01  Jeff Sturm  
2283
 
2284
        * libgcj.spec.in: Pass -fkeep-inline-functions to jc1.
2285
 
2286
2001-07-30  Christian Iseli  
2287
 
2288
        * Makefile.in: Rebuilt.
2289
        * Makefile.am (GCJLINK): Added --tag=GCJ.
2290
        (LIBLINK): Likewise.
2291
 
2292
2001-07-30  Tom Tromey  
2293
 
2294
        * java/util/Date.java: Re-merged with Classpath.
2295
 
2296
2001-07-30  Jeff Sturm  
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
 
2306
2001-07-30  Tom Tromey  
2307
            Corey Minyard  
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
 
2330
2001-07-30  Tom Tromey  
2331
 
2332
        * java/lang/Integer.java: Merged with Classpath.
2333
 
2334
2001-07-30  Bryce McKinlay  
2335
 
2336
        * java/util/GregorianCalendar.java (GregorianCalendar): Call
2337
        setTimeInMillis() to set the default/current time.
2338
 
2339
2001-07-29  Mark Wielaard 
2340
 
2341
        * HACKING: add description on updating namespace
2342
 
2343
2001-07-26  Bryce McKinlay  
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
 
2364
2001-07-25  Tom Tromey  
2365
 
2366
        * Makefile.in: Rebuilt.
2367
        * Makefile.am (libgcj.jar): Correctly fail when bytecode
2368
        compilation fails.
2369
 
2370
2001-07-24  Rainer Orth  
2371
 
2372
        * prims.cc (_JNI_OnLoad): New function.
2373
        (JNI_OnLoad): Use it.
2374
        (_Jv_CreateJavaVM): Check for _JNI_OnLoad, not NULL.
2375
 
2376
2001-07-24  Rainer Orth  
2377
 
2378
        * Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS.
2379
        Makefile.in: Regenerate.
2380
 
2381
2001-07-24  Tom Tromey  
2382
 
2383
        * java/lang/VMClassLoader.java (getPrimitiveClass): Return correct
2384
        type.
2385
 
2386
2001-07-23  Tom Tromey  
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
 
2399
2001-07-22  Jeff Sturm  
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
 
2407
2001-07-18  Rainer Orth  
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
 
2413
2001-07-18  Tom Tromey  
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
 
2422
2001-07-18  Tom Tromey  
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
 
2431
2001-07-17  Bryce McKinlay  
2432
 
2433
        * java/util/LinkedList.java (clone): Clear the copy list with clear(),
2434
        not by setting its size field.
2435
 
2436
2001-07-13  Alexandre Petit-Bianco  
2437
 
2438
        * include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): Removed unused
2439
        local `_ebp.'
2440
 
2441
2001-07-12  Tom Tromey  
2442
            David Brownell  
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
 
2453
2001-07-12  Tom Tromey  
2454
 
2455
        Report from Henner Zeller:
2456
        * java/io/FileOutputStream.java (FileOutputStream): Throw
2457
        FileNotFoundException, not IOException.
2458
 
2459
2001-07-10  Anthony Green  
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
 
2502
2001-07-10  Alexandre Petit-Bianco  
2503
 
2504
        * Makefile.am: Added `java/lang/ThreadLocal.java'.
2505
        * Makefile.in: Regenerate.
2506
        * java/lang/ThreadLocal.java: Initial import.
2507
 
2508
2001-07-07  Jeff Sturm  
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
 
2517
2001-07-06  Andrew Haley  
2518
 
2519
        * include/i386-signal.h: Don't do anything with unsigned divide
2520
        overflow except throw an exception.
2521
 
2522
2001-07-05  Tom Tromey  
2523
 
2524
        For PR java/3562:
2525
        * java/lang/Class.h (Class(void)): Now private.  Removed
2526
        implementation.  From dmorsberger@sensysdl.com.
2527
 
2528
2001-07-02  Tom Tromey  
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
 
2536
2001-07-01  Jeremy Nimmer  
2537
 
2538
        For PR libgcj/3523:
2539
        * java/io/LineNumberReader.java (reset): Pass correct arguments to
2540
        countLines.
2541
 
2542
2001-06-27  Tom Tromey  
2543
 
2544
        * gnu/gcj/convert/IOConverter.java: Manually maintained alias now
2545
        lowercase.
2546
 
2547
2001-06-25  Tom Tromey  
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
 
2555
2001-06-25  Tom Tromey  
2556
 
2557
        * java/io/natFileDescriptorPosix.cc (open): Change error message
2558
        formatting.  From David Brownell.
2559
 
2560
2001-06-21  Tom Tromey  
2561
 
2562
        * include/java-interp.h (_Jv_InterpClass): Use JV_MARKOBJ_DECL.
2563
        From Corey Minyard.
2564
 
2565
2001-06-19  Mark J. Roberts  
2566
 
2567
        * java/math/BigInteger.java (byteArrayToIntArray): Don't include
2568
        extraneous/malformed sign word.
2569
 
2570
2001-06-15  Tom Tromey  
2571
 
2572
        * jni.cc (_Jv_JNI_NewLocalRef): Search other frames.
2573
 
2574
2001-06-15  Tom Tromey  
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
 
2583
2001-06-15  Tom Tromey  
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
 
2606
2001-06-14  Tom Tromey  
2607
 
2608
        Fix for PR libgcj/3144:
2609
        * java/util/Date.java: Merged with Classpath.
2610
 
2611
2001-06-12  Tom Tromey  
2612
 
2613
        * aclocal.m4, configure: Rebuilt.
2614
        * acinclude.m4: Find configure.host in srcdir.
2615
 
2616
2001-06-07  Tom Tromey  
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
 
2623
2001-06-10  Alexandre Petit-Bianco  
2624
 
2625
        * exception.cc (cstdlib): Replaces stdlib.h.
2626
        (_Jv_Throw): Use std::abort().
2627
        (PERSONALITY_FUNCTION): Likewise.
2628
 
2629
2001-06-09  Alexandre Oliva  , Stephen L Moshier  
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
 
2635
2001-06-08  Tom Tromey  
2636
 
2637
        * configure: Rebuilt.
2638
        * configure.in: Compute new aux dir using `pwd'.
2639
 
2640
2001-06-07  Tom Tromey  
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
 
2653
2001-06-05  Martin Kahlert  
2654
            Bryce McKinlay  
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
 
2662
2001-06-04  Tom Tromey  
2663
 
2664
        * java/security/PublicKey.java: Extend Key.
2665
        * java/security/PrivateKey.java: Extend Key.
2666
 
2667
2001-06-02  Anthony Green  
2668
 
2669
        * java/lang/natRuntime.cc (_Jv_FindSymbolInExecutable): Provide an
2670
        alternate when USE_LTDL not defined.
2671
 
2672
2001-06-02  Anthony Green  
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
 
2681
2001-06-02  Anthony Green  
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
 
2692
2001-06-02  Anthony Green  
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
 
2699
2001-05-31  Jeff Sturm  
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
 
2705
2001-05-31  Tom Tromey  
2706
 
2707
        * java/io/natFileDescriptorPosix.cc (open): Allocate buffer to
2708
        correct size.
2709
        (write): Loop until write completes.  From Corey Minyard.
2710
 
2711
2001-05-29  Laurent Guerby  
2712
 
2713
        * java/awt/geom/Rectangle2D.java: fix doc typo.
2714
 
2715
2001-05-31  Tom Tromey  
2716
 
2717
        * java/sql/DriverManager.java (getDrivers): Handle case where
2718
        driver's class loader is null.  From Corey Minyard.
2719
 
2720
2001-05-29  Tom Tromey  
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
 
2728
2001-05-29  Andrew Haley  
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
 
2748
2001-05-24  Tom Tromey  
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
 
2761
2001-05-23  Tom Tromey  
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
 
2789
2001-05-23  Hans Boehm 
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
 
2838
2001-05-23  Joseph S. Myers  
2839
 
2840
        * gij.cc (version): Update copyright year.
2841
 
2842
2001-05-22  Anthony Green  
2843
 
2844
        * configure.in: Tweak canadian cross test, and don't redefine GCJ
2845
        for cross builds.
2846
 
2847
2001-05-21  Per Bothner  
2848
 
2849
        Implement invocation interface; don't create new thread for main.
2850
        * java/lang/Thread.java (gen_name):  Make native.
2851
        ((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
 
2890
2001-05-21  Per Bothner  
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
 
2896
2001-05-21  Per Bothner  
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
 
2909
2001-05-21  Tom Tromey  
2910
 
2911
        * gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Now public.
2912
 
2913
2001-05-18  Andrew Haley  
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
 
2920
2001-05-21  Bryce McKinlay  
2921
 
2922
        * configure.in: Update boehm-gc include dir for new GC version.
2923
        * configure: Rebuilt.
2924
        * exception.cc: Only include . 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 . Don't need to wrap with
2929
        extern "C".
2930
 
2931
2001-05-18  Alexandre Petit-Bianco  
2932
 
2933
        * include/posix-threads.h (_Jv_CondInit): `0' used in place of `NULL.'
2934
        (_Jv_MutexInit): Likewise.
2935
 
2936
2001-05-18  Tom Tromey  
2937
 
2938
        * Makefile.in: Rebuilt.
2939
        * Makefile.am (awt_java_source_files): Added Polygon.java.
2940
 
2941
2001-05-18  Bryce McKinlay  
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
 
2947
2001-05-17  Martin Kahlert  
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
 
2953
2001-05-17  Per Bothner  
2954
 
2955
        * Makefile.am (ZIP):  The "fastjar" binary is now plain "jar".
2956
 
2957
2001-05-16  Tom Tromey  
2958
 
2959
        * java/text/SimpleDateFormat.java (parse): Handle non-dst time
2960
        zones.
2961
 
2962
2001-05-15  Tom Tromey  
2963
 
2964
        * java/util/GregorianCalendar.java (computeTime): Only call
2965
        getTimeZone() once.
2966
 
2967
2001-05-14  Tom Tromey  
2968
 
2969
        * java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and
2970
        ZONE_OFFSET just before computing the time.
2971
 
2972
2001-05-12  Zack Weinberg  
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
 
2979
2001-05-11  Richard Henderson  
2980
 
2981
        * configure.in (ia64-*): Don't set SYSDEP_SOURCES.
2982
        * java/lang/natThrowable.cc: Don't use __ia64_backtrace.
2983
 
2984
2001-05-11  Richard Henderson  
2985
 
2986
        * exception.cc: Include unwind-pe.h.  Remove all pointer
2987
        encoding logic.
2988
 
2989
2001-05-10  Tom Tromey  
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
 
3000
2001-05-10  Tom Tromey  
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
 
3013
2001-05-10  Tom Tromey  
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
 
3026
2001-05-10  Jeff Sturm  
3027
 
3028
        * Calendar.java (get): Clear areFieldsSet if requested field
3029
        is not set.
3030
        (set): Unset fields that depend on new value.
3031
 
3032
2001-05-06  Bryce McKinlay  
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
 
3038
2001-05-06  Bryce McKinlay  
3039
 
3040
        * java/lang/ClassLoader.java: Remove dead code fragment.
3041
 
3042
2001-05-03  Martin Kahlert  
3043
 
3044
        * jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
3045
        checking.
3046
        (_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
3047
 
3048
2001-04-30  Andrew Haley  
3049
 
3050
        * libgcj.spec.in (jc1): Add EXCEPTIONSPEC.
3051
        * configure.host (EXCEPTIONSPEC): New.
3052
        * configure.in (EXCEPTIONSPEC): New.
3053
        * configure: Rebuilt.
3054
 
3055
2001-05-02  Bryce McKinlay  
3056
 
3057
        * doc/*.texi: Remove generated documentation.
3058
 
3059
2001-04-30  Matt Kraai  
3060
 
3061
        * java/io/natFile.cc (performSetReadOnly): Fix #ifdef test.
3062
        (performDelete): Fix #endif placement.
3063
 
3064
2001-04-27  Zack Weinberg  
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
 
3072
2001-04-27  Tom Tromey  
3073
 
3074
        * jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
3075
        checking.
3076
        (_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
3077
 
3078
2001-04-27  Martin Kahlert  
3079
 
3080
        * include/jni.h (struct JNINativeInterface): Fixed types in
3081
        Get/Set*ArrayRegion declarations.
3082
        (class _Jv_JNIEnv): Likewise.
3083
 
3084
2001-04-26  Alexandre Oliva  
3085
 
3086
        * configure.in: Obtain THREADS with `gcc -v'.
3087
        * configure: Rebuilt.
3088
 
3089
2001-04-25  Bryce McKinlay  
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
 
3104
2001-04-25  Kaveh R. Ghazi  
3105
 
3106
        * java/net/natInetAddress.cc (java::net::InetAddress::aton):
3107
        Wrap use of inet_pton in HAVE_INET6.
3108
 
3109
2001-04-25  Bryce McKinlay  
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
 
3162
2001-04-24  Alexandre Oliva  
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
 
3168
2001-04-21  Tom Tromey  
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
 
3216
2001-04-20  Tom Tromey  
3217
 
3218
        * java/awt/List.java: Wrote.
3219
        * java/awt/Dialog.java: Wrote.
3220
 
3221
2001-04-20  Warren Levy  
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
 
3235
2001-04-12  Bryce McKinlay  
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
 
3246
2001-04-08  Per Bothner  
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
 
3257
2001-04-06  Tom Tromey  
3258
 
3259
        * jni.cc (wrap_value, wrap_value): Removed.
3260
        (wrap_value): New specialization.
3261
        (_Jv_JNI_PopLocalFrame): Update env->locals.
3262
 
3263
2001-04-05  Tom Tromey  
3264
 
3265
        * libtool-version: Updated current.
3266
 
3267
2001-04-04  Andreas Jaeger  
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
 
3278
2001-04-02 Zack Weinberg 
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
 
3285
2001-04-02  Richard Henderson  
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
 
3293
2001-04-02  Marcus G. Daniels  
3294
 
3295
        * jni.cc (wrap_value): New specialization.
3296
 
3297
2001-04-02  Tom Tromey  
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
 
3311
2001-04-02  Torsten Rueger  
3312
 
3313
        * java/text/MessageFormat.java (setLocale): Added missing `else'.
3314
        For PR libgcj/2429.
3315
 
3316
2001-03-30  Tom Tromey  
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
 
3324
2001-03-23  Kevin B Hendricks  
3325
 
3326
        * configure.host: Enable interpreter for PPC.
3327
 
3328
2001-04-02  Bryce McKinlay  
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
 
3337
2001-04-01  Per Bothner  
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
 
3345
2001-04-01  Per Bothner  
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
 
3360
2001-04-01  Bryce McKinlay  
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
 
3413
2001-03-28  Richard Henderson  
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
 
3439
2001-03-27  Joerg Brunsmann  
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
 
3452
2001-03-27  Bryce McKinlay  
3453
 
3454
        * Makefile.am (libffi_files): Use 'find' to pick up libffi libtool
3455
        objects in subdirectories.
3456
        * Makefile.in: Rebuilt.
3457
 
3458
2001-03-25  Richard Henderson  
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
 
3485
2001-03-24  Bryce McKinlay  
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
 
3491
2001-03-23  Per Bothner  
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
 
3502
2001-03-23  Jeff Sturm  
3503
 
3504
        * prims.cc (_Jv_FindClassFromSignature): Check return of
3505
        recursive call.  Do not abort on invalid signature; return NULL
3506
        instead.
3507
 
3508
2001-03-22  Tom Tromey  
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
 
3518
2001-03-23  Bryce McKinlay  
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
 
3528
2001-03-22  Joerg Brunsmann 
3529
 
3530
        * javax/naming/Context.java (SECURITY_CREDENTIALS): Fix typo.
3531
 
3532
2001-03-22  Marcus G. Daniels  
3533
 
3534
        * jni.cc (add_char): Handle `.' like `/'.
3535
 
3536
2001-03-22  Bryce McKinlay  
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
 
3544
2001-03-21  Tom Tromey  
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
 
3556
2001-03-20  Warren Levy  
3557
 
3558
        * java/util/TimeZone.java: Sync up with Classpath.  Includes new
3559
        and corrected SimpleTimeZone's for the timezones hash table.
3560
 
3561
2001-03-19  Per Bothner  
3562
 
3563
        * java/net/URLStreamHandler.java (parseURL):  Fix bug which would
3564
        "canonicalize" "../../xxx" to "/xxx".
3565
 
3566
2001-03-19  Mark Wielaard 
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
 
3583
2001-03-17  Tom Tromey  
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
 
3596
2001-03-01  Andrew Haley  
3597
 
3598
        * java/lang/natThrowable.cc (printRawStackTrace): Copy the
3599
        stackTrace buffer to a correctly aligned pointer array.
3600
 
3601
2001-03-12  Bryce McKinlay  
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
 
3617
2001-03-08  Tom Tromey  
3618
 
3619
        * java/io/ObjectStreamClass.java (setUID): Don't write interface
3620
        info for array classes.
3621
        Fixes PR libgcj/1971.
3622
 
3623
2001-03-06  Bryce McKinlay  
3624
 
3625
        * java/util/TreeSet.java (writeObject): Use a for-loop instead of
3626
        Iterator.hasNext().
3627
 
3628
2001-03-05  Jochen Hoenicke  
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
 
3635
2001-03-01  Per Bothner  
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
 
3645
2001-02-27  Bryce McKinlay  
3646
 
3647
        * libgcj.spec.in: Insert %(libgcc) before %(liborig) to fix static
3648
        linking.
3649
 
3650
2001-02-23  Per Bothner  
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
 
3664
2001-02-23  Per Bothner  
3665
 
3666
        * java/lang/Throwable.java (CPlusPlusDemangler):  Pass -s java to
3667
        c++filt to select java-style output.
3668
 
3669
2001-02-22  Bryce McKinlay  
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
 
3676
2001-02-21  Bryce McKinlay  
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
 
3685
2001-02-20  Tom Tromey  
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
 
3703
2001-02-16  Tom Tromey  
3704
 
3705
        * java/lang/ThreadGroup.java (activeCount): Only include threads
3706
        which are alive.
3707
        (enumerate): Likewise.
3708
 
3709
2001-02-19  Bryce McKinlay  
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
 
3720
2001-02-17  Mark Wielaard 
3721
 
3722
        * java/util/TimerTask.java: New version from Classpath.
3723
 
3724
2001-02-17  Mark Wielaard 
3725
 
3726
        Remerge with Classpath
3727
        (changes by Bryce McKinlay  )
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
 
3748
2001-02-17  Mark Wielaard 
3749
 
3750
        * HACKING: new file
3751
 
3752
2001-02-17  Mark Wielaard 
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
 
3761
2001-02-16  Bryce McKinlay  
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
 
3773
2001-02-14  Andrew Haley  
3774
 
3775
        * include/i386-signal.h (INIT_SEGV): Use a direct system call to
3776
        set the handler.
3777
 
3778
2001-02-15  Anthony Green  
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
 
3786
2001-02-15  Bryce McKinlay  
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
 
3808
2001-02-14  Bryce McKinlay  
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
 
3830
2001-02-13  Tom Tromey  
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
 
3841
2001-02-13  Tom Tromey  
3842
 
3843
        * gnu/awt/j2d/AbstractGraphicsState.java (clone): Made public.
3844
 
3845
2001-02-13  Tom Tromey  
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
 
3852
2001-02-13  Bryce McKinlay  
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
 
3860
2001-02-12  Jeff Sturm  
3861
            Tom Tromey  
3862
 
3863
        * interpret.cc (continue1): [insn_invokevirtual] Do an explicit
3864
        null pointer check.
3865
 
3866
2001-02-09  Tom Tromey  
3867
 
3868
        * java/util/Timer.java: New version from Classpath.
3869
 
3870
2001-02-09  Bryce McKinlay  
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
 
3877
2001-02-09  Alexandre Petit-Bianco  
3878
 
3879
        * java/io/File.java (java.net): Imported.
3880
        (getAbsoluteFile): Added.
3881
        (getCanonicalPath): Likewise.
3882
        (toURL): Likewise.
3883
 
3884
2001-02-08  Bryce McKinlay  
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
 
3898
2001-02-08  Tom Tromey  
3899
 
3900
        * java/lang/Float.java (parseFloat): New method.
3901
 
3902
2001-02-08  Tom Tromey  
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
 
3908
2001-02-08  Joseph S. Myers  
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
 
3914
2001-02-07  Tom Tromey  
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
 
3923
2001-02-07  Bryce McKinlay  
3924
 
3925
        * java/util/Arrays.java: Removed "cmp" methods.
3926
        (qsort): Don't use "cmp".
3927
        (med3): Likewise.
3928
 
3929
2001-02-07  Mark Benvenuto  
3930
 
3931
        * java/util/Arrays.java (qsort): Handle N value of 7 with insertion
3932
        sort. Fix for PR java/1895.
3933
 
3934
2001-02-03  Jeff Sturm  
3935
 
3936
        * configure.host: Use sjlj-exceptions for Alpha.
3937
 
3938
2001-02-03  Bryce McKinlay  
3939
 
3940
        * libgcj.spec.in: Don't force static libgcc into the executable.
3941
        * configure.in (FORCELIBGCCSPEC): Removed.
3942
        * configure: Rebuilt.
3943
 
3944
2001-01-31  Tom Tromey  
3945
 
3946
        * Makefile.in: Rebuilt.
3947
        * Makefile.am (LTCXXCOMPILE): New macro.
3948
 
3949
2001-01-26  Andrew Haley  
3950
 
3951
        (INIT_FPE): Use a direct system call to set the handler.
3952
 
3953
2001-01-27  Richard Henderson  
3954
 
3955
        * configure.host (alpha*-*) [libgcj_flags]: Add -mieee.
3956
 
3957
2001-01-27  Tom Tromey  
3958
 
3959
        * jni.cc (_Jv_JNIFunctions): Added comment for each entry in
3960
        native interface structure.
3961
 
3962
2001-01-27  Bryce McKinlay  
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
 
3972
2001-01-26  Tom Tromey  
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
 
3979
2001-01-26  Warren Levy  
3980
 
3981
        * java/lang/natSystem.cc (getSystemTimeZone): Only use tm_gmtoff
3982
        and timezone if they are available on the system.
3983
 
3984
2001-01-24  Tom Tromey  
3985
 
3986
        * java/lang/sf_fabs.c: Use uint32_t, not __uint32_t.
3987
 
3988
2001-01-24  Tom Tromey  
3989
 
3990
        * Makefile.in: Rebuilt.
3991
        * Makefile.am (c_source_files): Added sf_fabs.c.
3992
        * java/lang/sf_fabs.c: New file.
3993
 
3994
2001-01-19  Warren Levy  
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
 
4000
2001-01-17  Mark Wielaard  
4001
 
4002
        * java/bean/Beans.java (instantiate): enable Applet code from Classpath
4003
 
4004
2001-01-17  Bryce McKinlay  
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
 
4013
2001-01-16  Alexandre Petit-Bianco  
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
 
4024
2001-01-16  Warren Levy  
4025
 
4026
        * java/math/BigInteger.java: Update Copyright year.
4027
 
4028
2001-01-16  Hans Boehm  
4029
 
4030
        * java/math/BigInteger.java (setShiftRight): Only do negative shift
4031
        if count != 0.
4032
 
4033
2001-01-14  Mark Wielaard  
4034
        * java/net/URLDecoder.java: Thanks Edgar Villanueva (edgarvil@home.com)
4035
        (decode): Merge comments with Classpath, don't throw Exception
4036
 
4037
2001-01-12  Tom Tromey  
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
 
4053
2001-01-11  Tom Tromey  
4054
 
4055
        * java/awt/Cursor.java (Cursor(String)): Set type to custom.
4056
        (Cursor(int), getPredefinedCursor): Throw exception if argument
4057
        invalid.
4058
 
4059
2001-01-03  Tom Tromey  
4060
 
4061
        * gnu/awt/gtk/natGtkComponentPeer.cc (setCursor): Wrote.
4062
        (getLocationOnScreen): Wrote.
4063
 
4064
2001-01-11  Bryce McKinlay  
4065
 
4066
        * Makefile.am: Re-enable dependencies.
4067
        * Makefile.in: Rebuilt.
4068
 
4069
2001-01-10  Warren Levy  
4070
 
4071
        * java/math/BigDecimal.java (divide): Fixed comment.
4072
 
4073
2001-01-10  Warren Levy  
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
 
4081
2001-01-09  Oskar Liljeblad 
4082
 
4083
        Fix for PR libgcj/1338:
4084
        * java/io/StreamTokenizer.java (nextToken): Handle // and /* before
4085
        commentChar.  Fixed typos in comments.
4086
 
4087
2001-01-08  Warren Levy  
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
 
4108
2001-01-08  Bryce McKinlay  
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
 
4138
2001-01-08  Tom Tromey  
4139
 
4140
        Fix for PR java/1586:
4141
        * Makefile.in: Rebuilt.
4142
        * Makefile.am (AUTOMAKE_OPTIONS): Added no-dependencies.
4143
 
4144
2001-01-08  Bryce McKinlay  
4145
 
4146
        * Makefile.am: Use the new "-M -MF" option for generating dependencies
4147
        from the c++ compiler.
4148
        * Makefile.in: Rebuilt.
4149
 
4150
2001-01-07  Alexandre Petit-Bianco  
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
 
4174
2001-01-07  Anthony Green  
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
 
4194
2001-01-07  Anthony Green  
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
 
4201
2001-01-06  Anthony Green  
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
 
4211
2001-01-06  Bryce McKinlay  
4212
 
4213
        * java/io/PipedReader: Synchronize on "lock" instead of this.
4214
 
4215
2001-01-05  Bryce McKinlay  
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
 
4225
2001-01-03  Tom Tromey  
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
 
4233
2001-01-02  Tom Tromey  
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
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.