OSDN Git Service

* java/text/CollationKey.java: Implement Comparable.
[pf3gnuchains/gcc-fork.git] / libjava / ChangeLog
1 2000-11-17  Tom Tromey  <tromey@cygnus.com>
2
3         * java/text/CollationKey.java: Implement Comparable.
4         (compareTo(Object)): New method.
5         * java/text/Collator.java (compare(Object,Object)): New method.
6         Implement Comparator.
7
8         * java/util/zip/InflaterInputStream.java (available): New method.
9         (close): New method.
10         (read, available, skip, fill): Throw exception if stream closed.
11         * java/util/zip/ZipInputStream.java (read, skip, readFully, fill,
12         getNextEntry): Throw exception if closed.
13
14 2000-11-16  Tom Tromey  <tromey@cygnus.com>
15
16         * java/io/PushbackReader.java: Merged with Classpath.
17         * java/util/Arrays.java: Updated from Classpath.
18
19         * scripts/blocks.pl: New file.
20         * java/lang/Character.java (Subset): New class.
21         (UnicodeBlock): New class.
22
23         * java/lang/Math.java (toDegrees, toRadians): New methods.
24
25         * java/lang/Float.java: Implement Comparable.
26         (compareTo): New methods.
27         * java/lang/Double.java: Implement Comparable.
28         (compareTo): New methods.
29
30 2000-11-16  Warren Levy  <warrenl@cygnus.com>
31
32         * java/beans/PropertyChangeSupport.java (propertyListeners): Made
33         transient.
34         (listeners): Made transient.
35         (source): Renamed from 'bean'.
36         (children): New field for serialization.
37         (propertyChangeSupportSerializedDataVersion): Ditto.
38         (serialVersionUID): Ditto.
39         (writeObject): New serialization method.
40         (readObject): New serialization method.
41         * java/beans/VetoableChangeSupport.java (propertyListeners): Made
42         transient.
43         (listeners): Made transient.
44         (source): Renamed from 'bean'.
45         (children): New field for serialization.
46         (vetoableChangeSupportSerializedDataVersion): Ditto.
47         (serialVersionUID): Ditto.
48         (writeObject): New serialization method.
49         (readObject): New serialization method.
50         * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Fixed assert
51         to allow constructor to have a return type (i.e. the class that the
52         constructor constructs).
53
54 2000-11-14  Tom Tromey  <tromey@cygnus.com>
55
56         * Makefile.in: Rebuilt.
57         * Makefile.am (libgcj.zip): Fail immediately if compilation fails
58         and -k not given.
59
60 2000-11-02  Warren Levy  <warrenl@cygnus.com>
61
62         * java/io/ObjectInputStream.java (readObject): Added code to
63         conditionally dump out the serialized data.
64         Handle ENDBLOCKDATA case a bit more gracefully since the current
65         behavior doesn't seem to work as expected.
66         (readStreamHeader): Added code for serialized data dumper.
67         (readNextBlock): Ditto.
68         (readFields): Ditto.
69         (dump): New private static field for turning on/off dumper.
70         (setDump): New native method.
71         (dumpElement): New native method.
72         (dumpElementln): New native method.
73         * java/io/natObjectInputStream.cc (setDump): New method.
74         (dumpElement): New method.
75         (dumpElementln): New method.
76
77 2000-11-02  Warren Levy  <warrenl@cygnus.com>
78
79         * java/net/InetAddress.java (addr): Renamed from 'address'.
80         (address): New field to match Serialized Form doc.
81         (hostName): Renamed from 'hostname' to match Serialized Form doc.
82         (family): New serialization field.
83         (serialVersionUID): New field.
84         (readObject): New method.
85         (writeObject): New method.
86         (getFamily): New native method.
87         (InetAddress): Set family.
88         * java/net/natInetAddress.cc (getFamily): New method.
89         (addr): Renamed from 'address'.
90         (hostName): Renamed from 'hostname' to match Serialized Form doc.
91         * java/net/natPlainDatagramSocketImpl.cc (addr): Renamed from 'address'.
92         * java/net/natPlainSocketImpl.cc (addr): Renamed from 'address'.
93
94 2000-11-03  Bryce McKinlay  <bryce@albatross.co.nz>
95
96         * java/util/AbstractList.java (SubList): Make it a top-level private
97         class.
98         * java/util/LinkedList.java (remove): Do update modCount and knownMod.
99         (add): Ditto.
100         * Makefile.am (ordinary_java_source_files): Add LinkedList.java.
101         * Makefile.in: Rebuilt.
102
103 2000-11-02  Tom Tromey  <tromey@cygnus.com>
104
105         * Makefile.in: Rebuilt.
106         * Makefile.am (install-exec-hook): Make `.la' link, not `.so'
107         link.
108
109 2000-11-02  Bryce McKinlay  <bryce@albatross.co.nz>
110
111         * java/util/AbstractList.java (remove): Comment out modCount increment
112         to work around compiler bug.
113         (add): Ditto.
114
115 2000-11-02  Bryce McKinlay  <bryce@albatross.co.nz>
116
117         * java/util/AbstractList.java: Throw messages with 
118         IndexOutOfBoundsExceptions.
119          (listIterator()): Call listIterator(0).
120         (size): New field. Initialize to size().
121         (hasNext): Test position against size, not size().
122         (remove): Increment knownMod by one instead of resetting it from 
123         modCount.
124         (add): Ditto.
125         (SubList.upMod): Removed.
126         (SubList.set): Don't call upMod() or update knownMod.
127         (SubList.add(int,Object)): Increment modCount instead of caling upMod().
128         (SubList.remove): Ditto.
129         (SubList.addAll): Don't call backingList.size(). Increment size from 
130         c.size().
131         (SubList.iterator): New method. Call listIterator(0).
132         (SubList.listIterator): New method. Restore code to return an anonymous
133         listIterator implementation (with some changes).
134         * java/util/AbstractSequentialList.java: Throw messages with 
135         IndexOutOfBoundsExceptions.
136         (addAll): Add a specnote.
137         * java/util/ArrayList.java (removeRange): Get the math right.
138         (addAll): Increment modCount _before_ creating iterator.
139         * java/util/LinkedList.java: Rewritten, mostly.
140
141 2000-11-01  Tom Tromey  <tromey@cygnus.com>
142
143         * scripts/encodings.pl: Added `ASCII' alias.
144         * Makefile.in: Rebuilt.
145         * Makefile.am (convert_source_files): Added new files.
146         * gnu/gcj/convert/Input_ASCII.java: New file.
147         * gnu/gcj/convert/Output_ASCII.java: New file.
148         * gnu/gcj/convert/Output_8859_1.java (write): Use `?' to represent
149         out-of-range characters.
150         * gnu/gcj/convert/natIconv.cc (iconv_init): New method.
151         (read): Swap bytes if required.  Treat `count' as character count,
152         not byte count.
153         (write): Likewise.  Also, handle case where iconv fails on a given
154         character.
155         (init): Put encoding into exception.
156         * gnu/gcj/convert/IOConverter.java (iconv_byte_swap): New global.
157         (static): Call iconv_init.  Rebuilt alias list.
158         (iconv_init): New private method.
159
160 2000-11-01  Tom Tromey  <tromey@cygnus.com>
161
162         * Makefile.in: Rebuilt.
163         * Makefile.am (install-exec-hook): Only make a single symlink, and
164         remove the destination before making the link.
165         * configure: Rebuilt.
166         * configure.in: Call AC_PROG_LN_S.
167
168 2000-10-31  Warren Levy  <warrenl@cygnus.com>
169
170         * jni.cc: Added include of java/lang/ThreadGroup.h.
171         * gcj/javaprims.h: Removed Replaceable and Resolvable from namespace
172         per change of 2000-10-05.
173
174 2000-10-30  Bryce McKinlay  <bryce@albatross.co.nz>
175
176         * java/util/BitSet.java: Updated @specnote.
177
178         * java/io/Reader.java: Merge docs from classpath.
179         (skip): Synchronize on `lock'.
180         * java/io/FileReader.java: Import correct implementation from 
181         classpath.
182         * java/io/StringReader.java: Merge docs from classpath.
183         (ready): Throw IOException if stream is closed.
184
185 2000-10-29  Bryce McKinlay  <bryce@albatross.co.nz>
186
187         * java/util/AbstractCollection.java (addAll): Use size() instead of
188         hasNext() in iterator loop.
189         (clear): Ditto.
190         (contains): Ditto. Simplify loop.
191         (containsAll): Ditto.
192         (remove): Ditto.
193         (removeAll): Ditto.
194         (retainAll): Ditto.
195         (toArray): Ditto.
196         (toString): Ditto. Use string concatenation operators, not
197         StringBuffer.
198         * java/util/AbstractList.java (addAll): Use size() instead of
199         hasNext() in iterator loop.
200         (equals): Ditto.
201         (hashCode): Ditto.
202         (indexOf): Ditto. Don't take null check outside of the loop.
203         (iterator): Return an AbstractListItr instead of anonymous class.
204         (lastIndexOf): Use a for loop bounded by size() instead of 
205         hasPrevious() in iterator loop.
206         (listIterator): Return an AbstractListItr.
207         (removeRange): Remove bounds checking code and docs.
208         (AbstractListItr): New inner class. Code moved here from 
209         listIterator().
210         (SubList.iterator): Removed. Use default implementation from 
211         AbstractList instead.
212         (SubList.listIterator): As above.
213         * java/util/AbstractMap.java (clear): Use a for loop bounded by size() 
214         instead of hasNext() in iterator loop.
215         (containsValue): Ditto.
216         (equals): Ditto.
217         (get): Ditto.
218         (put): Ditto.
219         (putAll): Ditto.
220         (remove): Ditto.
221         (toString): Ditto. Use string concatenation operators, not
222         StringBuffer.
223         * java/util/AbstractSequentialList.java (addAll): Use a for loop 
224         bounded by size() instead of hasNext() in iterator loop.
225         * java/util/AbstractSet.java (hashCode): Don't catch exception as
226         part of normal execution flow. Do an explicit null check instead.
227         * java/util/ArrayList.java (_iSize): Rename to `size'.
228         (_arData): Rename to `data'.
229         (get): Check lower bounds also. Simplify IndexOutOfBoundsException
230         message.
231         (remove): Ditto.
232         (removeRange): Make protected. Don't check bounds.
233         (add): Check lower bounds also. Simplify IndexOutOfBoundsException
234         message.
235         (addAll (Collection)): Use a size-bounded for loop instead of hasNext() 
236         check.
237         (addAll (int, Collection)): Check lower bounds. Simplify exception
238         string.
239         (clone): Clone the data array too.
240         (indexOf): Inline doesEqual().
241         (lastIndexOf): Ditto.
242         (clear): Don't set array data to null.
243         (set): Check lower bounds. Simplify exception string.
244         (toArray): Correct comment.
245         (trimToSize): Don't update modCount, this is not a structural change.
246         Add comment.
247         
248         * java/util/BitSet.java: Merged with classpath, new JDK 1.2 methods
249         implemented.
250         (toString): Declare `bit' as long, not int.
251         (data): Made package-private, not private.      
252
253 2000-10-27  Warren Levy  <warrenl@cygnus.com>
254
255         * java/util/natGregorianCalendar.cc (computeFields): Set the isSet__
256         array elements to true.
257
258 2000-10-27  Warren Levy  <warrenl@cygnus.com>
259
260         * Makefile.am: Added locale files from Classpath.
261         * Makefile.in: Rebuilt.
262         * gnu/java/locale/Calendar.java: New file.
263         * gnu/java/locale/Calendar_de.java: New file.
264         * gnu/java/locale/Calendar_en.java: New file.
265         * gnu/java/locale/Calendar_nl.java: New file.
266         * java/lang/ClassNotFoundException.java: Replaced with Classpath file.
267         * java/math/BigDecimal.java (intVal): Renamed from 'num' for
268         serialization compatibility.
269         (scale): Made private.
270         (serialVersionUID): New field.
271         * java/math/BigInteger.java (ival): Made transient.
272         (words): Made transient.
273         (bitCount): New serialization field.
274         (bitLength): Ditto.
275         (firstNonzeroByteNum): Ditto.
276         (lowestSetBit): Ditto.
277         (magnitude): Ditto.
278         (signum): Ditto.
279         (serialVersionUID): New field.
280         (readObject): New method.
281         (writeObject): New method.
282         * java/util/BitSet.java (serialVersionUID): New field.
283         * java/util/Calendar.java: Replaced with Classpath file.
284         * java/util/GregorianCalendar.java (GregorianCalendar): Pass result
285         of getDefault() for TimeZone or Locale instead of passing nulls.
286         * java/util/Locale.java (serialVersionUID): New field.
287         (writeObject): New method.
288         (readObject): New method.
289         * java/util/SimpleTimeZone.java: Replaced with Classpath file.
290
291 2000-10-25  Bryce McKinlay  <bryce@albatross.co.nz>
292
293         * Makefile.am (GCJCOMPILE): Pass --tag=GCJ to libtool.
294         (core_java_source_files): Put java.lang, java.io, and java.util here.
295         (ordinary_java_source_files): Order so that core_java_source_files are 
296         built first.
297         (java_source_files): Reorder so that special_java_source_files are 
298         built first.
299         * configure.in: Don't pass -I flag to gcj.
300         * Makefile.in: Rebuilt.
301         * configure: Rebuilt.
302
303 2000-10-25  Tom Tromey  <tromey@cygnus.com>
304
305         * Makefile.in: Rebuilt.
306         * Makefile.am (install-exec-hook): New target.
307
308 2000-10-24  Bryce McKinlay  <bryce@albatross.co.nz>
309
310         * java/util/EventObject.java: Merged from classpath.
311         
312         * java/lang/ThreadGroup.java (uncaughtException): Print thread name
313         with stack dump.
314
315 2000-10-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>
316
317         * java/util/AbstractSet.java (equals): Re-installed original code.
318
319 2000-10-22  Rolf W. Rasmussen  <rolfwr@ii.uib.no>
320
321         * Makefile.am: Added rules for libgcjx library.
322         * Makefile.in: Rebuilt.
323         * configure.in: Added check for X.
324         * configure: Rebuilt.
325         * gnu/awt/LightweightRedirector.java: New file.
326         * gnu/awt/j2d/AbstractGraphicsState.java: New file.
327         * gnu/awt/j2d/DirectRasterGraphics.java: New file.
328         * gnu/awt/j2d/Graphics2DImpl.java: New file.
329         * gnu/awt/j2d/IntegerGraphicsState.java: New file.
330         * gnu/awt/j2d/MappedRaster.java: New file.
331         * gnu/awt/xlib/XCanvasPeer.java: New file.
332         * gnu/awt/xlib/XEventLoop.java: New file.
333         * gnu/awt/xlib/XEventQueue.java: New file.
334         * gnu/awt/xlib/XFontMetrics.java: New file.
335         * gnu/awt/xlib/XFramePeer.java: New file.
336         * gnu/awt/xlib/XGraphics.java: New file.
337         * gnu/awt/xlib/XGraphicsConfiguration.java: New file.
338         * gnu/awt/xlib/XPanelPeer.java: New file.
339         * gnu/awt/xlib/XToolkit.java: New file.
340         * gnu/gcj/xlib/Clip.java: New file.
341         * gnu/gcj/xlib/Colormap.java: New file.
342         * gnu/gcj/xlib/Display.java: New file.
343         * gnu/gcj/xlib/Drawable.java: New file.
344         * gnu/gcj/xlib/Font.java: New file.
345         * gnu/gcj/xlib/GC.java: New file.
346         * gnu/gcj/xlib/Pixmap.java: New file.
347         * gnu/gcj/xlib/Screen.java: New file.
348         * gnu/gcj/xlib/Visual.java: New file.
349         * gnu/gcj/xlib/WMSizeHints.java: New file.
350         * gnu/gcj/xlib/Window.java: New file.
351         * gnu/gcj/xlib/WindowAttributes.java: New file.
352         * gnu/gcj/xlib/XAnyEvent.java: New file.
353         * gnu/gcj/xlib/XButtonEvent.java: New file.
354         * gnu/gcj/xlib/XColor.java: New file.
355         * gnu/gcj/xlib/XConfigureEvent.java: New file.
356         * gnu/gcj/xlib/XConnectException.java: New file.
357         * gnu/gcj/xlib/XEvent.java: New file.
358         * gnu/gcj/xlib/XException.java: New file.
359         * gnu/gcj/xlib/XExposeEvent.java: New file.
360         * gnu/gcj/xlib/XID.java: New file.
361         * gnu/gcj/xlib/XImage.java: New file.
362         * gnu/gcj/xlib/XUnmapEvent.java: New file.
363         * gnu/gcj/xlib/natClip.cc: New file.
364         * gnu/gcj/xlib/natColormap.cc: New file.
365         * gnu/gcj/xlib/natDisplay.cc: New file.
366         * gnu/gcj/xlib/natDrawable.cc: New file.
367         * gnu/gcj/xlib/natFont.cc: New file.
368         * gnu/gcj/xlib/natGC.cc: New file.
369         * gnu/gcj/xlib/natPixmap.cc: New file.
370         * gnu/gcj/xlib/natScreen.cc: New file.
371         * gnu/gcj/xlib/natVisual.cc: New file.
372         * gnu/gcj/xlib/natWMSizeHints.cc: New file.
373         * gnu/gcj/xlib/natWindow.cc: New file.
374         * gnu/gcj/xlib/natWindowAttributes.cc: New file.
375         * gnu/gcj/xlib/natXAnyEvent.cc: New file.
376         * gnu/gcj/xlib/natXButtonEvent.cc: New file.
377         * gnu/gcj/xlib/natXColor.cc: New file.
378         * gnu/gcj/xlib/natXConfigureEvent.cc: New file.
379         * gnu/gcj/xlib/natXException.cc: New file.
380         * gnu/gcj/xlib/natXExposeEvent.cc: New file.
381         * gnu/gcj/xlib/natXImage.cc: New file.
382         * gnu/gcj/xlib/natXUnmapEvent.cc: New file.
383         * java/awt/EventDispatchThread.java: Start thead on creation.
384
385 2000-10-20  Tom Tromey  <tromey@cygnus.com>
386
387         From Arno J. Klaassen:
388         * interpret.cc: Include <stdlib.h> for alloca.
389         * defineclass.cc: Include <stdlib.h> for alloca.
390
391         * Makefile.in: Rebuilt.
392         * Makefile.am: Include deps.mk.
393         (GCJCOMPILE): Added -MD, -MT, and -MF.
394         ($(javao_files)): Don't depend on libgcj.zip.
395         (all-recursive): New target.
396         (%.lo:%.cc): Do dependency tracking.
397         ($(nat_headers)): Don't depend on libgcj.zip.
398         * configure: Rebuilt.
399         * configure.in: Make .d files and deps.mk.
400
401 2000-10-13  Bryce McKinlay  <bryce@albatross.co.nz>
402
403         * exception.cc: Don't #include "exception".
404         (_Jv_eh_alloc): Call abort (), not terminate (), if malloc fails.
405
406         * Makefile.am (libgcj_la_LDFLAGS): Link in libsupc++.
407         * Makefile.in: Updated.
408
409 2000-10-11  Bryce McKinlay  <bryce@albatross.co.nz>
410
411         * java/awt/peer/ChoicePeer.java (addItem): Removed.
412         * java/awt/peer/ComponentPeer.java (disable): Removed.
413         (enable): Removed.
414         (hide): Removed.
415         (minimumSize): Removed.
416         (preferredSize): Removed.
417         (reshape): Removed.
418         (show): Removed.
419         * java/awt/peer/ListPeer.java (addItem): Removed.
420         (clear): Removed.
421         (minimumSize): Removed.
422         (preferredSize): Removed.
423         (setMultipleSelections): Removed.
424         * java/awt/peer/MenuBarPeer.java (add): Renamed from addMenu.
425         (remove): Renamed from removeMenu.
426         * java/awt/peer/MenuItemPeer.java (disable): Removed.
427         (enable): Removed.
428         * java/awt/peer/MenuPeer.java (add): Renamed from addItem.
429         (remove): Renamed from removeItem.
430         * java/awt/peer/TextAreaPeer.java (insertText): Removed.
431         (getMinimumSize): Removed.
432         (getPreferredSize): Removed.
433         (minimumSize): Removed.
434         (preferredSize): Removed.
435         (replaceText): Removed.
436         * java/awt/peer/TextFieldPeer.java (minimumSize): Removed.
437         (preferredSize): Removed.
438         (getMinimumSize): Removed.
439         (getPreferredSize): Removed.
440         (setEchoCharacter): Removed.
441
442 2000-10-10  Warren Levy  <warrenl@cygnus.com>
443
444         * gnu/gcj/text/LocaleData_en.java (monetarySeparator): Added.
445         * java/sql/Date.java (serialVersionUID): New field.
446         * java/sql/Time.java (serialVersionUID): New field.
447         * java/sql/Timestamp.java (serialVersionUID): New field.
448         * java/text/ChoiceFormat.java (serialVersionUID): New field.
449         * java/text/DateFormat.java (getDateTimeInstance (int)): Removed.
450         * java/text/DateFormatSymbols.java (serialVersionUID): New field.
451         * java/text/DecimalFormat.java (serialVersionOnStream): New field.
452         (readObject): New serialization method.
453         * java/text/DecimalFormatSymbols.java (monetarySeparator): New field.
454         (serialVersionOnStream): New field.
455         (readObject): New serialization method.
456         (getMonetaryDecimalSeparator): New method.
457         (setMonetaryDecimalSeparator): New method.
458         * java/text/NumberFormat.java (maxFractionDigits): New field.
459         (maxIntegerDigits): New field.
460         (minFractionDigits): New field.
461         (minIntegerDigits): New field.
462         (serialVersionOnStream): New field.
463         (serialVersionUID): New field.
464         (readObject): New serialization method.
465         (writeObject): New serialization method.
466         * java/text/SimpleDateFormat.java (defaultCenturyStart): Initialized.
467         (serialVersionOnStream): New field.
468         (serialVersionUID): New field.
469         (readObject): New serialization method.
470
471 2000-10-09  Alexandre Oliva  <aoliva@redhat.com>
472
473         * configure.in (GCJ): Avoid bogus error message when looking for
474         (and not finding) gcj in the build tree.
475         * configure: Rebuilt.
476
477 2000-10-09  Tom Tromey  <tromey@cygnus.com>
478
479         * configure: Rebuilt.
480         * configure.in: Include sys/types.h when checking for socklen_t.
481         From Arno J. Klaassen.
482
483 2000-10-09  Bryce McKinlay  <bryce@albatross.co.nz>
484
485         * include/jvm.h: Enable __builtin_expect().
486
487         * name-finder.cc (lookup): Don't trust dladdr() if the address is from 
488         the main program. Fix for PR libgcj/341.
489
490 2000-10-07  Tom Tromey  <tromey@cygnus.com>
491
492         * java/util/Properties.java: Merged with Classpath version.
493
494 2000-10-05  Tom Tromey  <tromey@cygnus.com>
495
496         * java/lang/reflect/natField.cc (BooleanClass): Don't define.
497         * java/lang/reflect/natArray.cc (BooleanClass): Don't define.
498         * java/lang/Class.h (Object): Added `class$' field.
499         * java/lang/Object.h (Object): Added `class$' field.
500         * defineclass.cc (ClassClass): Use `class$' form.
501         (ClassObject): Likewise.
502         * resolve.cc (ClassObject): Use `class$' form.
503         (ObjectClass): Likewise.
504         * interpret.cc (ClassError): Removed.
505         * java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Use
506         `class$' form.
507         (IntegerClass): Likewise.
508         * java/net/natPlainSocketImpl.cc (BooleanClass): Use `class$'
509         form.
510         * java/lang/natClassLoader.cc (CloneableClass): Use `class$' form.
511         (ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass,
512         SerializableClass): Likewise.
513         Include Serializable.h, Cloneable.h.
514         * java/lang/natSystem.cc (SystemClass): Removed.
515         (init_properties): Use `class$' form.
516         * java/lang/natObject.cc (CloneableClass): Removed.
517         (clone): Use `class$' form.
518         * java/lang/natClass.cc (CloneableClass): Use `class$' form.
519         (ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass,
520         ConstructorClass): Likewise.
521         * java/lang/reflect/natMethod.cc (ObjectClass): Use `class$' form.
522         (ClassClass, VoidClass, ByteClass, ShortClass, CharacterClass,
523         IntegerClass, LongClass, FloatClass, DoubleClass): Likewise.
524         * java/io/natObjectInputStream.cc (ObjectClass): Use `class$'
525         form.
526         (ClassClass): Likewise.
527         * include/jvm.h (StringClass): Use `class$' form.
528         * prims.cc (ObjectClass): Removed.
529         (_Jv_RunMain): Use `class$' form.
530         (_Jv_AllocObject): Likewise.
531         * jni.cc (ClassClass): Use `class$' form.
532         (ThrowableClass): Likewise.
533         (ObjectClass): Likewise.
534         (MethodClass): Likewise.
535         (ThreadGroupClass): Likewise.
536         (NativeThreadClass): Likewise.
537         * boehm.cc (ObjectClass): Removed.
538         (ClassClass): Removed.
539         (_Jv_MarkObj): Use `class$' form.
540         * gcj/field.h (JvFieldIsRef): Use `class$' form.
541         Include RawData.h.
542
543 2000-10-05  Warren Levy  <warrenl@cygnus.com>
544
545         * Makefile.am: Removed java/io/Replaceable.java and
546         java/io/Resolvable.java.
547         * Makefile.in: Rebuilt.
548         * gcj/javaprims.h: Removed Replaceable and Resolvable from java.io
549         namespace.
550         * java/io/ObjectInputStream.java (processResolution): Fixed typo
551         in method name.
552         (processResolution): Handle readResolve method via reflection with
553         removal of Resolvable interface.
554         * java/io/ObjectOutputStream.java (writeObject): Handle writeReplace
555         method via reflection with removal of Replaceable interface.
556         * java/io/Replaceable.java: Removed.
557         * java/io/Resolvable.java: Removed.
558         * java/security/Key.java (serialVersionUID): New field.
559         * java/security/Provider.java (serialVersionUID): New field.
560         * java/security/interfaces/DSAPrivateKey.java (serialVersionUID):
561         New field.
562         * java/security/interfaces/DSAPublicKey.java (serialVersionUID):
563         New field.
564         * java/sql/DataTruncation.java (serialVersionUID): New field.
565         * java/sql/SQLException.java (serialVersionUID): New field.
566         * java/sql/SQLWarning.java (serialVersionUID): New field.
567         * java/util/Date.java (serialVersionUID): New field.
568         (millis): Made transient.
569         (readObject): New method.
570         (writeObject): New method.
571
572 2000-10-05  Tom Tromey  <tromey@cygnus.com>
573
574         * gnu/gcj/convert/natIconv.cc (init): Terminate buffer.
575
576 2000-10-02  Bryce McKinlay  <bryce@albatross.co.nz>
577
578         * prims.cc (_Jv_argv, _Jv_argc): New fields.
579         (JvRunMain): Set _Jv_argv and _Jv_argc.
580         * java/awt/Component.java: Minor fixes.
581         * java/awt/Image.java (UndefinedProperty): Initialize final field.
582         * java/awt/Toolkit.java (systemEventQueue): Removed.
583         (getDefaultToolkit): Default to "gnu.awt.gtk.GtkToolkit".
584         * java/awt/Window.java (getToolkit): Don't call super.
585         * java/awt/image/BufferedImage.java: Fix definate assignment errors.
586         * java/awt/peer/ContainerPeer.java (insets): Remove unused method.
587         * gnu/awt/gtk/GtkComponentPeer.java: New file.
588         * gnu/awt/gtk/GtkContainerPeer.java: New file.
589         * gnu/awt/gtk/GtkFramePeer.java: New file.
590         * gnu/awt/gtk/GtkMainThread.java: New file.
591         * gnu/awt/gtk/GtkToolkit.java: New file.
592         * gnu/awt/gtk/GtkWindowPeer.java: New file.
593         * gnu/awt/gtk/gtkcommon.cc: New file.
594         * gnu/awt/gtk/gtkcommon.h: New file.
595         * gnu/awt/gtk/natGtkComponentPeer.cc: New file.
596         * gnu/awt/gtk/natGtkContainerPeer.cc: New file.
597         * gnu/awt/gtk/natGtkFramePeer.cc: New file.
598         * gnu/awt/gtk/natGtkMainThread.cc: New file.
599         * gnu/awt/gtk/natGtkToolkit.cc: New file.
600         * gnu/awt/gtk/natGtkWindowPeer.cc: New file.
601
602 2000-09-30  Tom Tromey  <tromey@cygnus.com>
603
604         * posix-threads.cc (_Jv_CondWait): Check to see if we are
605         interrupted before modifying the cv's wait set.
606         From Corey Minyard.
607
608 2000-09-30  Hans Boehm  <boehm@acm.org>
609             Bryce McKinlay  <bryce@albatross.co.nz>
610             
611         Implement bitmap descriptor based marking for Boehm GC.
612
613         * configure.in: Define JC1GCSPEC. Set it if boehm-gc is used.
614         * configure: Rebuilt.
615         * libgcj.spec.in: Pass JC1GCSPEC to jc1.
616         * include/jvm.h (struct _Jv_VTable): New field `gc_descr'. New inline
617         method get_finalizer().
618         (struct _Jv_ArrayVTable): Ditto. Declare method array with 
619         NUM_OBJECT_METHODS elements instead of NUM_OBJECT_METHODS + 1.
620         (_Jv_AllocObj): Add new jclass parameter.
621         (_Jv_AllocArray): Ditto.
622         (_Jv_BuildGCDescr): New prototype.
623         * prims.cc (_Jv_AllocObject): Rename parameter `c' to `klass'. Pass
624         `klass' to _Jv_AllocObj. Don't set the new object's vtable. Use
625         get_finalizer() instead of direct finalizer vtable offset.
626         (_Jv_NewObjectArray): Rename parameter `clas' to `klass'. Pass
627         `klass' to _Jv_AllocArray. Don't set the new array's vtable.
628         (_Jv_NewPrimArray): Call _Jv_FindArrayClass before _Jv_AllocObj. Pass
629         `klass' to _Jv_AllocObj. Don't set the new array's vtable.
630         * resolve.cc (METHOD_NOT_THERE, METHOD_INACCESSIBLE): New #defines.
631         (_Jv_ResolvePoolEntry): Use METHOD_NOT_THERE and METHOD_INACCESSIBLE.
632         (_Jv_DetermineVTableIndex): Ditto.
633         (_Jv_PrepareClass): Ditto. Remove offset-by-one adjustments from vtable 
634         calculations to account for new gc_descr field.
635         * boehm.cc: #include gc_gcj.h.
636         (obj_kind_x, obj_free_list): `#if 0'-ed away.
637         (_Jv_MarkObj): Check that vtable doesn't point to a cleared object.
638         New commentary from HB. Mark the classes vtable.
639         (_Jv_MarkArray): Check that vtable doesn't point to a cleared object.
640         (GC_DEFAULT_DESCR): New #define.
641         (_Jv_BuildGCDescr): New function. Use GC_DEFAULT_DESCR, for now.        
642         (_Jv_AllocObj): New parameter `klass'. Use GC_GCJ_MALLOC ().
643         (_Jv_AllocArray): New parameter `klass'. Allocate with GC_MALLOC and
644         scan conservativly if size is less than min_heap_addr. Set vtable 
645         pointer of new object before returning.
646         (_Jv_AllocBytes): Use GC_MALLOC_ATOMIC, not GC_GENERIC_MALLOC.
647         (_Jv_InitGC): Call GC_init_gcj_malloc(). Don't set up marking and
648         allocation for obj_kind_x.
649         * nogc.cc (_Jv_BuildGCDescr): New function. Return 0.
650         (_Jv_AllocObj): Set vtable on returned object.
651         (_Jv_AllocArray): Ditto.
652         * java/lang/Class.h (_Jv_NewObjectArray): No longer a friend.
653         (_Jv_NewPrimArray): Ditto.
654         (_Jv_AllocObj): Declare as a friend.
655         (_Jv_AllocArray): Ditto.        
656         * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Copy gc_descr
657         from &ObjectClass into new array class. Remove offset-by-one 
658         adjustments from `method' size calculations to account for gc_descr 
659         field.
660
661 2000-09-26  Tom Tromey  <tromey@cygnus.com>
662
663         * java/awt/Scrollbar.java (removeAdjustmentListener): Use
664         `remove', not `add'.
665
666 2000-09-26  Alexandre Petit-Bianco  <apbianco@cygnus.com>
667
668         * java/lang/natSystem.cc (file_encoding): Added return statement.
669
670 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
671
672         * Makefile.am: Re-work shell commands that exceeded command-line
673         length limits.
674         * Makefile.in: Rebuilt.
675
676         * java/lang/natRuntime.cc (lt_preloaded_symbols): Define as `extern'.
677
678         * defineclass.cc: Include alloca.h only if HAVE_ALLOCA_H.
679         * java/lang/natDouble.cc: Likewise.
680         * java/lang/reflect/natMethod.cc: Likewise.
681         * interpret.cc: Likewise.  Fix NULLCHECKs that tested a _Jv_word.
682
683 2000-09-13  Alexandre Oliva  <aoliva@redhat.com>
684
685         * configure.in (LIBDATASTARTSPEC): Use `%s' to search for
686         libgcjdata.a.
687         (GCJ): Support single-tree builds.  Add -B`pwd`/ and -I$srcdir.
688         * acinclude.m4: Arrange for automake to not bring in a new
689         libtool.m4 for LT_AC_PROG_GCJ.  AC_SUBST GCJ.
690         * Makefile.am: Leave it up to automake to subst GCJ.
691         * aclocal.m4, configure, Makefile.in: Rebuilt.
692
693 2000-09-13  Tom Tromey  <tromey@cygnus.com>
694
695         * java/lang/reflect/natArray.cc (BooleanClass): New define.
696         (get): Ensure Boolean class is initialized.
697         * java/lang/reflect/natField.cc (BooleanClass): New define.
698         (get): Ensure Boolean class is initialized.
699
700 2000-09-13  Bryce McKinlay  <bryce@albatross.co.nz>
701
702         * java/lang/String.java (CASE_INSENSITIVE_ORDER): New static field.
703         Initialize with anonymous class.
704         (compareToIgnoreCase): New method.
705         
706         * java/lang/ThreadGroup.java (had_uncaught_exception): New field.
707         (uncaughtException): Set had_uncaught_exception.
708         * prims.cc (JvRunMain): Check value of had_uncaught_exception and
709         exit with error status if set.
710         (_Jv_RunMain): Ditto.
711
712 2000-09-12  Alexandre Oliva  <aoliva@redhat.com>
713
714         * configure: Rebuilt with new ../libtool.m4.
715
716 2000-09-11  Tom Tromey  <tromey@cygnus.com>
717
718         * java/lang/reflect/Field.java (toString): Don't rely on
719         Class.toString.
720
721 2000-09-08  Tom Tromey  <tromey@cygnus.com>
722
723         * gnu/gcj/convert/BytesToUnicode.java (getDefaultDecoder): Let
724         default decoder use iconv.
725         * gnu/gcj/convert/UnicodeToBytes.java (getDefaultEncoder):
726         Let default encoder use iconv.
727         * configure: Rebuilt.
728         * configure.in: Check for nl_langinfo and <langinfo.h>.
729         * java/lang/natSystem.cc (file_encoding): New function.
730         (DEFAULT_FILE_ENCODING): Define to file_encoding() if possible.
731
732 2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
733
734         * acinclude.m4: Simplify the tests for CC and CXX.
735         * aclocal.m4, configure: Rebuilt.
736
737         * acinclude.m4: Include libtool macros from the source tree.
738         * aclocal.m4, configure: Rebuilt.
739
740 2000-09-08  Warren Levy  <warrenl@cygnus.com>
741
742         * java/beans/PropertyChangeEvent.java (serialVersionUID): Added.
743         * java/beans/PropertyVetoException.java (serialVersionUID): Added.
744         * java/io/File.java (writeObject): Added.
745         (readObject): Added.
746         (serialVersionUID): Added.
747         * java/io/ObjectOutputStream.java (writeObject): Initialized
748         fieldsAlreadyWritten before recursion rather than after.
749         * java/io/ObjectStreamClass.java (serialVersionUID): Added.
750         * java/io/OptionalDataException.java (serialVersionUID): Added.
751         (OptionalDataException): Made package private.
752         * java/io/SyncFailedException.java (SyncFailedException): Removed
753         default constructor to match spec.
754         * java/lang/Boolean.java (serialVersionUID): Added.
755         * java/lang/Byte.java (serialVersionUID): Added.
756         * java/lang/Character.java (serialVersionUID): Added.
757         * java/lang/Double.java (serialVersionUID): Added.
758         * java/lang/Float.java (serialVersionUID): Added.
759         * java/lang/Integer.java (serialVersionUID): Added.
760         * java/lang/Long.java (serialVersionUID): Added.
761         * java/lang/Number.java (serialVersionUID): Added.
762         * java/lang/Short.java (serialVersionUID): Added.
763         * java/lang/String.java (serialVersionUID): Added.
764         * java/lang/ThreadDeath.java (ThreadDeath): Removed constructor
765         to match spec.
766         * java/lang/reflect/InvocationTargetException.java
767         (serialVersionUID): Added.
768         * java/net/URL.java (handler): Made transient.
769         (hashCode): Added field for serialization, per spec. and use
770         cached value if available.
771         (serialVersionUID): Added.
772         (URL): Initialize hashCode.
773         (set): Adjust hashCode.
774         (readObject): New Method to initialize the protocol handler when
775         deserializing.
776         (writeObject): New method.
777         * java/text/BreakIterator.java: Removed 'implements Serializable'.
778         * java/text/Collator.java: Removed 'implements Serializable'.
779         * java/util/GregorianCalendar.java (serialVersionUID): Added.
780         * java/util/Properties.java (serialVersionUID): Added.
781         * java/util/Random.java (serialVersionUID): Added.
782         (seed): Made private.
783         (nextNextGaussian): Made private.
784         (haveNextNextGaussian): Made private.
785         * java/util/Stack.java (serialVersionUID): Added.
786         * java/util/TimeZone.java (serialVersionUID): Added.
787         * java/util/Vector.java (serialVersionUID): Added.
788
789 2000-09-07  Bryce McKinlay  <bryce@albatross.co.nz>
790
791         * Makefile.am (Thread.h): Don't be friends with native threads 
792         functions.
793         * Makefile.in: Rebuilt.
794         * java/lang/Thread.java (interrupt_flag): Make package-private.
795
796 2000-09-06  Jeff Sturm  <jeff.sturm@appnet.com>
797
798         * include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long'
799         to avoid long long division.
800
801 2000-09-06  Tom Tromey  <tromey@cygnus.com>
802
803         * java/lang/reflect/Constructor.java (toString): Use `getName' for
804         parameter types.
805         * java/lang/reflect/Method.java (toString): Use `getName' for
806         return type.
807
808         * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Accept null
809         `args' if method takes no parameters.
810
811         Fix for PR java.lang/339:
812         * java/lang/natPosixProcess.cc (fail): New function.
813         (cleanup): New function.
814         (startProcess): Use them.  Create pipe so child can communicate
815         exec failure back to parent.
816
817 2000-09-05  Bryce McKinlay  <bryce@albatross.co.nz>
818
819         * java/net/natPlainDatagramSocketImpl.cc: Change various `JvThrow'
820         calls to `throw'.
821         (send): Undo last patch. Remove the label only.
822         (mcastGrp): Ditto.
823         * java/net/natPlainSocketImpl.cc: Change various `JvThrow' calls to 
824         `throw'.
825         * java/net/natInetAdress.cc: Ditto.
826
827         * java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Fix typo.
828
829 2000-09-05  Tom Tromey  <tromey@cygnus.com>
830
831         * doc/cni.sgml: Updated from master copy.
832
833 2000-09-05  Bryce McKinlay  <bryce@albatross.co.nz>
834
835         * gnu/gcj/convert/natIconv.cc (read): Remove unused local.
836         (write): Ditto.
837         * gnu/gcj/runtime/FileDeleter.java (deleteOnExitNow): Check for null
838         stack. Synchronize.
839         * java/lang/fdlibm.h: #undef __P if previously defined.
840         * java/lang/natSystem.cc (currentTimeMillis): Remove unused local.
841         * java/net/natPlainDatagramSocketImpl.cc (send): Remove unreachable 
842         block.
843         (mcastGrp): Ditto.
844
845 2000-09-04  Tom Tromey  <tromey@cygnus.com>
846
847         * java/util/zip/ZipFile.java (ZipFile): Delete file when opened in
848         DELETE mode.
849
850 2000-09-04  Anthony Green  <green@redhat.com>
851
852         Fix for PR java.io/203:
853         * java/io/File.java (createTempFile): Obey directory argument.
854         Use java.io.tmpdir if needed.  Don't leave FileDescripators open.
855         * java/lang/natSystem.cc (init_properties): Use TMPDIR environment
856         variable to set java.io.tmpdir on non-WIN32 systems.
857
858 2000-09-04  Anthony Green  <green@redhat.com>
859
860         * java/io/File.java (deleteOnExit): New method.
861         * gnu/gcj/runtime/FileDeleter.java: New class.
862         * java/lang/natRuntime.cc (exit): Call
863         FileDeleter.deleteOnExitNow()
864         * Makefile.am: Add FileDeleter.java.
865         * Makefile.in: Rebuilt.
866
867 2000-09-02  Tom Tromey  <tromey@cygnus.com>
868
869         * Makefile.in: Rebuilt.
870         * Makefile.am (GCJCOMPILE): Use -fclasspath, not the CLASSPATH
871         environment variable.
872
873 2000-09-01  Andrew Haley  <aph@redhat.com>
874
875         * java/io/StreamTokenizer.java: Don't throw a
876         NumberFormatException if a field is numeric as far as the
877         StreamTokenizer is concerned but not as far as Double.valueOf() is
878         concerned: return a zero instead.       
879
880 2000-08-30  Tom Tromey  <tromey@cygnus.com>
881
882         * Makefile.in: Rebuilt.
883         * Makefile.am (AM_CXXFLAGS): Added -fdollars-in-identifiers.
884
885 2000-08-28  Tom Tromey  <tromey@cygnus.com>
886
887         * gnu/gcj/awt/BitMaskExtent.java, gnu/gcj/awt/Buffers.java,
888         gnu/gcj/awt/ComponentDataBlitOp.java,
889         gnu/gcj/awt/GLightweightPeer.java, java/awt/Graphics2D.java,
890         java/awt/RenderingHints.java, java/awt/color/ColorSpace.java,
891         java/awt/color/ICC_ColorSpace.java,
892         java/awt/color/ICC_Profile.java,
893         java/awt/image/BufferedImage.java, java/awt/image/ColorModel.java,
894         java/awt/image/ComponentColorModel.java,
895         java/awt/image/ComponentSampleModel.java,
896         java/awt/image/DataBuffer.java,
897         java/awt/image/DataBufferByte.java,
898         java/awt/image/DataBufferInt.java,
899         java/awt/image/DataBufferUShort.java,
900         java/awt/image/DirectColorModel.java,
901         java/awt/image/IndexColorModel.java,
902         java/awt/image/PackedColorModel.java, java/awt/image/Raster.java,
903         java/awt/image/RasterOp.java, java/awt/image/SampleModel.java,
904         java/awt/image/SinglePixelPackedSampleModel.java,
905         java/awt/image/WritableRaster.java, java/util/zip/ZipFile.java:
906         Removed Latin-1 copyright symbols.
907         * java/util/zip/ZipFile.java: Indentation fixes.
908
909 2000-08-27  Mark Wielaard  <mark@klomp.org>
910
911         * java/util/zip/ZipFile.java: Implement OPEN_DELETE mode, new
912         constructor, close can delete the file, finalize calls close.
913         * java/util/jar/JarFile.java: Constructor that takes mode now
914         calls super.
915
916 2000-08-27  Anthony Green  <green@redhat.com>
917
918         * java/util/ArrayList.java, java/util/Timer.java,
919         java/util/LinkedList.java, java/util/TimerTask.java,
920         java/util/HashMap.java, java/util/AbstractMap.java,
921         java/util/SortedMap.java, java/util/AbstractSequentialList.java,
922         java/util/SortedSet.java: Imported from GNU Classpath.
923         * Makefile.in: Rebuilt.
924         * Makefile.am: Added new files.
925         
926 2000-08-26  Anthony Green  <green@redhat.com>
927
928         * Makefile.in: Rebuilt.
929         * Makefile.am (java/lang/ClassLoader.h): Make _Jv_RunMain a
930         friend.
931
932         * prims.cc: Include ClassLoader.h.
933         (_Jv_RunMain): When executing jar files, classpath must be the jar
934         file only.  Lose our reference to the system ClassLoader in order
935         to get a new one with the correct classpath.
936         * java/lang/natSystem.cc (init_properties): When executing a jar
937         file, only use the jar file for java.class.path.
938
939         * gnu/gcj/runtime/VMClassLoader.java: Use the canonical file name
940         for bytecode archives.
941
942         * gnu/gcj/runtime/FirstThread.java: Handle case where manifest
943         exists, but not Main-Class.
944
945 2000-08-23  Mark Wielaard  <mark@klomp.org>
946
947         * java/util/zip/InflaterInputStream.java (read(byte[],int,int)):
948         return -1 when fill() has no more data for the Inflater.
949
950 2000-08-23  Mark Wielaard  <mark@klomp.org>
951
952         * java/io/PrintWriter.java (print(String)): Don't catch IOException,
953         write(String) already does.
954
955 2000-08-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>
956
957         * gnu/gcj/jni/NativeThread.java (NativeThread): Removed assignment
958         to `alive_flag', call `init'.
959         (init): New native method.
960         * gnu/gcj/jni/natNativeThread.cc (init): New native method
961         implementation.
962
963 2000-08-21  Mark Wielaard  <mark@klomp.org>
964
965         * Makefile.in: Rebuilt.
966         * Makefile.am (java/lang/reflect/Constructor.h): Declare Class as
967         a `friend class'.
968         (java/lang/reflect/Field.h): Likewise.
969         (java/lang/reflect/Method.h): Likewise.
970         (gnu/gcj/runtime/VMClassLoader.h): Declare ClassLoader as a
971         `friend class'.
972
973 2000-08-21  Tom Tromey  <tromey@cygnus.com>
974
975         * java/util/ResourceBundle.java (trySomeGetBundle): Removed
976         debugging prints.
977
978 Sun Aug 20 21:02:48 2000  Anthony Green  <green@redhat.com>
979
980         * java/lang/natSystem.cc (init_properties): Change sourceware
981         reference to sources.redhat.com.
982
983         * include/java-props.h: Add _Jv_Jar_Class_Path.
984         * prims.cc: Ditto.  Set it from `gij -jar file' option.
985
986         * java/lang/natSystem.cc (init_properties): Set java.class.path
987         from
988         {gij -jar file}:{CLASSPATH variable}:{-Djava.class.path= or .}
989
990         * java/util/PropertyPermission.java: Import from GNU Classpath.
991         * Makefile.in: Rebuilt.
992         * Makefile.am: Add java/util/PropertyPermission.java.
993         * java/lang/System.java: Add setProperty method.
994
995         * gij.cc (main): Add -jar option to execute jar files.
996         (help): Describe -jar option.
997         * prims.cc (_Jv_RunMain): Add support for jar execution mode.
998         * include/jvm.h: Add is_jar argument to _Jv_RunMain.
999         * gnu/gcj/runtime/FirstThread.java (main): New method.
1000
1001         * java/util/jar/Attributes.java: Correct comment spelling.
1002
1003 2000-08-20  Mark Wielaard  <mark@klomp.org>
1004
1005         * java/util/zip/Adler32.java: Make private variables really private
1006         * java/util/zip/CRC32.java: Make private variables really private
1007         * java/util/zip/CheckedInputStream.java: skip() could skip to much
1008         bytes
1009         * java/util/zip/InflaterInputStream.java: skip() could skip to
1010         much bytes
1011         * java/util/zip/ZipEntry.java: setCompressedSize() didn't check input
1012         * java/util/zip/ZipFile.java: size() new 1.2 method
1013         * java/util/zip/ZipInputStream.java: Use createZipEntry not new
1014         ZipEntry.  since 1.2 available() always returns just 1 or 0 when
1015         closed
1016
1017 Sun Aug 20 12:33:43 2000  Anthony Green  <green@redhat.com>
1018
1019         * java/util/jar/JarFile.java: Don't call
1020         java.util.zip.ZipFile.getEntry twice.  From Mark Wielaard
1021         <mark@klomp.org>.
1022         
1023 Sun Aug 20 09:51:48 2000  Anthony Green  <green@redhat.com>
1024
1025         * java/net/URLClassLoader.java: Find the JarEntry via the JarFile.
1026         Read the entire contents of the class file, not just what is
1027         available().
1028
1029         * java/net/JarURLConnection.java: getEntry doesn't take any
1030         arguments.  Return null if element is null.
1031
1032         * java/util/zip/ZipFile.java (getInputStream): Read the compressed
1033         size from the archive, not the inflated size.
1034
1035         * java/util/jar/JarFile.java (getEntry): Don't recurse.  Call
1036         java.util.zip.ZipFile.getEntry.
1037
1038         * gij.cc (help): Change sourceware reference to
1039         sources.redhat.com.
1040
1041 2000-08-19  Tom Tromey  <tromey@cygnus.com>
1042
1043         * java/util/zip/ZipInputStream.java (createZipEntry):
1044         Implemented.
1045
1046 Sat Aug 19 11:00:53 2000  Anthony Green  <green@redhat.com>
1047
1048         * java/util/jar/Attributes.java, java/util/jar/JarEntry.java,
1049         java/util/jar/JarException.java, java/util/jar/JarFile.java,
1050         java/util/jar/JarInputStream.java,
1051         java/util/jar/JarOutputStream.java, java/util/jar/Manifest.java,
1052         java/util/Set.java, java/util/Map.java, java/util/Bucket.java,
1053         java/util/AbstractSet.java, java/util/BasicMapEntry.java,
1054         java/security/cert/CRL.java, java/security/cert/CRLException.java,
1055         java/security/cert/Certificate.java,
1056         java/security/cert/CertificateEncodingException.java,
1057         java/security/cert/CertificateException.java,
1058         java/security/cert/CertificateExpiredException.java,
1059         java/security/cert/CertificateFactory.java,
1060         java/security/cert/CertificateFactorySpi.java,
1061         java/security/cert/CertificateNotYetValidException.java,
1062         java/security/cert/CertificateParsingException.java,
1063         java/security/cert/X509CRL.java,
1064         java/security/cert/X509CRLEntry.java,
1065         java/security/cert/X509Certificate.java,
1066         java/security/cert/X509Extension.java: Imported from Classpath.
1067         * java/util/Hashtable.java: Imported from Classpath.
1068
1069         * java/util/zip/ZipInputStream.java: Create stub for
1070         createZipEntry.
1071
1072         * gcj/javaprims.h: Updated class list.
1073
1074         * Makefile.in, gcj/Makefile.in: Rebuilt.
1075         * Makefile.am (ordinary_java_source_files): Add these new classes.
1076         
1077 2000-08-16  Rolf W. Rasmussen  <rolfwr@ii.uib.no>
1078
1079         * gnu/gcj/awt/ComponentDataBlitOp.java: New file.
1080         * gnu/gcj/awt/GLightweightPeer.java: New file.
1081         * java/awt/BorderLayout.java: Implemented all methods.
1082         * java/awt/Button.java (actionListener, actionCommand): Renamed
1083         and modifier change.
1084         (addNotify): Call super.
1085         (dispatchEventImpl): New method.
1086         (getListeners): New method.
1087         (label): Made package-private, not private.
1088         * java/awt/Canvas.java: Implemented class body.
1089         * java/awt/Color.java (brighter): New method.
1090         (darker): New method.
1091         (hashCode): New method.
1092         * java/awt/Component.java (visible, enabled, eventMask): Set defaults.
1093         (getGraphicsConfiguration): Delegate to
1094         getGraphicsConfigurationImpl().
1095         (getGraphicsConfigurationImpl): New method.
1096         (getToolkit): Only return value from peer if not null.
1097         (isDisplayable): Check with parent.
1098         (isShowing): No parent implies not showing.
1099         (getForeground): Check parent property if local is null.
1100         (getBackground): Likewise.
1101         (getFont): Likewise.
1102         (setForeground): Inform peer.
1103         (setBackground): Likewise
1104         (setLocale): Invalidate component.
1105         (getColorModel): Implemented.
1106         (setLocation): Invalidate, or ignore if no change.
1107         (setSize): Invalidate, or ignore if no change.
1108         (setBounds): Invalidate, or ignore if no change.
1109         (isOpaque): By default, heavyweight implies opaque.
1110         (isLightweight): Implemented.
1111         (getMaximumSize): Implemented.
1112         (doLayout): Implemented, NOP.
1113         (validate): Implemented, NOP.
1114         (invalidate): Only propagate to parent if parent was valid.
1115         (getGraphics): Implemented.
1116         (getFontMetrics): Implemented.
1117         (update): Implemented.
1118         (paintAll): Implemented.
1119         (repaint): Implemented all repaint methods.
1120         (print): Implemented.
1121         (printAll): Implemented.
1122         (createImage): Implemented.
1123         (dispatchEvent): Give the peer a chance to handle the event.
1124         (dispatchEventImpl): Dispatch paint events.
1125         (enableEvents): Lightweights enable events on parent component.
1126         (coalesceEvents): Coalesce paint events, and select event type
1127         using a switch.
1128         (coalescePaintEvents): New method.
1129         (processEvent): Fix unfortunate ordering of statements, and call
1130         correct method for MOUSE_CLICKED.
1131         (processPaintEvent): New method.
1132         (addNotify): Allow container to notify children before event
1133         mask is set in peer.
1134         (addNotifyContainerChildren): New method.
1135         (removeNotify): Visibility should not change on removeNotify.
1136         (paramString): Implemented.
1137         (list): Implemented two of the list methods.
1138         * Container (myInsets): Removed, insets are managed by peer.
1139         (getInsets): Query peer.
1140         (addImpl): Fix reparenting, enable events for lightweights,
1141         initialize component array.
1142         (validate): Call doLayout in validateTree() instead.
1143         (validateTree): Do nothing if already valid. Call beginValidate(),
1144         endValidate() on peer. Call validateTree() instead of validate()
1145         for children that are containers. Mark valid after validation of
1146         children.
1147         (setFont): Partial implementation.
1148         (paint): Implemented.
1149         (visitChildren): New method.
1150         (visitChild): New method.
1151         (update): Implemented.
1152         (print): Implemented.
1153         (paintComponents): Implemented.
1154         (printComponents): Consider translation and clipping.
1155         (getComponentAt): Ignore invisible children. Return this if no
1156         child match.
1157         (addNotify): Call super.
1158         (addNotifyContainerChildren): New method.
1159         (paramString): Implemented.
1160         (list): Implemented.
1161         * java/awt/EventQueue (invokeAndWait): Get system event queue the
1162         right way.
1163         (invokeLater): Likewise.
1164         (isDispatchThread): Likewise.
1165         * java/awt/FontMetrics (getLeading): Formula change.
1166         (getDescent): Consider leading also.
1167         (getMaxAscent): Default to getAscent().
1168         (getMaxDescent): Default to getDescent.
1169         (getMaxAdvance): Return value signifying unknown.
1170         (charWidth): Both methods implemented.
1171         (charsWidth): Implemented.
1172         (bytesWidth): Implemented.
1173         (getWidths): Implemented.
1174         * java/awt/Frame.java (NORMAL, ICONIFIED, iconImage, isResizable,
1175         state): New fields.
1176         (Frame): Rearragend constuctor chaining to disallow null being
1177         passed as a graphics configuration.
1178         (getTitle): Return empty string if null.
1179         (dispose): Removed.
1180         (getIconImage): New method.
1181         (setIconImage): New method.
1182         (finalize): New method.
1183         (setMenuBar): Notify peer.
1184         (isResizable): New method.
1185         (setResizable): New method.
1186         (getState): New method.
1187         (getFont): Removed.
1188         (remove): Implemented.
1189         (removeNotify): New method.
1190         (getFrames): New method.
1191         * java/awt/Graphics.java: Implemented body of class.
1192         * java/awt/Graphics2D.java: New file.
1193         * java/awt/GraphicsConfiguration.java: Enabled part of the API.
1194         * java/awt/Image.java: Implemented body of class.
1195         * java/awt/Panel.java (Panel): Call correct super constructor.
1196         (addNotify): Implemented.
1197         * java/awt/Rectangle.java (isEmpty): Fixed reversed logic.
1198         * java/awt/RenderingHints.java: New file.
1199         * java/awt/Toolkit.java (createComponent): Implemented.
1200         (getSystemEventQueue): Delegate to getSystemEventQueueImpl().
1201         * java/awt/Window.java (Window): Two new constructors. Reordered
1202         constructor chaining.
1203         (getGraphicsConfigurationImpl): New method.
1204         (finalize): Call super.
1205         (addNotify): Call super.
1206         (pack): Do layout stuff.
1207         (show): Ensure that peer exists and that component is valid.
1208         (dispose): Dispose owned children.
1209         (getOwner): Simplify code, casting null pointers is valid.
1210         (getGraphicsConfiguration): Ask peer if local value is null.
1211         * java/awt/event/ActionEvent.java (getActionCommand): Renamed from
1212         getcmd().
1213         * java/awt/image/BufferedImage.java: New file.
1214         * java/awt/image/RasterOp.java: New file.
1215         * java/awt/peer/ComponentPeer.java (getGraphicsConfiguration):
1216         More powerfull replacement for getColorModel().
1217         (getColorModel) Removed.
1218         (setEventMask) New method.
1219         * Makefile.am: Added new files.
1220         * Makefile.in: Rebuilt.
1221
1222 2000-08-15  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1223
1224         * java/lang/natClass.cc (finit_name): Initialized with `finit$'.
1225         (finit_leg_name): New global.
1226         (java::lang::Class::getDeclaredMethods): Test for `finit$' or
1227         `$finit$'. This is a backward compatibility hack.
1228         (java::lang::Class::_getMethods): Likewise.
1229
1230 2000-08-15  Andrew Haley  <aph@cygnus.com>
1231
1232         * include/jvm.h (_Jv_HashCode): New hash code.
1233
1234 2000-08-15  Tom Tromey  <tromey@cygnus.com>
1235
1236         * java/io/ByteArrayOutputStream.java: Merged with Classpath.
1237
1238 Sun Aug 13 19:53:01 2000  Anthony Green  <green@redhat.com>
1239
1240         * THANKS: More thanks.
1241
1242 2000-08-10  Tom Tromey  <tromey@cygnus.com>
1243
1244         * java/net/natPlainSocketImpl.cc (bind): Don't go to error case
1245         when errno not set.
1246         (connect): Likewise.
1247         (accept): Likewise.
1248         (getOption): Likewise.
1249         * java/net/natPlainDatagramSocketImpl.cc (bind): Don't go to error
1250         case when errno not set.
1251         (peek): Likewise.
1252         (send): Likewise.
1253         (receive): Likewise.
1254         (mcastGrp): Likewise.
1255         (setOption): Likewise.
1256         (getOption): Likewise.
1257
1258 2000-08-10  Bryce McKinlay  <bryce@albatross.co.nz>
1259             John Stracke <francis@ecal.com>
1260
1261         * gnu/gcj/protocol/http/Connection.java (gotHeaders): Removed.
1262         (connect): Don't falsely claim HTTP/1.1 compliance. Call 
1263         getHttpHeaders().
1264         (disconnect): Don't unset connected flag.
1265         (getHeaderField (String)): Call connect() if not connected.
1266         (getHeaderField (int)): Ditto.
1267         (getHeaderFieldKey): Ditto.
1268         (getHttpHeaders): Don't call connect(). 
1269         * java/net/HttpURLConnection.java (instanceFollowRedirects,
1270         gotResponseVals): New fields.
1271         (getResponseCode): Call getResponseVals() conditionally.
1272         (getResponseMessage): Ditto.
1273         (getResponseVals): Call connect(). Don't throw FileNotFoundException.   
1274
1275 2000-08-09  Bryce McKinlay  <bryce@albatross.co.nz>
1276
1277         * Makefile.am: Move beans and applet classes to awt_java_source_files.
1278         * Makefile.in: Rebuilt.
1279         * java/awt/Color.java (getTransparency): New method.
1280         * java/awt/Component.java: Various updates.
1281         * java/awt/Container.java (removeNotify): Call super.removeNotify()
1282         after dealing with children.
1283         * java/awt/Toolkit.java (changeSupport): Renamed from pcsupport.
1284         * java/awt/Window.java: Various new methods and updates.
1285         * java/awt/color/ICC_Profile.java (getNumComponents): Cast profileID
1286         to int for switch.
1287         * java/awt/event/KeyEvent.java (paramString): Initialize `r'.
1288         * java/awt/event/WindowEvent.java (paramString): Ditto.
1289         * java/awt/geom/Dimension2D.java (clone): Wrap super call with
1290         try/catch block.
1291         * java/awt/geom/Point2D.java (clone): Ditto.
1292         * java/awt/geom/RectangularShape.java (clone): Ditto.
1293         * java/awt/image/ColorModel.java (bits, cspace, transparency, hasAlpha,
1294         isAlphaPremultiplied): Make package-private, not private.       
1295         
1296 2000-08-08  Tom Tromey  <tromey@cygnus.com>
1297
1298         * gnu/gcj/convert/Input_UTF8.java (read): Fixed handling of
1299         surrogate characters.
1300         * gnu/gcj/convert/Output_UTF8.java (standardUTF8): Default to
1301         true.
1302         (write): Correct handling of surrogate characters.
1303
1304 2000-08-07  Tom Tromey  <tromey@cygnus.com>
1305
1306         * java/lang/reflect/Method.java (hashCode): Use getName().
1307         (toString): Likewise.
1308         * java/lang/reflect/natMethod.cc (getType): Initialize
1309         exception_types.
1310
1311         * java/lang/reflect/Method.java (toString): Use Class.getName, not
1312         Class.toString.
1313         * java/lang/reflect/Field.java (toString): Correct formatting.
1314         From Corey Minyard.
1315
1316         * java/io/PipedInputStream.java (read(byte[],int,int)): Mostly
1317         rewrote.
1318         (receive): Streamlined.
1319
1320 2000-08-05  Tom Tromey  <tromey@cygnus.com>
1321
1322         * java/io/PrintWriter.java: Merged comments from Classpath.
1323         (printlnUnsynchronized): Removed.
1324         (println()): Print the separator.
1325         (println): Call println(), not printlnUnsynchronized.
1326         (out): Now protected, to match spec.
1327
1328 2000-08-04  Tom Tromey  <tromey@cygnus.com>
1329
1330         * java/io/StreamTokenizer.java (TT_NONE): Now private.
1331         (nextToken): Handle backslashed newline.  From Oskar Liljeblad.
1332         For PR java.io/301.
1333
1334 2000-08-03  Warren Levy  <warrenl@cygnus.com>
1335
1336         * java/io/ObjectInputStream.java (readFields): Turn off
1337         readDataFromBlock while reading via GetField.
1338         (GetField$1.get(String, Object)): Pass Class of default value to
1339         getField.
1340         (getField): Allow for null default values.
1341
1342         * java/io/ObjectOutputStream.java: Fixed typo in comment.
1343         (PutField$1.put): Fixed calls of checkType in most of the put
1344         methods to pass the correct parameter.
1345         (PutField$1.put(String, Object)): Allow for null value arg.
1346         (PutField$1.write): Turn off writeDataAsBlocks while writing via
1347         PutField.
1348
1349         * java/io/ObjectStreamClass.java (serialPersistentFields): Fixed
1350         typo in spec'ed field name.
1351         (getSerialPersistentFields): Changed spelling of method to match
1352         the correct spelling of the spec'ed field name.
1353
1354 2000-08-03  Tom Tromey  <tromey@cygnus.com>
1355
1356         * Makefile.in: Rebuilt.
1357         * Makefile.am (awt_java_source_files): Added new files.
1358
1359 2000-08-03  Bryce McKinlay  <bryce@albatross.co.nz>
1360
1361         * Makefile.am: Add new AWT stubs.
1362         * java/awt/Canvas.java: New placeholder class.
1363         * java/awt/Checkbox.java: Ditto.
1364         * java/awt/CheckboxMenuItem.java: Ditto.
1365         * java/awt/Choice.java: Ditto.
1366         * java/awt/Dialog.java: Ditto.
1367         * java/awt/FileDialog.java: Ditto.
1368         * java/awt/List.java: Ditto.
1369         * java/awt/ScrollPane.java: Ditto.
1370         * java/awt/TextField.java: Ditto.
1371         * java/awt/datatransfer/Clipboard.java: Ditto.
1372         * java/awt/Component.java (treeLock): Now a static String. Add comment.
1373         * java/awt/MenuItem.java (MenuItem): Add default constructor.
1374         * java/awt/Toolkit.java: Added all methods from J2SE 1.3 API docs. 
1375         Some commented out. Partially implemented.
1376         * java/awt/natToolkit.cc: Removed file.
1377
1378 2000-08-03  Bryce McKinlay  <bryce@albatross.co.nz>
1379
1380         * Makefile.am: Make inner class CNI headers depend on libgcj.zip only.
1381         Fixes "make -j" builds.
1382         * Makefile.in: Rebuild.
1383
1384 2000-08-02  Tom Tromey  <tromey@cygnus.com>
1385
1386         * Makefile.in: Rebuilt.
1387         * Makefile.am (libgcj_la_SOURCES): Added posix.cc.
1388         * java/net/natPlainSocketImpl.cc: Include posix.h.
1389         (accept): Use _Jv_select.
1390         * java/net/natPlainDatagramSocketImpl.cc: Include posix.h.
1391         (receive): Use _Jv_select.
1392         * java/io/natFileDescriptorPosix.cc: Include posix.h.
1393         (available): Use _Jv_select.
1394         * java/lang/natSystem.cc: Include posix.h.
1395         (currentTimeMillis): Use _Jv_gettimeofday.
1396         * include/posix.h: New file.
1397         * posix.cc: New file.
1398
1399         * scripts/encodings.pl: New file.
1400         * Makefile.in: Rebuilt.
1401         * Makefile.am (convert_source_files): Added IOConverter.java.
1402         * gnu/gcj/convert/UnicodeToBytes.java (UnicodeToBytes): Extend
1403         IOConverter.
1404         (getDefaultDecodingClass): Canonicalize default encoding name.
1405         (getEncoder): Likewise.
1406         * gnu/gcj/convert/BytesToUnicode.java (BytesToUnicode): Extend
1407         IOConverter.
1408         (getDefaultDecodingClass): Canonicalize default encoding name.
1409         (getDecoder): Likewise.
1410         * gnu/gcj/convert/IOConverter.java: New file.
1411
1412 2000-08-02  Bryce McKinlay  <bryce@albatross.co.nz>
1413
1414         * interpret.cc (_Jv_InterpMethod::continue1): Type of `fun' changed
1415         to match C declaration in ffi.h.
1416         * Makefile.am: Add java/awt/Button.java.
1417         * Makefile.in: Rebuilt.
1418
1419 2000-07-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1420
1421         * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Type of the
1422         cast of the second argument to `ffi_raw_call' changed to match
1423         prototype.
1424
1425 2000-07-26  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1426
1427         * jni.cc (_Jv_JNIMethod::call): Type of the cast of the second
1428         argument to `ffi_raw_call' changed to match prototype.
1429
1430 2000-07-31  Bryce McKinlay  <bryce@albatross.co.nz>
1431
1432         * java/awt/Component.java (toString): Implemented.
1433         * java/awt/Container.java (addImpl): Remove FIXME. Only call 
1434         dispatchEvent() to dispatch the event.
1435         (removeImpl): Ditto.
1436
1437 2000-07-30  Anthony Green  <green@redhat.com>
1438
1439         * java/awt/Component.java: Add treeLock object.
1440         (getTreeLock): Implement.
1441         (isShowing): Implement.
1442
1443 2000-07-30  Tom Tromey  <tromey@cygnus.com>
1444
1445         * java/awt/BorderLayout.java (BorderLayout()): New constructor.
1446
1447         * java/awt/Frame.java (Frame): Pass `null' to Window constructor.
1448
1449         * java/awt/Window.java (addNotify): Wrote.
1450         (addWindowListener): Wrote.
1451         (getLocale): Wrote.
1452         (getWarningString): Wrote.
1453         (processEvent): Wrote.
1454         (processWindowEvent): Wrote.
1455         (removeWindowListener): Wrote.
1456         (show): Call validate(), setVisible().
1457         (toBack): Wrote.
1458         (toFront): Wrote.
1459
1460         * java/awt/Toolkit.java (createWindow): Declare.
1461
1462         * java/awt/Frame.java (addNotify): Use getToolkit to find
1463         toolkit.
1464
1465         * java/awt/Component.java (invalidate): Wrote.
1466         (isValid): Wrote.
1467         (getToolkit): Wrote.
1468
1469         * java/awt/Container.java (addContainerListener): Removed
1470         unnecessary cast.
1471         (removeContainerListener): Likewise.
1472         (addImpl): Wrote.
1473         (add(Component)): Use it.
1474         (add(String,Component)): Likewise.
1475         (add(Component,int)): Likewise.
1476         (add(Component,Object)): Likewise.
1477         (add(Component,Object,int)): Likewise.
1478         (doLayout): Wrote.
1479         (getAlignmentX): Wrote.
1480         (getAlignmentY): Wrote.
1481         (getComponentAt): Wrote.
1482         (getMaximumSize): Wrote.
1483         (invalidate): Wrote.
1484         (list(PrintStream,int)): Wrote.
1485         (list(PrintWriter,int)): Wrote.
1486         (getMinimumSize): Wrote.
1487         (getPreferredSize): Wrote.
1488         (printComponents): Wrote.
1489         (processContainerEvent): Look at containerListener, not
1490         componentListener.
1491         (remove): Added event processing and peer destruction.
1492         (removeAll): Use remove.
1493         (removeNotify): Wrote.
1494         (validate): Wrote.
1495         (validateTree): Wrote.
1496
1497         * java/awt/Scrollbar.java (addNotify): Do nothing if peer exists.
1498         * java/awt/Label.java (addNotify): Do nothing if peer exists.
1499         * java/awt/Container.java (addNotify): Don't create Container
1500         peer.
1501         * java/awt/Button.java (addNotify): Do nothing if peer exists.
1502
1503 2000-07-30  Tom Tromey  <tromey@cygnus.com>
1504
1505         * java/awt/Container.java (remove(int)): Wrote.
1506         (remove(Component)): Wrote.
1507         (add(Component)): Wrote.
1508         (add(Component,int)): Wrote.
1509         (removeAll): Wrote.
1510         (addNotify): Set our own peer.
1511         * java/awt/Scrollbar.java (listeners): Changed type.
1512         (Scrollbar): Don't initialize listeners.
1513         (addNotify): Wrote.
1514         (setValue): Call setValues.
1515         (setMinimum): Likewise.
1516         (setMaxPriority): Likewise.
1517         (setVisibleAmount): Likewise.
1518         (setValues): Wrote.
1519         (setUnitIncrement): Forward to peer.
1520         (setLineIncrement): Call setUnitIncrement.
1521         (setPageIncrement): Call setBlockIncrement.
1522         (setBlockIncrement): Forward to peer.
1523         (addAdjustmentListener): Rewrote.
1524         (removeAdjustmentListener): Rewrote.
1525         (processAdjustmentEvent): Rewrote.
1526         (paramString): Wrote.
1527         * Makefile.in: Rebuilt.
1528         * Makefile.am (awt_java_source_files): Added Button.java.
1529         * java/awt/Button.java: New file.
1530         * java/awt/Toolkit.java (createLabel): Declare.
1531         (createButton): Likewise.
1532         (createScrollbar): Likewise.
1533         (createContainer): Likewise.
1534         * java/awt/Label.java (addNotify): Wrote.
1535         (setAlignment): Call setAlignment in the peer.
1536         (setText): Call setText in the peer.
1537
1538 2000-07-28  Warren Levy  <warrenl@cygnus.com>
1539
1540         * java/io/ObjectOutputStream.java (writeObject): Per spec, call
1541         NotSerializableException with just the class name.
1542
1543 2000-07-26  Andrew Haley  <aph@cygnus.com>
1544
1545         * interpret.cc (continue1): Insert missing break into switch.
1546
1547 2000-07-28  Warren Levy  <warrenl@cygnus.com>
1548
1549         * java/io/ObjectStreamException.java: Made constructors protected.
1550
1551 2000-07-27  Tom Tromey  <tromey@cygnus.com>
1552
1553         * java/io/OutputStreamWriter.java (close): Only flush if not
1554         closed.
1555
1556 2000-07-27  Warren Levy  <warrenl@cygnus.com>
1557
1558         * mauve-libgcj: Activated serialization tests.
1559         * gcj/field.h (getModifiers): Mask off unknown flags.
1560         * gnu/java/security/provider/SHA.java (munch): Reset buffer to 0 so
1561         spurious bits don't cause discrepancies.
1562         * java/io/ObjectOutputStream.java: Fixed typo in comment.
1563         * java/io/ObjectStreamClass.java: Fixed typos in comments.
1564         (lookup): Applied patch from Brian Jones <cbj@gnu.org> to optimize.
1565         (hasClassInitializer): Call getDeclaredMethod instead of getMethod.
1566         * java/lang/Throwable.java (serialVersionUID): New field.
1567         * java/lang/reflect/Modifier.java (ALL_FLAGS): Preserve STRICT if used.
1568         * java/lang/reflect/natConstructor.cc (getModifiers): Mask off
1569         unknown flags.
1570         * java/lang/reflect/natMethod.cc: Ditto.
1571         * java/security/Key.java (serialVersionUID): Removed field for now.
1572         * java/security/interfaces/DSAPrivateKey.java (serialVersionUID): Ditto.
1573         * java/security/interfaces/DSAPublicKey.java (serialVersionUID): Ditto.
1574
1575 2000-07-22  Tom Tromey  <tromey@cygnus.com>
1576
1577         * java/awt/geom/RectangularShape.java (getPathIterator):
1578         Wrote.
1579
1580 2000-07-23  Rolf W. Rasmussen  <rolfwr@ii.uib.no>
1581
1582         * libjava/java/awt/image/ColorModel.java: New file, replaces the
1583         stub libjava/java/awt/ColorModel.java which was located in the
1584         wrong package.
1585         * libjava/java/awt/image/ComponentColorModel.java: New file.
1586         * libjava/java/awt/image/ComponentSampleModel.java: New file.
1587         * libjava/java/awt/image/DataBuffer.java: New file.
1588         * libjava/java/awt/image/DataBufferByte.java: New file.
1589         * libjava/java/awt/image/DataBufferInt.java: New file.
1590         * libjava/java/awt/image/DataBufferUShort.java: New file.
1591         * libjava/java/awt/image/DirectColorModel.java: New file.
1592         * libjava/java/awt/image/PackedColorModel.java: New file.
1593         * libjava/java/awt/image/Raster.java: New file.
1594         * libjava/java/awt/image/SampleModel.java: New file.
1595         * libjava/java/awt/image/SinglePixelPackedSampleModel.java: New
1596         file.
1597         * libjava/java/awt/image/IndexColorModel.java: New file.
1598         * libjava/java/awt/image/ImageConsumer.java: Removed import of
1599         java.awt.ColorModel stub.
1600
1601         * gnu/gcj/util/BitMaskExtent.java: New file, utility class.
1602         * gnu/gcj/util/Buffers.java: New file, utility class.
1603
1604         * libjava/Makefile.am: Updated to include new files.
1605         * libjava/Makefile.in: Rebuilt.
1606
1607 2000-07-23  Oskar Liljeblad <osk@hem.passagen.se>
1608
1609         * java/io/StreamTokenizer.java: Merged with classpath.
1610
1611 2000-07-20  Tom Tromey  <tromey@cygnus.com>
1612
1613         * Makefile.in: Rebuilt.
1614         * Makefile.am (awt_java_source_files): Updated for new files.
1615         * java/awt/Adjustable.java (HORIZONTAL, VERTICAL): Set values.
1616         * java/awt/Label.java: New file.
1617         * java/awt/Rectangle.java (Rectangle): Extend Rectangle2D.
1618         (createIntersection, createUnion, getBounds2D): New methods.
1619         * java/awt/Scrollbar.java: New file.
1620         * java/awt/Shape.java: Updated to 1.2.
1621         * java/awt/geom/AffineTransform.java: New file.
1622         * java/awt/geom/Ellipse2D.java: New file.
1623         * java/awt/geom/NoninvertibleTransformException.java: New file.
1624         * java/awt/geom/PathIterator.java: New file.
1625         * java/awt/geom/Rectangle2D.java: New file.
1626         * java/awt/geom/RectangularShape.java: New file.
1627         * java/awt/geom/Point2D.java (Double, Float): New inner classes.
1628         * java/awt/geom/IllegalPathStateException.java: New file.
1629         
1630         * scripts/showval.java: New file.
1631
1632         * scripts/classes.pl (scan): Print inner classes properly.
1633         * gcj/javaprims.h: Updated class list.
1634
1635         * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Only
1636         initialize String fields for interpreted classes.  Fixes bug
1637         reported by Hans Boehm.
1638
1639         * java/io/File.java (getParentFile): New method, from Classpath
1640         via Oskar Liljeblad.
1641
1642         * java/util/Vector.java (remove(Object)): Implemented.
1643
1644 2000-07-19  Jeff Sturm  <jeff.sturm@appnet.com>
1645
1646         * java/lang/natThrowable.cc (fillInStackTrace): Check for
1647         zero return from backtrace().
1648
1649 2000-07-15  Bryce McKinlay  <bryce@albatross.co.nz>
1650
1651         * java/awt/EventQueue.java (invokeAndWait): Call postEvent() within
1652         synchronized block.
1653         * java/awt/event/InvocationEvent (dispatch): Synchronize on notifier
1654         before calling notifyAll().
1655
1656 2000-07-13  Bryce McKinlay  <bryce@albatross.co.nz>
1657
1658         Add missing files from last check-in:
1659         * java/awt/image/ImageConsumer.java: New file.
1660         * java/awt/image/ImageProducer.java: New file.
1661         * java/awt/image/ImageObserver.java: New file.
1662
1663 2000-07-12  Bryce McKinlay  <bryce@albatross.co.nz>
1664
1665         Merged implementation of java.applet from classpath:
1666         * java/applet/Applet.java: New file.
1667         * java/applet/AppletContext.java: New file.
1668         * java/applet/AppletStub.java: New file.
1669         * java/applet/AudioClip.java: New file.
1670
1671         * Makefile.am: Added new java.applet classes.
1672         * Makefile.in: Rebuilt.
1673
1674 2000-07-12  Bryce McKinlay  <bryce@albatross.co.nz>
1675
1676         AWT Stuff:
1677         * java/util/ResourceBundle.java (getLocale): stub.
1678         * Makefile.am: Added new AWT classes.
1679         * Makefile.in: Rebuilt.
1680         * java/awt/AWTEvent.java: Add EVENT_MASK constants, isConsumed, 
1681         constructors. Fix toString() and paramString().
1682         * java/awt/AWTEventMulticaster.java: New class. Implemented.
1683         * java/awt/CheckboxGroup.java: New class.
1684         * java/awt/ColorModel.java: New class.
1685         * java/awt/Component.java: Added stubs for most methods. Implemented 
1686         event dispatch.
1687         * java/awt/Container.java: ditto.
1688         * java/awt/ComponentOrientation.java: New class. Partly implemented.
1689         * java/awt/Cursor.java: ditto.
1690         * java/awt/Event.java: Fix paramString().
1691         * java/awt/EventQueue.java: New class. Implemented.
1692         * java/awt/Font.java: Added additional stub methods. Implemented 
1693         toString().
1694         * java/awt/FontMetrics.java: New class. Stubbed.
1695         * java/awt/GraphicsConfiguration.java: New class. Complete, except for 
1696         Java2D parts.
1697         * java/awt/Insets.java: New class. Implemented.
1698         * java/awt/Menu.java: Add new methods. Partially implemented.
1699         * java/awt/MenuItem.java: Add new methods and fields. Partially 
1700         implemented.
1701         * java/awt/MenuShortcut.java: New class. Implemented.
1702         * java/awt/Panel.java: New class. Placeholder.
1703         * java/awt/PopupMenu.java: New class. Stubbed.
1704         * java/awt/Rectangle.java: New class. Implemented.
1705         * java/awt/Toolkit.java: Added getSystemEventQueue() stub.
1706         * java/awt/event/ActionEvent.java: Implement paramString().
1707         * java/awt/event/AdjustmentEvent.java: Implement paramString().
1708         * java/awt/event/ComponentEvent.java: Implement paramString().
1709         * java/awt/event/ContainerEvent.java: Implement paramString().
1710         * java/awt/event/FocusEvent.java: Implement paramString().
1711         * java/awt/event/HierarchyBoundsAdapter.java: New class.
1712         * java/awt/event/HierarchyBoundsListener.java: New class.
1713         * java/awt/event/HierarchyEvent.java: New class.
1714         * java/awt/event/HierarchyListener.java: New class.
1715         * java/awt/event/InputMethodEvent.java: Implement paramString().
1716         * java/awt/event/InvocationEvent.java: Implement paramString(). Throw 
1717         exception if !catchExceptions.
1718         * java/awt/event/ItemEvent.java: Implement paramString().
1719         * java/awt/event/KeyEvent.java: Implement paramString().
1720         * java/awt/event/MouseEvent.java: Implement paramString().
1721         * java/awt/event/PaintEvent.java: Implement paramString().
1722         * java/awt/event/TextEvent.java: Implement paramString().
1723         * java/awt/event/WindowEvent.java: Implement paramString().
1724         
1725         AWT Peer interfaces:
1726         * java/awt/peer/ButtonPeer.java: New file.
1727         * java/awt/peer/ListPeer.java: New file.
1728         * java/awt/peer/CanvasPeer.java: New file.
1729         * java/awt/peer/MenuBarPeer.java: New file.
1730         * java/awt/peer/CheckboxMenuItemPeer.java: New file.
1731         * java/awt/peer/MenuComponentPeer.java: New file.
1732         * java/awt/peer/CheckboxPeer.java: New file.
1733         * java/awt/peer/MenuItemPeer.java: New file.
1734         * java/awt/peer/ChoicePeer.java: New file.
1735         * java/awt/peer/MenuPeer.java: New file.
1736         * java/awt/peer/ComponentPeer.java: Implemented.
1737         * java/awt/peer/PanelPeer.java: New file.
1738         * java/awt/peer/ContainerPeer.java: Implemented.
1739         * java/awt/peer/PopupMenuPeer.java: New file.
1740         * java/awt/peer/DialogPeer.java: New file.
1741         * java/awt/peer/ScrollPanePeer.java: New file.
1742         * java/awt/peer/FileDialogPeer.java: New file.
1743         * java/awt/peer/ScrollbarPeer.java: New file.
1744         * java/awt/peer/FontPeer.java: New file.
1745         * java/awt/peer/TextAreaPeer.java: New file.
1746         * java/awt/peer/FramePeer.java: Implemented.
1747         * java/awt/peer/TextComponentPeer.java: New file.
1748         * java/awt/peer/LabelPeer.java: New file.
1749         * java/awt/peer/TextFieldPeer.java: New file.
1750         * java/awt/peer/LightweightPeer.java: New file.
1751         * java/awt/peer/WindowPeer.java: Implemented.
1752
1753 2000-07-06  Tom Tromey  <tromey@cygnus.com>
1754
1755         * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass):
1756         Initialize static final String fields.
1757
1758 2000-07-03  Tom Tromey  <tromey@cygnus.com>
1759
1760         * java/io/PrintWriter.java (print): Call write(String), not
1761         print(String).  See PR libgcj/277.
1762         (print(String)): Use write, not out.write.
1763
1764 2000-06-30  Tom Tromey  <tromey@cygnus.com>
1765
1766         * include/jni.h: Include <gcj/array.h>.  Fixes PR libgcj/270.
1767
1768 2000-06-27  Andrew Haley  <aph@cygnus.com>
1769
1770        * java/io/File.java (createTempFile): Close the FileDescriptor
1771        used to create a temp file.  Fixes some of PR 203.
1772        * java/io/natFileDescriptorPosix.cc (open): Call garbage
1773        collection if we run out of file handles.
1774
1775 2000-06-28  Warren Levy  <warrenl@cygnus.com>
1776
1777         * gnu/java/security/provider/Gnu.java: New file.
1778         * gnu/java/security/provider/SHA.java: New file.
1779         * gnu/java/security/provider/SHA1PRNG.java: New file.
1780         * Makefile.am: Added the above files.
1781         * Makefile.in: Rebuilt.
1782
1783         * java/io/ObjectStreamClass.java (setUID): Use Gnu SHA instead of SHS.
1784
1785 2000-06-28  Bryce McKinlay  <bryce@albatross.co.nz>
1786
1787         * java/lang/ThreadGroup.java: Added synchronized flag to many methods.
1788         (destroyed_flag): Removed.
1789         (isDestroyed, removeGroup, removeThread): Test for parent == null.      
1790         (activeCount): Added spec note.
1791
1792 2000-06-27  Warren Levy  <warrenl@cygnus.com>
1793
1794         * java/security/Principal.java: New file.
1795         * Makefile.am: Added Principal.java.
1796         * Makefile.in: Rebuilt.
1797
1798 2000-06-27  Rolf W. Rasmussen  <rolfwr@ii.uib.no>
1799
1800         * java/awt/event/MouseEvent.java: Fixed coordinate space
1801         confusion.
1802
1803 2000-06-27  Tom Tromey  <tromey@cygnus.com>
1804
1805         * java/io/PushbackInputStream.java (read): If there are characters
1806         in the buffer, don't also call super.read().
1807         * java/io/PushbackReader.java (read): If there are characters in
1808         the buffer, don't also call super.read().
1809
1810         * java/lang/Double.java (valueOf): Call parseDouble().
1811
1812 2000-06-26  Warren Levy  <warrenl@cygnus.com>
1813
1814         * java/beans/PropertyChangeEvent.java (oldVal): Renamed to oldValue.
1815         (newVal): Renamed to newValue.
1816         * java/beans/PropertyVetoException.java (changeEvent): Renamed to evt.
1817         * java/beans/beancontext/BeanContextServiceRevokedEvent.java
1818         (revokeNow): Renamed to invalidateRefs.
1819         * java/io/OptionalDataException.java: Updated FIXME.
1820         (eof): New placeholder field.
1821         (length); Ditto.
1822         * java/io/WriteAbortedException.java (message): Made transient.
1823         * java/lang/ClassNotFoundException.java: Updated comments for JDK 1.2.
1824         * java/lang/Throwable.java (stackTrace): Made transient.
1825         * java/net/InetAddress.java: Made Serializable.
1826         * java/security/KeyPair.java: Made Serializable.
1827         * java/security/Provider.java: Replaced with Classpath version that
1828         implements serialization and proper methods.
1829         * java/text/ChoiceFormat.java (strings): Renamed to choiceFormats.
1830         (limits): Renamed to choiceLimits.
1831
1832 2000-06-24  Tom Tromey  <tromey@cygnus.com>
1833
1834         * java/lang/natDouble.cc (parseDouble): Renamed from
1835         doubleValueOf.
1836         * java/lang/Double.java (parseDouble): Renamed from
1837         doubleValueOf.  Now public.
1838
1839 2000-06-23  Andrew Haley  <aph@cygnus.com>
1840
1841         * java/lang/ieeefp.h: Handle ia64, fr30, mcore.
1842         * java/lang/natThrowable.cc: On IA-64, use __ia64_backtrace.
1843
1844 2000-06-23  Tom Tromey  <tromey@cygnus.com>
1845
1846         * java/lang/reflect/natMethod.cc: Include <alloca.h>.
1847         * java/lang/natDouble.cc: Always include <alloca.h>.
1848         Fix for PR libgcj/267.
1849
1850 2000-06-21  Bryce McKinlay  <bryce@albatross.co.nz>
1851
1852         * java/lang/ThreadGroup.java (add(Thread)): Rename to addThread() to
1853         comply with classpath VM spec.
1854         (add(Group)): Rename to addGroup().
1855         * java/lang/Thread.java (Thread): Use addThread().
1856         * java/lang/natThread.cc (finish_): Use removeThread().
1857
1858 2000-06-20  Bryce McKinlay  <bryce@albatross.co.nz>
1859
1860         * java/lang/ThreadGroup.java: Merged with classpath.
1861         * prims.cc (_Jv_RunMain): Don't use `main_group'.
1862         * gnu/gcj/runtime/FirstThread.java: Remove ThreadGroup constructor
1863         argument.
1864         * java/lang/Thread.java (Thread): Bootstrap initial thread from 
1865         ThreadGroup.root if Thread.currentThread is null. Honour the 
1866         ThreadGroup's max priority setting.
1867
1868 2000-06-18  Tom Tromey  <tromey@cygnus.com>
1869
1870         * java/lang/natClass.cc (forName): Removed dead code.  Initialize
1871         returned class.  For PR gcj/260.
1872
1873 2000-06-16  Tom Tromey  <tromey@cygnus.com>
1874
1875         Fix for PR libgcj/261:
1876         * include/win32-signal.h (MAKE_THROW_FRAME): Added `_exception'
1877         argument.
1878         * include/sparc-signal.h (MAKE_THROW_FRAME): Added `_exception'
1879         argument.  (This is a patch from long ago that somehow went
1880         missing.)
1881
1882 2000-06-15  Tom Tromey  <tromey@cygnus.com>
1883
1884         * gnu/gcj/convert/natIconv.cc (iconv_adapter): New function.
1885         (read): Use it.
1886         (write): Likewise.
1887
1888 2000-06-15  Bryce McKinlay  <bryce@albatross.co.nz>
1889
1890         Fix for PR java.lang/258:
1891         * prims.cc (_Jv_PrimClass): Set state of primitive class to 
1892         JV_STATE_DONE, to prevent accidental initialization.
1893         * java/lang/natClass.cc (_Jv_IsAssignableFrom): Call 
1894         _Jv_InterfaceAssignableFrom if target is an interface and source is an
1895         interface or an abstract class. Remove redundant initializeClass calls. 
1896         Remove duplicate if_idt test.
1897         (_Jv_InterfaceAssignableFrom): New function.
1898         * java/lang/Class.h (_Jv_InterfaceAssignableFrom): Prototype.
1899
1900 2000-05-31  Tom Tromey  <tromey@cygnus.com>
1901
1902         * prims.cc (DECLARE_PRIM_TYPE): Define a vtable as well.
1903         (_Jv_PrimClass): Set `methods' by calling _Jv_FindArrayClass.
1904         * include/jvm.h (struct _Jv_ArrayVTable): Declare.
1905         (NUM_OBJECT_METHODS): New define.
1906         * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added
1907         `array_vtable' parameter.  Added assertion.
1908         * java/lang/Class.h (_Jv_FindArrayClass): Added `array_vtable'
1909         parameter.
1910
1911 2000-05-31  Bryce McKinlay  <bryce@albatross.co.nz>
1912
1913         * gcj/cni.h: Include <string.h>.
1914         * defineclass.cc: Include <alloca.h>.
1915         * interpret.cc: Ditto.
1916         * gij.cc: Include <stdlib.h>.
1917
1918 2000-05-30  Tom Tromey  <tromey@cygnus.com>
1919
1920         * include/name-finder.h: Include <sys/wait.h>.
1921         (_Jv_name_finder::pid): Now of type `pid_t'.
1922         (_Jv_name_finder::~_Jv_name_finder): Call waitpid().
1923         * java/lang/Throwable.java (CPlusPlusDemangler.close): Call
1924         `proc.waitFor()'.
1925
1926 2000-05-24  Warren Levy  <warrenl@cygnus.com>
1927
1928         * java/io/ObjectOutputStream.java (writeObject): Use component type
1929         when writing arrays.
1930         Fixed typo.
1931
1932 2000-05-20  Bryce McKinlay  <bryce@albatross.co.nz>
1933
1934         Fix for PR libgcj/226:
1935         * java/lang/Class.h (_Jv_InitClass): Don't call __builtin_expect,
1936         since this is an installed header.
1937         
1938         Fix for PR libgcj/228:
1939         * java/util/zip/ZipFile (getInputStream): Create inflater with 
1940         nowrapper option.
1941         
1942         * java/util/zip/natInflater.cc (inflate): Throw zlib's error message
1943         with DataFormatException.       
1944
1945 2000-05-20  Tom Tromey  <tromey@cygnus.com>
1946
1947         * Makefile.in: Rebuilt.
1948         * Makefile.am (hack1): Removed.
1949         (awto_files): Likewise.
1950         (libgcjawt_la_SOURCES): Likewise.
1951         (EXTRA_libgcjawt_la_SOURCES): Likewise.
1952         (libgcjawt_la_DEPENDENCIES): Likewise.
1953         (libgcjawt_la_LIBADD): Likewise.
1954         (libgcjawt_la_LDFLAGS): Likewise.
1955         (libgcjawt_la_LINK): Likewise.
1956         ($(awt_java_source_files:.java=.class)): Likewise.
1957         (libgcj.zip): Don't depend on AWT files.
1958         (MOSTLYCLEANFILES): Don't include AWT files.
1959         ($(awto_files)): Removed.
1960         (nat_headers): Removed AWT files.
1961         (cond_awt_java_source_files): Removed.
1962         (ordinary_java_source_files): Added awt_java_source_files.
1963         * libgcj.spec.in (*lib): Removed -lgcjawt.
1964         * configure: Rebuilt.
1965         * configure.in: Removed --enable-java-awt option.
1966
1967 2000-05-20  Bryce McKinlay  <bryce@albatross.co.nz>
1968
1969         * java/util/zip/ZipEntry.java: Implement Cloneable, per JDK1.2 docs.
1970         (ZipEntry): Copy the `name' field.
1971         (clone): Implement JDK1.2 method.
1972         (setCompressedSize): ditto.
1973         (hashCode): ditto.
1974
1975 2000-05-19  Tom Tromey  <tromey@cygnus.com>
1976
1977         * java/io/BufferedWriter.java: Merged with Classpath.
1978         * java/io/BufferedOutputStream.java: Merged with Classpath.
1979
1980 2000-05-16  Andrew Haley  <aph@cygnus.com>
1981
1982         * sysdep/ia64.c (ia64_backtrace_helper): Pass NULL pointer to
1983         build_ia64_frame_state.
1984         * sysdep/ia64-frame.h (build_ia64_frame_state): Match with
1985         defintion in gcc.
1986
1987 2000-05-15  Warren Levy  <warrenl@cygnus.com>
1988
1989         * gnu/gcj/beans/BeanInfoEmbryo.java: Removed.
1990         * gnu/gcj/beans/EmptyBeanInfo.java: Removed.
1991         * gnu/gcj/beans/ExplicitBeanInfo.java: Removed.
1992         * gnu/gcj/beans/IntrospectionIncubator.java: Removed.
1993         * gnu/gcj/beans/editors/ColorEditor.java: Removed.
1994         * gnu/gcj/beans/editors/FontEditor.java: Removed.
1995         * gnu/gcj/beans/editors/NativeBooleanEditor.java: Removed.
1996         * gnu/gcj/beans/editors/NativeByteEditor.java: Removed.
1997         * gnu/gcj/beans/editors/NativeDoubleEditor.java: Removed.
1998         * gnu/gcj/beans/editors/NativeFloatEditor.java: Removed.
1999         * gnu/gcj/beans/editors/NativeIntEditor.java: Removed.
2000         * gnu/gcj/beans/editors/NativeLongEditor.java: Removed.
2001         * gnu/gcj/beans/editors/NativeShortEditor.java: Removed.
2002         * gnu/gcj/beans/editors/StringEditor.java: Removed.
2003         * gnu/gcj/beans/info/ComponentBeanInfo.java: Removed.
2004         * gnu/gcj/io/ClassLoaderObjectInputStream.java: Removed.
2005         * gnu/gcj/io/NullOutputStream.java: Removed.
2006         * gnu/gcj/io/ObjectIdentityWrapper.java: Removed.
2007         * gnu/gcj/lang/ArrayHelper.java: Removed.
2008         * gnu/gcj/lang/ClassHelper.java: Removed.
2009         * gnu/gcj/lang/reflect/TypeSignature.java: Removed.
2010
2011         * gnu/java/beans/BeanInfoEmbryo.java: New file.
2012         * gnu/java/beans/EmptyBeanInfo.java: New file.
2013         * gnu/java/beans/ExplicitBeanInfo.java: New file.
2014         * gnu/java/beans/IntrospectionIncubator.java: New file.
2015         * gnu/java/beans/editors/ColorEditor.java: New file.
2016         * gnu/java/beans/editors/FontEditor.java: New file.
2017         * gnu/java/beans/editors/NativeBooleanEditor.java: New file.
2018         * gnu/java/beans/editors/NativeByteEditor.java: New file.
2019         * gnu/java/beans/editors/NativeDoubleEditor.java: New file.
2020         * gnu/java/beans/editors/NativeFloatEditor.java: New file.
2021         * gnu/java/beans/editors/NativeIntEditor.java: New file.
2022         * gnu/java/beans/editors/NativeLongEditor.java: New file.
2023         * gnu/java/beans/editors/NativeShortEditor.java: New file.
2024         * gnu/java/beans/editors/StringEditor.java: New file.
2025         * gnu/java/beans/info/ComponentBeanInfo.java: New file.
2026         * gnu/java/io/ClassLoaderObjectInputStream.java: New file.
2027         * gnu/java/io/NullOutputStream.java: New file.
2028         * gnu/java/io/ObjectIdentityWrapper.java: New file.
2029         * gnu/java/lang/ArrayHelper.java: New file.
2030         * gnu/java/lang/ClassHelper.java: New file.
2031         * gnu/java/lang/reflect/TypeSignature.java: New file.
2032
2033         * Makefile.am: Updated for moving Classpath files from gnu/gcj
2034         namespace back to the original Classpath gnu/java namespace.
2035         * Makefile.in: Rebuilt.
2036
2037         * java/beans/Beans.java: Namespace change.
2038         * java/beans/EventSetDescriptor.java: Namespace change.
2039         * java/beans/Introspector.java: Namespace change.
2040         * java/beans/PropertyEditorManager.java: Namespace change.
2041         * java/io/ObjectInputStream.java: Namespace change.
2042         * java/io/ObjectOutputStream.java: Namespace change.
2043         * java/io/ObjectStreamClass.java: Namespace change.
2044         * java/io/ObjectStreamField.java: Namespace change.
2045
2046 2000-04-21  Warren Levy  <warrenl@cygnus.com>
2047
2048         * java/io/ObjectInputStream.java: Reverted workarounds of 2000-04-13
2049         now that compiler patch is available.
2050         Removed unneeded System.loadLibrary.
2051         * java/io/ObjectOutputStream.java: Removed unneeded System.loadLibrary.
2052         * java/io/ObjectStreamClass.java: Removed unneeded System.loadLibrary.
2053
2054 2000-04-19  Andrew Haley  <aph@cygnus.com>
2055
2056         * java/lang/natClass.cc (_Jv_IsAssignableFrom): Make sure source
2057         and target classes have been initialized.
2058
2059 2000-04-19  Andrew Haley  <aph@cygnus.com>
2060
2061         * java/lang/String.java: implement Serializable, Comparable.
2062         (compareTo (Object)): New method.
2063
2064 2000-04-19  Warren Levy  <warrenl@cygnus.com>
2065
2066         * java/io/ObjectStreamClass.java (getDefinedSUID): Use getDeclaredField
2067         instead of getField to retrieve non-public field.
2068         (getSerialPersistantFields): Ditto.
2069
2070 2000-04-18  Warren Levy  <warrenl@cygnus.com>
2071
2072         * mauve-libgcj: Turned off object serialization tests temporarily
2073         due to compiler error.
2074
2075 2000-04-17  Warren Levy  <warrenl@cygnus.com>
2076
2077         * java/io/ObjectInputStream.java (DEBUG): Disabled unused method
2078         to avoid build problem.
2079         (DEBUGln): Ditto.
2080         * mauve-libgcj: Turned on object serialization tests.
2081
2082 2000-04-17  Tom Tromey  <tromey@cygnus.com>
2083
2084         * libgcj.spec.in (*lib): Added -lgcjawt.
2085
2086 2000-04-17  Andrew Haley  <aph@cygnus.com>
2087
2088         * Makefile.am: Add new files: 
2089         gnu/gcj/io/SimpleSHSStream.java, gnu/gcj/io/natSimpleSHSStream.cc,
2090         gnu/gcj/io/shs.cc.
2091         * Makefile.in: Rebuilt.
2092
2093         * java/lang/natClass.cc (_Jv_IsAssignableFrom): Check for an
2094         interface that has no implementations.
2095         Check for an attempt to assign an abstract class to an interface.
2096
2097         * java/io/ObjectStreamClass.java (setUID): Use a SimpleSHSStream
2098         if we fail to find MessageDigest.getInstance ("SHA").
2099
2100         * gnu/gcj/io/SimpleSHSStream.java: New file.
2101         * gnu/gcj/io/natSimpleSHSStream.java: New file.
2102         * gnu/gcj/io/shs.cc: New file.
2103         * gnu/gcj/io/shs.h: new file.
2104
2105         * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Make arrays
2106         serializable.
2107
2108         * gnu/gcj/lang/reflect/TypeSignature.java: Don't remove
2109         punctuation from the classname of an array element.
2110
2111         * gcj/javaprims.h: Add SimpleDigestStream.
2112         
2113 2000-04-17  Andrew Haley  <aph@cygnus.com>
2114
2115         * java/lang/natClass.cc (getPrivateField): Make recursive calls
2116         to getPrivateField for superclasses.
2117  
2118 2000-04-14  Andrew Haley  <aph@cygnus.com>
2119
2120         * Makefile.am: Add new files:
2121         java/io/ObjectOutputStream$PutField.h,
2122         java/io/ObjectInputStream$GetField.h,java/io/natObjectInputStream.cc,
2123         java/io/natObjectOutputStream.cc
2124         * Makefile.in: Rebuilt.
2125         * gcj/Makefile.in: Rebuilt.
2126         * include/Makefile.in: Rebuilt.
2127         * java/lang/Class.h (getPrivateField): New method.
2128         (getPrivateMethod): Ditto.
2129         Make java::io::ObjectOutputStream, java::io::ObjectInputStream,
2130         and java::io::ObjectStreamClass our friends.
2131         * java/lang/natClass.cc (getPrivateField): New method.
2132         (getPrivateMethod): Ditto.
2133         (_Jv_IsAssignableFrom): Return false for Interface with no IDT.
2134         * gcj/javaprims.h: Add serialization classes.   
2135         * java/io/ObjectInputStream.java (setBooleanField): Rewrite in Java.
2136         (setByteField): Ditto.
2137         (setCharField): Ditto.
2138         (setDoubleField): Ditto.
2139         (setFloatField): Ditto.
2140         (setIntField): Ditto.
2141         (setLongField): Ditto.
2142         (setShortField): Ditto.
2143         (setObjectField): Ditto.
2144         * java/io/ObjectOutputStream.java: (getBooleanField): Rewrite in
2145         Java.
2146         (getByteField): Ditto.
2147         (getCharField): Ditto.
2148         (getDoubleField): Ditto.
2149         (getFloatField): Ditto.
2150         (getIntField): Ditto.
2151         (getLongField): Ditto.
2152         (getShortField): Ditto.
2153         (getObjectField): Ditto.
2154         * java/io/ObjectStreamClass.java (hasClassInitializer): Rewrite in
2155         Java.
2156         (getSerialPersistantFields): Ditto.
2157         (getDefinedSUID): Ditto.
2158         * java/io/natObjectOutputStream.cc: New file.
2159         * java/io/natObjectInputStream.cc: New file.
2160         
2161 2000-04-13  Warren Levy  <warrenl@cygnus.com>
2162
2163         * java/io/ObjectInputStream.java: Temporary workarounds for compiler
2164         problems.  Revert to previous version to reproduce and when fixed.
2165
2166 2000-04-13  Warren Levy  <warrenl@cygnus.com>
2167
2168         * gnu/gcj/io/ClassLoaderObjectInputStream.java: New file.
2169         * gnu/gcj/io/NullOutputStream.java: New file.
2170         * gnu/gcj/lang/reflect/TypeSignature.java: New file.
2171         * java/io/BlockDataException.java: New file.
2172         * java/io/Externalizable.java: New file.
2173         * java/io/InvalidClassException.java: New file.
2174         * java/io/InvalidObjectException.java: New file.
2175         * java/io/NotActiveException.java: New file.
2176         * java/io/NotSerializableException.java: New file.
2177         * java/io/ObjectInput.java: New file.
2178         * java/io/ObjectInputStream.java: New file.
2179         * java/io/ObjectInputValidation.java: New file.
2180         * java/io/ObjectOutput.java: New file.
2181         * java/io/ObjectOutputStream.java: New file.
2182         * java/io/ObjectStreamClass.java: New file.
2183         * java/io/ObjectStreamConstants.java: New file.
2184         * java/io/ObjectStreamField.java: New file.
2185         * java/io/Replaceable.java: New file.
2186         * java/io/Resolvable.java: New file.
2187         * java/io/SerializablePermission.java: New file.
2188         * java/io/WriteAbortedException.java: New file.
2189         * java/security/BasicPermission.java: New file.
2190         * java/security/DigestOutputStream.java: New file.
2191         * java/security/Guard.java: New file.
2192         * java/security/Permission.java: New file.
2193         * java/security/PermissionCollection.java: New file.
2194         * Makefile.am: Added above files.
2195         * Makefile.in: Rebuilt.
2196
2197         * java/beans/Beans.java (instantiate): Activated serialization code.
2198         * java/lang/SecurityManager.java (checkPermission): New method.
2199
2200 2000-04-12  Warren Levy  <warrenl@cygnus.com>
2201
2202         * gnu/gcj/beans/BeanInfoEmbryo.java: New file.
2203         * gnu/gcj/beans/EmptyBeanInfo.java: New file.
2204         * gnu/gcj/beans/ExplicitBeanInfo.java: New file.
2205         * gnu/gcj/beans/IntrospectionIncubator.java: New file.
2206         * gnu/gcj/beans/editors/ColorEditor.java: New file.
2207         * gnu/gcj/beans/editors/FontEditor.java: New file.
2208         * gnu/gcj/beans/editors/NativeBooleanEditor.java: New file.
2209         * gnu/gcj/beans/editors/NativeByteEditor.java: New file.
2210         * gnu/gcj/beans/editors/NativeDoubleEditor.java: New file.
2211         * gnu/gcj/beans/editors/NativeFloatEditor.java: New file.
2212         * gnu/gcj/beans/editors/NativeIntEditor.java: New file.
2213         * gnu/gcj/beans/editors/NativeLongEditor.java: New file.
2214         * gnu/gcj/beans/editors/NativeShortEditor.java: New file.
2215         * gnu/gcj/beans/editors/StringEditor.java: New file.
2216         * gnu/gcj/beans/info/ComponentBeanInfo.java: New file.
2217         * gnu/gcj/io/ObjectIdentityWrapper.java: New file.
2218         * gnu/gcj/lang/ArrayHelper.java: New file.
2219         * gnu/gcj/lang/ClassHelper.java: New file.
2220         * java/beans/BeanDescriptor.java: New file.
2221         * java/beans/BeanInfo.java: New file.
2222         * java/beans/Beans.java: New file.
2223         * java/beans/Customizer.java: New file.
2224         * java/beans/DesignMode.java: New file.
2225         * java/beans/EventSetDescriptor.java: New file.
2226         * java/beans/FeatureDescriptor.java: New file.
2227         * java/beans/IndexedPropertyDescriptor.java: New file.
2228         * java/beans/IntrospectionException.java: New file.
2229         * java/beans/Introspector.java: New file.
2230         * java/beans/MethodDescriptor.java: New file.
2231         * java/beans/ParameterDescriptor.java: New file.
2232         * java/beans/PropertyChangeEvent.java: New file.
2233         * java/beans/PropertyChangeListener.java: New file.
2234         * java/beans/PropertyChangeSupport.java: New file.
2235         * java/beans/PropertyDescriptor.java: New file.
2236         * java/beans/PropertyEditor.java: New file.
2237         * java/beans/PropertyEditorManager.java: New file.
2238         * java/beans/PropertyEditorSupport.java: New file.
2239         * java/beans/PropertyVetoException.java: New file.
2240         * java/beans/SimpleBeanInfo.java: New file.
2241         * java/beans/VetoableChangeListener.java: New file.
2242         * java/beans/VetoableChangeSupport.java: New file.
2243         * java/beans/Visibility.java: New file.
2244         * java/beans/beancontext/BeanContext.java: New file.
2245         * java/beans/beancontext/BeanContextChild.java: New file.
2246         * java/beans/beancontext/BeanContextChildComponentProxy.java: New file.
2247         * java/beans/beancontext/BeanContextChildSupport.java: New file.
2248         * java/beans/beancontext/BeanContextContainerProxy.java: New file.
2249         * java/beans/beancontext/BeanContextEvent.java: New file.
2250         * java/beans/beancontext/BeanContextMembershipEvent.java: New file.
2251         * java/beans/beancontext/BeanContextMembershipListener.java: New file.
2252         * java/beans/beancontext/BeanContextProxy.java: New file.
2253         * java/beans/beancontext/BeanContextServiceAvailableEvent.java:
2254         New file.
2255         * java/beans/beancontext/BeanContextServiceProvider.java: New file.
2256         * java/beans/beancontext/BeanContextServiceProviderBeanInfo.java:
2257         New file.
2258         * java/beans/beancontext/BeanContextServiceRevokedEvent.java: New file.
2259         * java/beans/beancontext/BeanContextServiceRevokedListener.java:
2260         New file.
2261         * java/beans/beancontext/BeanContextServices.java: New file.
2262         * java/beans/beancontext/BeanContextServicesListener.java: New file.
2263         * java/util/AbstractCollection.java: New file.
2264         * java/util/AbstractList.java: New file.
2265         * java/util/Arrays.java: New file.
2266         * Makefile.am: Added above files.
2267         * Makefile.in: Rebuilt.
2268
2269 2000-04-11  Warren Levy  <warrenl@cygnus.com>
2270
2271         * java/awt/AWTError.java: New file.
2272         * java/awt/AWTEvent.java: New file.
2273         * java/awt/AWTException.java: New file.
2274         * java/awt/ActiveEvent.java: New file.
2275         * java/awt/Adjustable.java: New file.
2276         * java/awt/BorderLayout.java: New file.
2277         * java/awt/Color.java: New file.
2278         * java/awt/Component.java: New file.
2279         * java/awt/Container.java: New file.
2280         * java/awt/Dimension.java: New file.
2281         * java/awt/Event.java: New file.
2282         * java/awt/Font.java: New file.
2283         * java/awt/Frame.java: New file.
2284         * java/awt/Graphics.java: New file.
2285         * java/awt/IllegalComponentStateException.java: New file.
2286         * java/awt/Image.java: New file.
2287         * java/awt/ItemSelectable.java: New file.
2288         * java/awt/LayoutManager.java: New file.
2289         * java/awt/LayoutManager2.java: New file.
2290         * java/awt/Menu.java: New file.
2291         * java/awt/MenuBar.java: New file.
2292         * java/awt/MenuComponent.java: New file.
2293         * java/awt/MenuContainer.java: New file.
2294         * java/awt/MenuItem.java: New file.
2295         * java/awt/Paint.java: New file.
2296         * java/awt/PaintContext.java: New file.
2297         * java/awt/Point.java: New file.
2298         * java/awt/Rectangle.java: New file.
2299         * java/awt/Shape.java: New file.
2300         * java/awt/TextArea.java: New file.
2301         * java/awt/TextComponent.java: New file.
2302         * java/awt/Toolkit.java: New file.
2303         * java/awt/Transparency.java: New file.
2304         * java/awt/Window.java: New file.
2305         * java/awt/natToolkit.cc: New file.
2306         * java/awt/event/AWTEventListener.java: New file.
2307         * java/awt/event/ActionEvent.java: New file.
2308         * java/awt/event/ActionListener.java: New file.
2309         * java/awt/event/AdjustmentEvent.java: New file.
2310         * java/awt/event/AdjustmentListener.java: New file.
2311         * java/awt/event/ComponentAdapter.java: New file.
2312         * java/awt/event/ComponentEvent.java: New file.
2313         * java/awt/event/ComponentListener.java: New file.
2314         * java/awt/event/ContainerAdapter.java: New file.
2315         * java/awt/event/ContainerEvent.java: New file.
2316         * java/awt/event/ContainerListener.java: New file.
2317         * java/awt/event/FocusAdapter.java: New file.
2318         * java/awt/event/FocusEvent.java: New file.
2319         * java/awt/event/FocusListener.java: New file.
2320         * java/awt/event/InputEvent.java: New file.
2321         * java/awt/event/InputMethodEvent.java: New file.
2322         * java/awt/event/InputMethodListener.java: New file.
2323         * java/awt/event/InvocationEvent.java: New file.
2324         * java/awt/event/ItemEvent.java: New file.
2325         * java/awt/event/ItemListener.java: New file.
2326         * java/awt/event/KeyAdapter.java: New file.
2327         * java/awt/event/KeyEvent.java: New file.
2328         * java/awt/event/KeyListener.java: New file.
2329         * java/awt/event/MouseAdapter.java: New file.
2330         * java/awt/event/MouseEvent.java: New file.
2331         * java/awt/event/MouseListener.java: New file.
2332         * java/awt/event/MouseMotionAdapter.java: New file.
2333         * java/awt/event/MouseMotionListener.java: New file.
2334         * java/awt/event/PaintEvent.java: New file.
2335         * java/awt/event/TextEvent.java: New file.
2336         * java/awt/event/TextListener.java: New file.
2337         * java/awt/event/WindowAdapter.java: New file.
2338         * java/awt/event/WindowEvent.java: New file.
2339         * java/awt/event/WindowListener.java: New file.
2340         * java/awt/geom/Dimension2D.java: New file.
2341         * java/awt/geom/Point2D.java: New file.
2342         * java/awt/peer/ComponentPeer.java: New file.
2343         * java/awt/peer/ContainerPeer.java: New file.
2344         * java/awt/peer/FramePeer.java: New file.
2345         * java/awt/peer/WindowPeer.java: New file.
2346         * java/util/Collection.java: New file.
2347         * java/util/Comparator.java: New file.
2348         * java/util/Iterator.java: New file.
2349         * java/util/List.java: New file.
2350         * java/util/ListIterator.java: New file.
2351         * Makefile.am: Added above files.
2352         * Makefile.in: Rebuilt.
2353
2354 2000-04-10  Warren Levy  <warrenl@cygnus.com>
2355
2356         * gnu/gcj/runtime/MethodInvocation.java: Fixed copyright.
2357         * java/lang/FirstThread.java: Ditto.
2358         * java/lang/StringBuffer.java: Ditto.
2359         * mauve-libgcj: Turned on java.math, java.sql and java.security tests.
2360
2361         * gnu/gcj/math/MPN.java (rshift): Undid Boehm's patch of 03-14.
2362         Special case handled in java.math.BigInteger.
2363         * java/math/BigInteger.java (divide): Handle the special case when
2364         dividing by 1 and the high bit of the dividend is set.
2365         (setShiftRight): Handle case when count == 0.
2366
2367 2000-04-05  Andrew Haley  <aph@cygnus.com>
2368
2369         * java/net/URL.java (setURLStreamHandler): Make "file" protocol a
2370         special case.
2371
2372 2000-04-05  Andrew Haley  <aph@cygnus.com>
2373
2374         * sysdep/ia64.c (rse_address_add): Delete.
2375         (IS_NaT_COLLECTION_ADDR): Delete.
2376         (ia64_backtrace_helper): check for null unwind_info.
2377         
2378         * sysdep/ia64-frame.h: add calc_caller_bsp.
2379
2380         * java/lang/natThrowable.cc (printRawStackTrace): Flush
2381         PrintWriter.
2382
2383         * prims.cc (_Jv_divI): Use _Jv_ThrowSignal.
2384         (_Jv_remI): Likewise.
2385         (_Jv_divJ): Likewise.
2386         (_Jv_remJ): Likewise.
2387         
2388         * interpret.cc (continue1): Use divide subroutines to guarantee
2389         correct Java standard behaviour.
2390         Floating-point division should not abort; make it so.
2391
2392 2000-03-29  Tom Tromey  <tromey@cygnus.com>
2393
2394         * configure: Rebuilt.
2395         * configure.in: Test against `libgcj_sjlj', not
2396         `enable_sjlj_exceptions'.  Rearranged code to allow SYSDEP_SOURCES
2397         to be set even when using sjlj.
2398
2399 2000-03-24  Andrew Haley  <aph@cygnus.com>
2400
2401         * Makefile.am: Add file addr2name.awk.
2402         * Makefile.in: Rebuilt.
2403         * addr2name.awk: New file.
2404         * name-finder.cc (_Jv_name_finder): Call addr2name.awk to do name
2405         lookups on ia64.
2406         * java/lang/natThrowable.cc(printRawStackTrace): Don't print out a
2407         blank line.
2408         
2409 2000-03-22  Andrew Haley  <aph@cygnus.com>
2410
2411         * configure.host: Add -funwind-tables for IA64.
2412         * Makefile.am (c_source_files): Add SYSDEP_SORCES.
2413         * Makefile.in: Rebuilt.
2414         * java/lang/natThrowable.cc (fillInStackTrace): Add ia64 case.
2415         * sysdep/ia64.c: New file.
2416         * sysdep/ia64-frame.h: New file.
2417         * configure.in: Add sysdep/ia64.c for ia64.
2418         * configure: Rebuilt.
2419         
2420 2000-03-17  Andrew Haley  <aph@cygnus.com>
2421
2422         * java/lang/natString.cc: Remove `register' keyword.
2423         interpret.cc: ditto.
2424
2425 2000-03-16  Andrew Haley  <aph@cygnus.com>
2426
2427         * configure.host (ia64): Enable interpreter.
2428
2429 2000-03-14  Hans Boehm  <boehm@acm.org>
2430
2431         * gnu/gcj/math/MPN.java (rshift): Handle shift 32 specially.
2432
2433 2000-03-14  Andrew Haley  <aph@cygnus.com>
2434
2435         * include/default-signal.h (MAKE_THROW_FRAME): Add arg
2436         `_exception'.
2437
2438 2000-03-10  Andrew Haley  <aph@cygnus.com>
2439
2440         * java/lang/ieeefp.h: Import latest version from fdlibm.
2441
2442 2000-03-14  Andrew Haley  <aph@cygnus.com>
2443
2444         * prims.cc (_Jv_ThrowSignal): New function.
2445         (catch_segv): Add arg `_exception' to MAKE_THROW_FRAME.
2446         (catch_fpe): Ditto.
2447         * include/sparc-signal.h (MAKE_THROW_FRAME): Ditto
2448         * include/i386-signal.h (MAKE_THROW_FRAME): Ditto.
2449         * include/ppc-signal.h: New file.
2450
2451 2000-05-18  Bryce McKinlay  <bryce@albatross.co.nz>
2452
2453         * java/lang/Thread.java: Declare `data' as Object, not RawData.
2454         * java/lang/natThread.java (initialize_native): Cast `data' to
2455         jobject.
2456         * gnu/gcj/RawData.java: Clarify documentation.
2457
2458         From Gregory R. Warnes <warnes@biostat.washington.edu>:
2459         * gnu/gcj/protocol/jar/Connection.java (getJarFile): Test for null
2460         `jarFile', not `jarFileURL'.
2461
2462 2000-05-15  Andrew Haley  <aph@cygnus.com>
2463
2464         * include/ppc-signal.h: New file.
2465
2466 2000-05-11  Tom Tromey  <tromey@cygnus.com>
2467
2468         * java/util/zip/ZipInputStream.java (getNextEntry): When reading
2469         file headers, don't include `size' in the skip call.
2470
2471 2000-05-10  Bryce McKinlay  <bryce@albatross.co.nz>
2472
2473         * java/lang/StringBuffer.java (delete): Call arrayCopy() correctly.
2474         Avoid arrayCopy() call where possible. Update `count' _after_ calling
2475         arrayCopy().
2476         (replace): Reimplemented. Fix javadoc.
2477         (reverse): Call ensureCapacity_unsynchronized().
2478         (StringBuffer (String)): Use DEFAULT_CAPACITY.
2479
2480         (replace): Calculate length for arraycopy() correctly.
2481         
2482 2000-05-09  Tom Tromey  <tromey@cygnus.com>
2483
2484         * java/lang/StringBuffer.java (toString): Don't mark buffer as
2485         shared.
2486         (insert(int,char[],int,int): New method.
2487         (delete): New method from Classpath.
2488         (deleteCharAt): Likewise.
2489         (substring): Likewise.
2490         (shared): No longer private.
2491         Added JavaDoc comments from Classpath.
2492         * java/lang/String.java (String(StringBuffer)): Ensure `buffer' is
2493         shared.
2494
2495 2000-05-07  Tom Tromey  <tromey@cygnus.com>
2496
2497         * Makefile.in: Rebuilt.
2498         * Makefile.am (LIBLINK): New macro.
2499         (libgcj_la_LINK): Use it.
2500         (libgcjawt_la_LINK): Likewise.
2501
2502 2000-05-06  Tom Tromey  <tromey@cygnus.com>
2503
2504         * Makefile.in: Rebuilt.
2505         * Makefile.am (libgcj.zip): Don't pass -L to javac.
2506
2507 2000-05-05  Tom Tromey  <tromey@cygnus.com>
2508
2509         Fix for PR libgcj/220:
2510         * Makefile.in: Rebuilt.
2511         * Makefile.am (gij_LDFLAGS): Don't use libstdc++.
2512         (jv_convert_LDFLAGS): Likewise.
2513         (libgcj_la_LDFLAGS): Likewise.
2514         (GCJLINK): New macro.
2515         (jv_convert_LINK): Use it.
2516         (gij_LINK): Likewise.
2517         (libgcj_la_LINK): New macro.
2518         (libgcjawt_la_LINK): Likewise.
2519
2520 2000-05-04  Tom Tromey  <tromey@cygnus.com>
2521
2522         * gcj/field.h (JvFieldIsRef): Return false for gnu.gcj.RawData
2523         field.
2524         * boehm.cc (_Jv_MarkObj): Removed dead code.  Use `STATIC', not
2525         `0x0008'.
2526         Include Modifier.h.
2527
2528 2000-05-05  Bryce McKinlay  <bryce@albatross.co.nz>
2529
2530         * java/lang/natClass.cc (isInstance): Use __builtin_expect.
2531         (_Jv_IsAssignableFrom): Ditto.
2532         (_Jv_IsInstanceOf): Ditto.
2533         (_Jv_CheckCast): Ditto.
2534         (_Jv_CheckArrayStore): Ditto.
2535         * java/lang/Class.h (_Jv_InitClass): Ditto.     
2536         * java/lang/natObject.cc (_Jv_MonitorEnter): __builtin_expect `false',
2537         not `0'.
2538         (notify): Ditto.
2539         (notifyAll): Ditto.
2540         (wait): Ditto.
2541         (_Jv_MonitorExit): Ditto.
2542         * boehm.cc (_Jv_MarkObj): Ditto.
2543         (_Jv_MarkObj): Ditto.
2544         (_Jv_MarkArray): Ditto.
2545         * prims.cc (_Jv_AllocObject): Ditto.
2546         (_Jv_NewObjectArray): Ditto.
2547         (_Jv_NewPrimArray): Ditto.
2548         (_Jv_Malloc): Ditto.
2549         (_Jv_Realloc): Ditto.
2550         (_Jv_MallocUnchecked): Ditto.
2551         (_Jv_divI): Ditto.
2552         (_Jv_remI): Ditto.
2553         (_Jv_divJ): Ditto.
2554         (_Jv_remJ): Ditto.
2555
2556 2000-05-04  Tom Tromey  <tromey@cygnus.com>
2557
2558         * java/util/Locale.java (Locale): Don't explicitly check for
2559         null.
2560         * java/util/Hashtable.java (containsKey): Don't explicitly check
2561         for null.
2562         (get): Likewise.
2563         * java/util/BitSet.java (and, or, xor): Don't explicitly check for
2564         null.
2565         * java/util/zip/ZipEntry.java (ZipEntry): Don't explicitly check
2566         for null.
2567         * java/text/StringCharacterIterator.java
2568         (StringCharacterIterator): Don't check for null.
2569         * java/text/ChoiceFormat.java (setChoices): Don't explicitly check
2570         for null pointer.
2571         * java/net/MulticastSocket.java (joinGroup): Don't explicitly
2572         check for null pointer.
2573         (leaveGroup): Likewise.
2574         * java/net/DatagramPacket.java (DatagramPacket): Removed erroneous
2575         comment.
2576         (setData): Likewise.
2577         * java/lang/ThreadGroup.java (ThreadGroup): Don't explicitly check
2578         for `p==null'.
2579
2580 2000-04-28  Jakub Jelinek  <jakub@redhat.com>
2581
2582         * Makefile.am (GCJCOMPILE, JCFLAGS, JF1CLAGS, jv_convert_LINK,
2583         gij_LINK, libgcj.zip, .java=.class): Move -L option out of FLAGS.
2584         (libgcj_la_LDFLAGS): Add -L../libstdc++ for in-gcc builds.
2585         (jv_convert_LDFLAGS, gij_LDFLAGS): Add `pwd`/../libstdc++ to
2586         -rpath for in-gcc builds.
2587         * Makefile.in: Rebuilt.
2588
2589 2000-04-28  Tom Tromey  <tromey@cygnus.com>
2590
2591         * libgcj.spec.in (*jc1): Added -fasynchronous-exceptions.
2592         Fix for PR gcj/218.
2593
2594 2000-04-28  Bryce McKinlay  <bryce@albatross.co.nz>
2595
2596         * libjava/java/lang/String.java (toString): Remove `final' hack.
2597
2598 2000-04-05  Tom Tromey  <tromey@cygnus.com>
2599
2600         Runtime support for PR gcj/2:
2601         * prims.cc (_Jv_ThrowNullPointerException): New function.
2602         * include/jvm.h (_Jv_ThrowNullPointerException): Declare.
2603
2604 2000-04-27  Bryce McKinlay  <bryce@albatross.co.nz>
2605
2606         * prims.cc (_Jv_NewObjectArray): Fix typo.
2607
2608 2000-04-26  Tom Tromey  <tromey@cygnus.com>
2609
2610         * Makefile.in: Rebuilt.
2611         * Makefile.am (AM_CXXFLAGS): Added -fasynchronous-exceptions.
2612
2613 2000-04-24  Jeff Sturm  <jsturm@sigma6.com>
2614
2615         * gnu/gcj/runtime/natFirstThread.cc (run): Initialize class before
2616         calling main.
2617
2618 2000-04-22  Anthony Green  <green@cygnus.com>
2619
2620         * include/jvm.h (__builtin_expect): Define as unused for now.
2621         * java/lang/natObject.cc (_Jv_MonitorEnter): Add __builtin_expect.
2622         (notify): Ditto.
2623         (notifyAll): Ditto.
2624         (wait): Ditto.
2625         (_Jv_MonitorExit): Ditto.
2626         * boehm.cc (_Jv_MarkObj): Ditto.
2627         (_Jv_MarkObj): Ditto.
2628         (_Jv_MarkArray): Ditto.
2629         (_Jv_AllocBytes): Ditto.
2630         * prims.cc (_Jv_AllocObject): Ditto.
2631         (_Jv_NewObjectArray): Ditto.
2632         (_Jv_NewPrimArray): Ditto.
2633         (_Jv_Malloc): Ditto.
2634         (_Jv_Realloc): Ditto.
2635         (_Jv_MallocUnchecked): Ditto.
2636         (_Jv_divI): Ditto.
2637         (_Jv_remI): Ditto.
2638         (_Jv_divJ): Ditto.
2639         (_Jv_remJ): Ditto.
2640
2641         * include/Makefile.in: Rebuilt.
2642         * include/Makefile.am (include_HEADERS): Add jvmpi.h.
2643
2644 2000-04-21  Tom Tromey  <tromey@cygnus.com>
2645
2646         * java/io/PipedInputStream.java, java/io/PipedOutputStream.java:
2647         Yet another new version from Classpath.
2648
2649         Fix for PR libgcj/15:
2650         * java/util/natGregorianCalendar.cc (_REENTRANT,
2651         _POSIX_PTHREAD_SEMANTICS): Don't define.
2652         * java/net/natInetAddress.cc (_REENTRANT): Don't define.
2653         * java/lang/natSystem.cc (_REENTRANT, _POSIX_PTHREAD_SEMANTICS):
2654         Don't define.
2655         * java/io/natFile.cc (_REENTRANT, _POSIX_PTHREAD_SEMANTICS): Don't
2656         define.
2657         * configure: Rebuilt.
2658         * configure.in: If using POSIX threads, define _REENTRANT if
2659         needed.  Define _POSIX_PTHREAD_SEMANTICS.  Don't define
2660         GETHOSTBYNAME_R_NEEDS_REENTRANT.
2661
2662         * java/io/PipedInputStream.java, java/io/PipedReader.java,
2663         java/io/PipedOutputStream.java, java/io/PipedWriter.java: New
2664         version from Classpath.
2665
2666         Fix for PR libgcj/213:
2667         * Makefile.in: Rebuilt.
2668         * Makefile.am (gij_SOURCES): Added gij.cc.
2669         (EXTRA_gij_SOURCES): Removed.
2670         (gij_LDADD): Removed gij.lo.
2671         (gij_DEPENDENCIES): Likewise.
2672         ($(gij_OBJECTS)): Depend on nat_headers.
2673
2674         * gnu/gcj/protocol/file/Handler.java (openConnection): Use
2675         `setURL', not `url.set'.
2676
2677 2000-04-20  Tom Tromey  <tromey@cygnus.com>
2678
2679         Fix for PR java.io/204:
2680         * java/io/PipedInputStream.java, java/io/PipedReader.java,
2681         java/io/PipedOutputStream.java, java/io/PipedWriter.java: Imported
2682         from Classpath.
2683
2684         Fix for PR libgcj/212:
2685         * gcj/javaprims.h (_Jv_word, _Jv_word2): Removed definitions.
2686         * include/jvm.h (_Jv_word, _Jv_word2): Define.
2687         * java/lang/Class.h (_Jv_word): Declare.
2688
2689         * jni.cc (_Jv_JNI_PopSystemFrame): Clear `env->ex'.
2690
2691 2000-04-19  Tom Tromey  <tromey@cygnus.com>
2692
2693         * jni.cc (_Jv_JNI_FindClass): Use system class loader if class
2694         doesn't have a loader.
2695
2696 2000-04-19  Bryce McKinlay  <bryce@albatross.co.nz>
2697
2698         * boehm.cc: (_Jv_MarkObj, _Jv_MarkArray): Cast pointers for
2699         MAYBE_MARK to ptr_t, for compatibility with new GC version.
2700
2701 2000-04-16  Bryce McKinlay  <bryce@albatross.co.nz>
2702
2703         * java/io/natFileDescriptorPosix.cc (open): Use mode 0666. Fix for PR
2704         libgcj/202.
2705         (available): Initialize `where' to prevent bogus compiler warning.
2706
2707 2000-04-12  Tom Tromey  <tromey@cygnus.com>
2708
2709         * java/lang/natString.cc (intern): Temporarily disable finalizer
2710         registration.
2711
2712         * java/lang/natString.cc (unintern): Added `obj' argument.
2713         (intern): Register finalizer for string.
2714         * java/lang/String.java (unintern): Now static; added obj
2715         argument.
2716
2717 2000-04-11  Tom Tromey  <tromey@cygnus.com>
2718
2719         * java/util/Vector.java (VectorEnumeration): Now `final'.
2720         * java/util/Hashtable.java (HashtableEntry): Now `final'.
2721         (HashtableEnumeration): Likewise.
2722         * java/util/zip/ZipFile.java (ZipEnumeration): Now `final'.
2723         * java/text/RuleBasedCollator.java (RBCElement): Now `final'.
2724
2725 2000-04-10  Warren Levy  <warrenl@cygnus.com>
2726
2727         * java/io/ObjectStreamException.java: New file.
2728         * java/io/OptionalDataException.java: New file.
2729         * java/io/StreamCorruptedException.java: New file.
2730         * java/math/BigDecimal.java: New file.
2731         * java/sql/CallableStatement.java: New file.
2732         * java/sql/Connection.java: New file.
2733         * java/sql/DataTruncation.java: New file.
2734         * java/sql/DatabaseMetaData.java: New file.
2735         * java/sql/Date.java: New file.
2736         * java/sql/Driver.java: New file.
2737         * java/sql/DriverManager.java: New file.
2738         * java/sql/DriverPropertyInfo.java: New file.
2739         * java/sql/PreparedStatement.java: New file.
2740         * java/sql/ResultSet.java: New file.
2741         * java/sql/ResultSetMetaData.java: New file.
2742         * java/sql/SQLException.java: New file.
2743         * java/sql/SQLWarning.java: New file.
2744         * java/sql/Statement.java: New file.
2745         * java/sql/Time.java: New file.
2746         * java/sql/Timestamp.java: New file.
2747         * java/sql/Types.java: New file.
2748         * Makefile.am: Added above new files.
2749         * Makefile.in: Rebuilt.
2750
2751         * mauve-libgcj: Turned on java.math, java.sql and java.security tests.
2752         * java/net/MulticastSocket.java (MulticastSocket): Pass values a la
2753         DatagramSocket constructor instead of null.
2754
2755 2000-04-08  Anthony Green  <green@cygnus.com>
2756
2757         * include/posix-threads.h (_Jv_MutexUnlock): Replace
2758         _JV_NOT_OWNER.
2759         
2760 2000-04-08  Anthony Green  <green@cygnus.com>
2761
2762         * posix-threads.cc (_Jv_MutexLock): Moved back to posix-threads.h.
2763         (_Jv_MutexUnlock): Ditto.
2764         * include/posix-threads.h (_Jv_MutexLock): From posix-threads.cc.
2765         (_Jv_MutexUnlock): Ditto.
2766
2767 2000-04-08  Anthony Green  <green@cygnus.com>
2768
2769         * java/lang/StringBuffer.java (ensureCapacity): Don't call Math::max.
2770         (ensureCapacity_unsynchronized): New private method.
2771         (append): Use ensureCapacity_unsynchronized.
2772
2773 2000-04-08  Tom Tromey  <tromey@cygnus.com>
2774
2775         * Makefile.in: Rebuilt.
2776         * Makefile.am (awt_java_source_files): Added new files.
2777         * java/awt/IllegalComponentStateException.java: New file.
2778         * java/awt/ItemSelectable.java: New file.
2779         * java/awt/event/WindowEvent.java: Finished.
2780         * java/awt/event/TextEvent.java: Finished.
2781         * java/awt/event/ContainerEvent.java: New file.
2782         * java/awt/Component.java (getX, getY): New methods.
2783         * java/awt/event/PaintEvent.java: New file.
2784         * java/awt/event/MouseEvent.java: New file.
2785         * java/awt/ActiveEvent.java: New file.
2786         * java/awt/event/KeyEvent.java: Finished.
2787         * java/awt/event/ItemEvent.java: New file.
2788         * java/awt/Adjustable.java: New file.
2789         * java/awt/event/InputMethodEvent.java: New file.
2790         * java/awt/event/InputEvent.java: Finished.
2791         * java/awt/event/FocusEvent.java: New file.
2792         * java/awt/event/MouseMotionAdapter.java: New file.
2793         * java/awt/event/MouseAdapter.java: New file.
2794         * java/awt/event/KeyAdapter.java: New file.
2795         * java/awt/event/FocusAdapter.java: New file.
2796         * java/awt/event/ContainerAdapter.java: New file.
2797         * java/awt/event/ComponentEvent.java: Finished.
2798         * java/awt/event/AdjustmentEvent.java: New file.
2799         * java/awt/event/ComponentAdapter.java: New file.
2800         * java/awt/event/ActionEvent.java: Finished.
2801         * java/awt/event/MouseMotionListener.java: New file.
2802         * java/awt/event/MouseListener.java: New file.
2803         * java/awt/event/ItemListener.java: New file.
2804         * java/awt/event/InputMethodListener.java: New file.
2805         * java/awt/event/ContainerListener.java: New file.
2806         * java/awt/event/FocusListener.java: New file.
2807         * java/awt/event/ComponentListener.java: New file.
2808         * java/awt/event/AWTEventListener.java: New file.
2809         * java/awt/event/AdjustmentListener.java: New file.
2810
2811 2000-04-08  Anthony Green  <green@cygnus.com>
2812
2813         * java/lang/natObject.cc (_Jv_MonitorEnter): Only perform null
2814         check when we have to.
2815
2816         * gcj/array.h: Mark elements(JArray<T>& x) and elements(JArray<T>*
2817         x) as `inline'.
2818
2819         * java/util/StringTokenizer.java: Minor optimization.  Eliminates
2820         one method call.
2821
2822         * java/util/Vector.java (VectorEnumeration.nextElement): Manually
2823         inline hasMoreElements.
2824
2825 2000-04-05  Tom Tromey  <tromey@cygnus.com>
2826
2827         * configure: Rebuilt.
2828         * configure.in: Recognize --enable-java-awt.
2829         (AWT): New conditional.
2830         * Makefile.in: Rebuilt.
2831         * Makefile.am (toolexeclib_LTLIBRARIES): Build libgcjawt.la if
2832         requested.
2833         (libgcjawt_la_SOURCES): New macro.
2834         (EXTRA_libgcjawt_la_SOURCES): Likewise.
2835         (libgcjawt_la_DEPENDENCIES): Likewise.
2836         (libgcjawt_la_LIBADD): Likewise.
2837         (libgcjawt_la_LDFLAGS): Likewise.
2838         (libgcj.zip): Depend on cond_java_awt_source_files
2839         (cond_awt_java_source_files): New macro.
2840         (MOSTLYCLEANFILES): Added awto_files.
2841         (awto_files): New macro.  Use where javao_files used.
2842         (nat_headers): Use cond_awt_java_source_files.
2843
2844 2000-04-04  Tom Tromey  <tromey@cygnus.com>
2845
2846         * Makefile.in: Rebuilt.
2847         * Makefile.am (awt_java_source_files): Added AWTException.java.
2848         * java/awt/AWTException.java: New file.
2849
2850 2000-04-03  Tom Tromey  <tromey@cygnus.com>
2851
2852         * include/jvm.h (_Jv_GetArrayElementFromElementType): More
2853         commentary from Alex.
2854
2855         * Makefile.in: Rebuilt.
2856         * Makefile.am ($(javao_files)): Depend on libgcj.zip.
2857         From H.J. Lu.
2858
2859 Sun Apr  2 08:27:18 2000  Anthony Green  <green@redhat.com>
2860
2861         * configure: Rebuilt.
2862         * configure.in: Add --disable-jvmpi.
2863         * include/config.h.in: Rebuilt.
2864         * acconfig.h: Add ENABLE_JVMPI.
2865          
2866         * include/jvm.h: Declare _Jv_DisableGC and _Jv_EnableGC.
2867         (_Jv_JVMPI_Notify_OBJECT_ALLOC): New define.
2868         (_Jv_JVMPI_Notify_THREAD_END): New define.
2869         (_Jv_JVMPI_Notify_THREAD_END): New define.
2870         * prims.cc (_Jv_JVMPI_Notify_OBJECT_ALLOC): Declare.
2871         (_Jv_JVMPI_Notify_THREAD_END): Declare.
2872         (_Jv_JVMPI_Notify_THREAD_END): Declare.
2873
2874         * prims.cc (_Jv_AllocObject): Generate JVMPI object allocation
2875         events.
2876
2877         * java/lang/natThread.cc: Include JVMPI headers if necessary.
2878         (finish_): Generate JVMPI thread end events.
2879         (run_): Generate JVMPI thread start events.
2880         * gnu/gcj/runtime/natFirstThread.cc (run): Call JNI_OnLoad for any
2881         preloaded JNI library.
2882         Include JVMPI headers if necessary.
2883         (run): Generate JVMPI thread start events.
2884
2885         * boehm.cc: Define GC_disable and GC_enable.
2886         (_Jv_DisableGC): New function.
2887         (_Jv_EnableGC): New function.
2888         (disable_gc_mutex): Declare.
2889         * nogc.cc (_Jv_DisableGC): New function.
2890         (_Jv_EnableGC): New function.
2891           
2892         * jni.cc (_Jv_JNI_GetEnv): Handle JVMPI interface requests.
2893         (_Jv_JVMPI_Interface): Define.
2894         (jvmpiEnableEvent): New function.
2895         (_Jv_JNI_Init): Initialize _Jv_JVMPI_Interface.
2896           
2897         * include/jvmpi.h: New file.
2898
2899 2000-03-27  Bryce McKinlay  <bryce@albatross.co.nz>
2900
2901         * Makefile.in: New #defines and friends for Thread.h.
2902         * Makefile.am: Ditto.
2903         * posix-threads.cc: (struct starter): Remove `object'.
2904         (_Jv_CondWait): Use interruptable condition variables and new
2905         recursive mutexes. New return codes on interrupt or non-ownership
2906         of mutex.
2907         (_Jv_CondNotify): Ditto.
2908         (_Jv_CondNotifyAll): Ditto.
2909         (_Jv_ThreadInterrupt): Set thread interrupt flag directly. Interrupt
2910         the target thread by signaling its wait condition.
2911         (_Jv_ThreadInitData): Set `thread_obj' in the thread data struct,
2912         not the starter struct. Initialize wait_mutex and wait_cond.
2913         (_Jv_MutexLock): New recursive mutex implementation. Moved from 
2914         posix-threads.h.
2915         (_Jv_MutexUnlock): Ditto.
2916         (really_start): Set info->data->thread from pthread_self() to work 
2917         around a race condition. Destroy wait_mutex and wait_cond when run()
2918         returns.
2919         * java/lang/Thread.java: (isInterrupted_): Renamed to overloaded
2920         `isInterrupted(boolean)'. Clear interrupted flag if clear_flag is
2921         set.
2922         startable_flag: New private field.
2923         (Thread): Initialize `startable_flag'.
2924         (toString): Check for null thread group.
2925         * java/lang/natThread.cc: (struct natThread): New fields 
2926         `join_mutex', `join_cond'. Removed fields `joiner', `next'.
2927         (class locker): Removed.
2928         (initialize_native): Initialize `join_cond' and `join_mutex'.
2929         (interrupt): Now just calls _Jv_ThreadInterrupt().
2930         (join): Simplified. Just wait on the target thread's join condition.
2931         (finish_): Remove join list code. Unset thread group. Signal
2932         potential joiners by notifying the dying threads join_cond.
2933         (start): Check for illegal restarts.
2934         * java/lang/natObject.cc: Check for return value of _Jv_CondWait and
2935         act appropriatly.
2936         * include/posix-threads.h: Remove all HAVE_RECURSIVE_MUTEX related
2937         #defines and #ifdefs.
2938         (struct _Jv_Thread_t): New fields `thread_obj', `wait_cond',
2939         `wait_mutex', `next'.
2940         (struct _Jv_ConditionVariable_t): Define as a struct instead of 
2941         directly mapping to pthread_cond_t.
2942         (struct _Jv_Mutex_t): New recursive implementation.
2943         (_Jv_PthreadCheckMonitor): Reimplemented. Simple `owner' check.
2944         _Jv_HaveCondDestroy: Never define this for posix-threads.
2945         (_Jv_CondNotify): Remove inline implementation(s), prototype instead.
2946         (_Jv_CondNotifyAll): Ditto.
2947         (_Jv_MutexLock): Ditto.
2948         (_Jv_MutexUnlock): Ditto.
2949         (_Jv_MutexInit): Changed to reflect new mutex implementation.
2950         (_Jv_MutexDestroy): Ditto.
2951         (_Jv_CondDestroy): Removed.
2952         (_Jv_PthreadGetMutex): Removed.
2953         * include/win32-threads.h: (_Jv_CondNotify): Guess _JV_NOT_OWNER on an 
2954         error. Add a FIXME about this.
2955         (_Jv_CondNotifyAll): Ditto.
2956         * win32-threads.cc: (_Jv_CondWait): Return 0 on a timeout. Guess 
2957         _JV_NOT_OWNER on other errors. Add FIXME.
2958
2959 2000-03-26  Tom Tromey  <tromey@cygnus.com>
2960
2961         * jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception
2962         set, throw it.
2963         (call): Don't throw exception here.
2964
2965 2000-03-26  Tom Tromey  <tromey@cygnus.com>
2966
2967         * java/lang/mprec.h: Use SIZEOF_VOID_P.
2968         * interpret.cc: Use SIZEOF_VOID_P.
2969         * include/java-cpool.h (_Jv_storeLong): Use SIZEOF_VOID_P.
2970         (_Jv_loadLong): Likewise.
2971         (_Jv_storeDouble): Likewise.
2972         * configure: Rebuilt.
2973         * configure.in: Check size of void*.
2974
2975         * resolve.cc (ncode): Use FFI_PREP_RAW_CLOSURE and FFI_RAW_SIZE.
2976
2977 2000-03-26  Hans Boehm  <boehm@acm.org>
2978
2979         * include/java-cpool.h (_Jv_storeLong, _Jv_loadLong,
2980         _Jv_storeDouble, _Jv_loadDouble): Define differently on 64 bit
2981         machine.
2982         * java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN or
2983         __IEEE_LITTLE_ENDIAN appropriately on IA64.
2984         * java/lang/mprec.h: Don't define Pack_32 on 64 bit machine.
2985         * javaprims.h (_Jv_word): Added `l' and `d' entries in 64 bit
2986         case.
2987         * resolve.cc (FFI_PREP_RAW_CLOSURE): New define.
2988         (FFI_RAW_SIZE): Likewise.
2989         (_Jv_InterpMethod::ncode): Use them.
2990         * interpret.cc (PUSHL, PUSHD, POPL, POPD, LOADL, LOADD, STOREL,
2991         STORED): Define differently on a 64 bit machine.
2992         (continue1): Use ffi_java_raw_call when appropriate.
2993  
2994 2000-03-24  Warren Levy  <warrenl@cygnus.com>
2995
2996         * java/math/BigInteger.java(divide): Handle the special case when
2997         dividing by 1 and the high bit of the dividend is set.
2998         (setShiftRight): Handle case when count == 0.
2999
3000 2000-03-24  Warren Levy  <warrenl@cygnus.com>
3001
3002         * java/awt/Font.java(isBold): Fix syntax error.
3003         (isItalic): ditto.
3004         * java/awt/Frame.java(postEvent): ditto.
3005         * java/awt/Menu.java(postEvent): ditto.
3006         * java/awt/MenuBar.java(postEvent): ditto.
3007         * java/awt/Toolkit.java(init): Included a stub.
3008
3009 2000-03-21  Bryce McKinlay  <bryce@albatross.co.nz>
3010
3011         * java/awt/Event.java: Add all the event type constants.
3012         (Event): Implemented constructors.
3013         (controlDown): Implemented.
3014         (metaDown): Implemented.
3015         (paramString): Stubbed.
3016         (shiftDown): Implemented.
3017         (toString): Implemented.
3018         (translate): Implemented.
3019
3020 2000-03-21  Bryce McKinlay  <bryce@albatross.co.nz>
3021
3022         * java/lang/natClass.cc (isInstance): Initialize `this'.
3023         (isAssignableFrom): Initialize `this' and `klass'.
3024         (_Jv_IsAssignableFrom): If an interface has no idt, it is not 
3025         implemented by any loaded class, so return false.
3026         * java/lang/natClass.cc (isInstance): Use _Jv_IsAssignableFrom(), 
3027         not Class.isAssignableFrom(). Use JV_CLASS, not getClass().
3028
3029 2000-03-19  Warren Levy  <warrenl@cygnus.com>
3030
3031         * java/awt/Color.java: Specified java.io for Serializable.
3032         * java/awt/Toolkit.java: Imported java.net.URL.
3033
3034 2000-03-19  Warren Levy  <warrenl@cygnus.com>
3035
3036         * java/awt/Color.java: Rewrote to be more memory efficient (& compile).
3037
3038 2000-03-16  Warren Levy  <warrenl@cygnus.com>
3039
3040         * java/awt/Color.java: New file.
3041         * java/awt/Graphics.java: New file.
3042         * java/awt/Image.java: New file.
3043         * java/awt/Paint.java: New file.
3044         * java/awt/PaintContext.java: New file.
3045         * java/awt/Transparency.java: New file.
3046         * java/util/Collection.java: New file.
3047         * java/util/Comparator.java: New file.
3048         * java/util/Iterator.java: New file.
3049         * java/util/List.java: New file.
3050         * java/util/ListIterator.java: New file.
3051         * Makefile.am: Added above new files.
3052         * Makefile.in: Rebuilt.
3053
3054         * java/awt/Font.java (PLAIN): New field.
3055         (BOLD): New field.
3056         (ITALIC): New field.
3057         (ROMAN_BASELINE): New field.
3058         (CENTER_BASELINE): New field.
3059         (HANGING_BASELINE): New field.
3060         (name): New field.
3061         (style): New field.
3062         (size): New field.
3063         (pointSize): New field.
3064         (Font): Implemented constructor.
3065         (isPlain): Implemented method.
3066         (isBold): Implemented method.
3067         (isItalic): Implemented method.
3068         (getName): Implemented method.
3069         (getStyle): Implemented method.
3070         (getSize): Implemented method.
3071         (getSize2D): Implemented method.
3072         (decode): Stubbed.
3073         * java/awt/Frame.java (getFont): Stubbed.
3074         (postEvent): Stubbed.
3075         (remove): Stubbed.
3076         * java/awt/Menu.java (postEvent): Stubbed.
3077         * java/awt/MenuBar.java (getFont): Stubbed.
3078         (postEvent): Stubbed.
3079         * java/awt/Toolkit.java (getImage): Added abstract method.
3080
3081 2000-03-15  Tom Tromey  <tromey@cygnus.com>
3082
3083         * java/io/natFileDescriptorWin32.cc (winerr): Now static.
3084
3085         * prims.cc (win32_exception_handler): Reformatted.
3086
3087         * include/win32-threads.h (_Jv_HaveCondDestroy): New define.
3088         (_Jv_HaveMutexDestroy): Likewise.
3089
3090 2000-03-15 Jon Beniston <jb7216@bristol.ac.uk>
3091
3092         * java/io/natFileDescriptorWin32.cc: New file.
3093         * java/io/natFileWin32.cc: New file.
3094         * java/net/natInetAddress.cc: Added conditional inclusion of
3095         Windows / Winsock headers.
3096         * java/net/natPlainDatagramSocketImpl.cc: Added conditional
3097         inclusion of Windows / Winsock headers.
3098         * java/net/natPlainSocketImpl.cc: Added conditional inclusion of
3099         Windows / Winsock headers.
3100         * include/win32-signal.h: New file.
3101         * include/win32-threads.h: New file.
3102         * win32-threads.cc: New file.
3103         * exception.cc (win32_get_restart_frame): New function.
3104         * prims.cc (win32_exception_handler): New function.
3105         (main_init) Performs Winsock initialisation.
3106         (main_init) Installs exeception handler.
3107
3108 2000-03-14  Tom Tromey  <tromey@cygnus.com>
3109
3110         * jni.cc (mangled_name): Fixed assertion.
3111         (JNI_GetCreatedJavaVMs): Don't comment out `buf_len' argument;
3112         turned assert into actual failure.
3113
3114 2000-03-09  Warren Levy  <warrenl@cygnus.com>
3115
3116         * java/security/Key.java(serialVersionUID): Set to 0 for now.
3117         * java/security/interfaces/DSAPrivateKey.java(serialVersionUID): Ditto.
3118         * java/security/interfaces/DSAPublicKey.java(serialVersionUID): Ditto.
3119
3120 2000-03-09  Warren Levy  <warrenl@cygnus.com>
3121
3122         * java/security/AlgorithmParameterGeneratorSpi.java: New file.
3123         * java/security/DigestException.java: New file.
3124         * java/security/GeneralSecurityException.java: New file.
3125         * java/security/InvalidAlgorithmParameterException.java: New file.
3126         * java/security/InvalidKeyException.java: New file.
3127         * java/security/InvalidParameterException.java: New file.
3128         * java/security/Key.java: New file.
3129         * java/security/KeyException.java: New file.
3130         * java/security/KeyPair.java: New file.
3131         * java/security/KeyPairGenerator.java: New file.
3132         * java/security/KeyPairGeneratorSpi.java: New file.
3133         * java/security/NoSuchProviderException.java: New file.
3134         * java/security/PrivateKey.java: New file.
3135         * java/security/Provider.java: New file.
3136         * java/security/PublicKey.java: New file.
3137         * java/security/SecureRandom.java: New file.
3138         * java/security/Security.java: New file.
3139         * java/security/Signature.java: New file.
3140         * java/security/SignatureException.java: New file.
3141         * java/security/interfaces/DSAKey.java: New file.
3142         * java/security/interfaces/DSAParams.java: New file.
3143         * java/security/interfaces/DSAPrivateKey.java: New file.
3144         * java/security/interfaces/DSAPublicKey.java: New file.
3145         * java/security/interfaces/RSAPrivateCrtKey.java: New file.
3146         * java/security/interfaces/RSAPrivateKey.java: New file.
3147         * java/security/interfaces/RSAPublicKey.java: New file.
3148         * java/security/spec/AlgorithmParameterSpec.java: New file.
3149         * java/security/spec/InvalidKeySpecException.java: New file.
3150         * java/security/spec/InvalidParameterSpecException.java: New file.
3151         * java/security/spec/KeySpec.java: New file.
3152         * java/security/spec/RSAPrivateCrtKeySpec.java: New file.
3153         * java/security/spec/RSAPrivateKeySpec.java: New file.
3154         * java/security/spec/RSAPublicKeySpec.java: New file.
3155         * Makefile.am: Added above java.security files.
3156         * Makefile.in: Rebuilt.
3157
3158         * java/security/MessageDigest.java: Rewritten.
3159         * java/security/SecureClassLoader.java: Added JDK1.2 comment.
3160
3161 2000-03-09  Bryce McKinlay  <bryce@albatross.co.nz>
3162
3163         * README: Updated.
3164
3165 2000-03-09  Bryce McKinlay  <bryce@albatross.co.nz>
3166
3167         * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Call
3168         _Jv_PrepareConstantTimeTables.
3169         * java/lang/natClass.cc (_Jv_PrepareConstantTimeTables): Array
3170         classes should have an IDT, so don't return if klass is an array
3171         class.
3172
3173 2000-03-08  Tom Tromey  <tromey@cygnus.com>
3174
3175         * java/lang/reflect/natArray.cc (newInstance): Don't allow array
3176         of `void' to be created.
3177
3178 2000-03-08  Warren Levy  <warrenl@cygnus.com>
3179
3180         * java/math/BigInteger.java(signum): Handle zero properly.
3181
3182 2000-03-07  Tom Tromey  <tromey@cygnus.com>
3183
3184         * All files: Updated copyright information.
3185         * COPYING: New file.
3186         * COPYING.LIB: Removed.
3187         * LIBGCJ_LICENSE: We now use GPL + special exception.
3188
3189 2000-03-07  Bryce McKinlay  <bryce@albatross.co.nz>
3190
3191         * resolve.cc (_Jv_SearchMethodInClass): New function.
3192         (_Jv_ResolvePoolEntry): Search superinterfaces for interface methods.
3193         * java/lang/Class.h (_Jv_SearchMethodInClass): New prototype.
3194
3195 2000-03-07  Bryce McKinlay  <bryce@albatross.co.nz>
3196
3197         * java/lang/Class.h (union _Jv_IDispatchTable): New declaration.
3198         (struct _Jv_ifaces): New declaration.
3199         JV_CLASS: New macro definition.
3200         (getComponentType): Relocate below isArray() for inlining.
3201         (getModifiers): Declare `inline'.
3202         (getSuperclass): Ditto.
3203         (isArray): Ditto.
3204         (isPrimitive): Ditto.
3205         (_Jv_IsAssignableFrom): New prototype.
3206         (_Jv_LookupInterfaceMethodIdx): New prototype. Predeclare with "C"
3207         linkage.
3208         (_Jv_InitClass): Move from natClass.cc. Declare `inline'.
3209         Check for JV_STATE_DONE before invoking initializeClass().
3210         (_Jv_PrepareConstantTimeTables): New prototype.
3211         (_Jv_GetInterfaces): Ditto.
3212         (_Jv_GenerateITable): Ditto.
3213         (_Jv_GetMethodString): Ditto.
3214         (_Jv_AppendPartialITable): Ditto.
3215         (_Jv_FindIIndex): Ditto.
3216         depth, ancestors, idt: New class fields.
3217
3218         * java/lang/natClass.cc (isAssignableFrom): Move functionality to
3219         inline function `_Jv_IsAssignableFrom'. Use that function.
3220         (isInstance): Declare `inline'.
3221         (initializeClass): Get lock on class before checking `state'. Unlock 
3222         before calling resolveClass0. Call _Jv_PrepareConstantTimeTables with 
3223         the lock held.
3224         (_Jv_LookupInterfaceMethod): Use _Jv_GetMessageString.
3225         (_Jv_IsAssignableFrom): New inline function. Test assignability using 
3226         class->depth and ancestor table.
3227         (_Jv_IsInstanceOf): Use _Jv_IsAssignableFrom.
3228         (_Jv_CheckCast): Move from prims.cc. Use JV_CLASS and
3229         _Jv_IsAssignableFrom.
3230         (_Jv_CheckArrayStore): Ditto.
3231         (_Jv_LookupInterfaceMethodIdx): New function. 
3232         INITIAL_IOFFSETS_LEN, INITIAL_IFACES_LEN: New #defines.
3233         (_Jv_PrepareConstantTimeTables): New function.
3234         (_Jv_IndexOf): Ditto.
3235         (_Jv_GetInterfaces): Ditto.
3236         (_Jv_GenerateITable): Ditto.
3237         (_Jv_GetMethodString): Ditto.
3238         (_Jv_AppendPartialITable): Ditto.
3239         iindex_mutex, iindex_mutex_initialized: New static fields.
3240         (_Jv_FindIIndex): New function.
3241
3242         * java/lang/natClassLoader.cc (_Jv_NewClass): Set new jclass fields.
3243
3244         * prims.cc (_Jv_CheckCast): Moved to natClass.cc.
3245         (_Jv_CheckArrayStore): Ditto.
3246         (JvNewCharArray, JvNewBooleanArray, JvNewByteArray, JvNewShortArray,
3247         JvNewIntArray, JvNewLongArray, JvNewFloatArray, JvNewDoubleArray):
3248         Moved to gcj/array.h.
3249         (_Jv_Realloc): New function.
3250
3251         * gcj/cni.h: Move _Jv_PrimClass definitions to gcj/array.h.
3252
3253         * gcj/array.h: _Jv_PrimClass definitions moved from gcj/cni.h.
3254         (JvNewCharArray, JvNewBooleanArray, JvNewByteArray,
3255         JvNewShortArray, JvNewIntArray, JvNewLongArray, JvNewFloatArray,
3256         JvNewDoubleArray): Implementations moved from prims.cc and
3257         declared `inline'.
3258
3259         * gcj/javaprims.h (_Jv_Realloc): Prototype.
3260
3261         * include/jvm.h (_Jv_LookupInterfaceMethodIdx): Prototype.
3262
3263 2000-03-06  Tom Tromey  <tromey@cygnus.com>
3264
3265         * jni.cc (MARK_NONE): New define.
3266         (MARK_USER): Likewise.
3267         (MARK_SYSTEM): Likewise.
3268         (struct _Jv_JNI_LocalFrame): Made `marker' bigger and `size'
3269         smaller.
3270         (_Jv_JNI_DeleteLocalRef): Use MARK_NONE in assert.
3271         (_Jv_JNI_EnsureLocalCapacity): Use MARK_NONE.
3272         (_Jv_JNI_PushLocalFrame): Use MARK_USER.
3273         (_Jv_JNI_PopLocalFrame): New version with additional `stop'
3274         argument.
3275         (call): Use MARK_SYSTEM.
3276         (_Jv_GetJNIEnvNewFrame): New function.
3277         (_Jv_LookupJNIMethod): New function.
3278         (_Jv_JNI_PopSystemFrame): New function.
3279         (call): Use _Jv_JNI_PopSystemFrame and _Jv_LookupJNIMethod.
3280
3281 2000-03-05  Tom Tromey  <tromey@cygnus.com>
3282
3283         Fix for PR libgcj/43:
3284         * include/Makefile.in: Rebuilt.
3285         * include/Makefile.am (include_HEADERS): New define.
3286
3287 2000-03-05  Anthony Green  <green@redhat.com>
3288
3289         * gcj/javaprims.h ("Java"): Remove FirstThread.
3290
3291         * configure.host: Fix __NO_MATH_INLNES botch.
3292
3293         * Makefile.in: Rebuilt.
3294         * Makefile.am (nat_source_files): Move natFirstThread.cc.
3295         (gnu/gcj/runtime/FirstThread.h): Moved.
3296         (ordinary_java_source_files): Move FirstThread.java.
3297         * prims.cc: Deal with FirstThread movement.
3298         (JvRunMain): Ditto.
3299         (_Jv_RunMain): Ditto.
3300
3301         * gnu/gcj/runtime/FirstThread.java: Moved from java/lang.
3302         * gnu/gcj/runtime/natFirstThread.cc: Ditto.
3303
3304 2000-03-05  Warren Levy  <warrenl@cygnus.com>
3305
3306         * java/net/DatagramSocket.java(DatagramSocket(int,InetAddress)):
3307           Handle null addresses.
3308
3309 2000-03-04  Anthony Green  <green@redhat.com>
3310
3311         * configure.host (libgcj_flags): Define __NO_MATH_INLINES.
3312         See PR gcj/151.
3313
3314 2000-03-04  Anthony Green  <green@redhat.com>
3315
3316         * configure: Rebuilt.
3317         * configure.in (ZLIBTESTSPEC): New macro.
3318         (GCTESTSPEC): New macro.
3319         (LIBGCJTESTSPEC): New macro.
3320         * libgcj-test.spec.in: New file.
3321
3322 2000-03-02  Tom Tromey  <tromey@cygnus.com>
3323
3324         * include/java-interp.h: Don't include MethodInvocation.h.
3325         (class _Jv_InterpMethod): Don't make MethodInvocation a friend.
3326         * Makefile.in: Rebuilt.
3327         * Makefile.am (gnu/gcj/runtime/MethodInvocation.h): Removed.
3328         (ordinary_java_source_files): Don't mention
3329         MethodInvocation.java.
3330         * gnu/gcj/runtime/MethodInvocation.java: Removed.
3331         * interpret.cc (MethodInvocation::continue1): Removed.
3332         (run): Handle exceptions here.
3333         * java/lang/ClassLoader.java (defineClass1, defineClass2):
3334         Removed.
3335         * java/lang/natClassLoader.cc (defineClass0): Catch exceptions
3336         here.
3337         (defineClass2): Removed.
3338
3339         * java/lang/reflect/Method.java (hack_trampoline, hack_call):
3340         Removed.
3341         * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Catch
3342         exceptions here.
3343         (hack_call): Removed.
3344
3345         * java/lang/Class.h (Class): Removed hackRunInitializers,
3346         hackTrampoline.
3347         * java/lang/natClass.cc (hackRunInitializers): Removed.
3348         (initializeClass): Catch exceptions here.
3349         Include ExceptionInInitializerError.h.
3350         * java/lang/Class.java (hackTrampoline, hackRunInitializers):
3351         Removed.
3352
3353         * java/lang/Object.h (Object): Don't mention hack12_6.
3354         * java/lang/natObject.cc (_Jv_FinalizeObject): Catch exceptions
3355         here.
3356         * java/lang/Object.java (hack12_6): Removed.
3357
3358         * java/lang/natThread.cc (run_): Renamed.  Catch exceptions here.
3359         (start): Use run_, not run__.
3360         * java/lang/Thread.java (run_): Renamed from run__; old run_
3361         removed.
3362
3363         * jni.cc (_Jv_JNI_FindClass): Handle exceptions.
3364         (_Jv_JNI_EnsureLocalCapacity): Likewise.
3365         (_Jv_JNI_DefineClass): Likewise.
3366         (_Jv_JNI_ThrowNew): Likewise.
3367         (_Jv_JNI_AllocObject): Likewise.
3368         (_Jv_JNI_GetAnyMethodID): Likewise.
3369         (_Jv_JNI_CallAnyMethodV): Likewise.
3370         (_Jv_JNI_CallAnyMethodA): Likewise.
3371         (_Jv_JNI_CallAnyVoidMethodV): Likewise.
3372         (_Jv_JNI_CallAnyVoidMethodA): Likewise.
3373         (_Jv_JNI_GetAnyFieldID): Likewise.
3374         (_Jv_JNI_NewString): Likewise.
3375         (_Jv_JNI_NewStringUTF): Likewise.
3376         (_Jv_JNI_GetStringUTFChars): Likewise.
3377         (_Jv_JNI_NewObjectArray): Likewise.
3378         (_Jv_JNI_NewPrimitiveArray): Likewise.
3379         (_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
3380         (_Jv_JNI_GetStringRegion): Likewise.
3381         (_Jv_JNI_GetStringUTFRegion): Likewise.
3382         (_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
3383         (_Jv_JNI_MonitorEnter): Likewise.
3384         (_Jv_JNI_MonitorExit): Likewise.
3385         (_Jv_JNI_ToReflectedField): Likewise.
3386         (_Jv_JNI_ToReflectedMethod): Likewise.
3387         (_Jv_JNI_RegisterNatives): Likewise.
3388         (_Jv_JNI_AttachCurrentThread): Likewise.
3389         (_Jv_JNI_DestroyJavaVM): Likewise.
3390
3391 2000-02-28  Mo DeJong  <mdejong@cygnus.com>
3392
3393         * java/util/zip/ZipOutputStream.java(closeEntry) : Fixed
3394         error caused by the incorrect casting of a long to an int.
3395
3396 2000-02-28  Mo DeJong  <mdejong@cygnus.com>
3397
3398         * java/util/zip/ZipOutputStream.java(write_entry) : Fixed
3399         SIGSEV caused by use of the wrong instance variable.
3400
3401 2000-02-27  Bryce McKinlay  <bryce@albatross.co.nz>
3402
3403         * java/io/File.java (File(String, String)): For dirPath, treat an
3404         empty String the same as `null'.
3405
3406 2000-02-26  Anthony Green  <green@cygnus.com>
3407
3408         * gnu/gcj/io/MimeTypes.java: Test for null.
3409
3410         * jni.cc (_Jv_JNI_AttachCurrentThread): Minor cleanup.
3411         (JNI_GetCreatedJavaVMs): Remove compiler warning.
3412
3413         * java/net/URLConnection.java: Update copyright notice.
3414
3415 2000-02-25  Tom Tromey  <tromey@cygnus.com>
3416
3417         * jni.cc (_Jv_JNI_RegisterNatives): Conditionalize body on
3418         `INTERPRETER'.
3419
3420 2000-02-25  Bryce McKinlay  <bryce@albatross.co.nz>
3421
3422         * java/net/URLConnection.java (initializeDateFormats): New
3423         private method.
3424         (getHeaderFieldDate): Call initializeDateFormats if required.
3425         locale, dateFormat1, dateFormat2, dateFormat3: Don't initialize
3426         these.
3427         Fix for PR libgcj/38.
3428
3429 2000-02-24  Warren Levy  <warrenl@cygnus.com>
3430
3431         * java/math/BigInteger.java(ival): Made private.
3432         (words): Ditto.
3433         (neg): Ditto.
3434
3435 2000-02-20  Anthony Green  <green@cygnus.com>
3436
3437         * Makefile.in: Rebuilt.
3438         * Makefile.am (ordinary_java_source_files): Add
3439         gnu/gcj/io/DefaultMimeTypes.java and gnu/gcj/io/MimeTypes.java
3440
3441         * scripts/MakeDefaultMimeTypes.java: New file.
3442         * scripts/mime.types: New file.
3443         * scripts/classes.pl: Moved from top level.
3444         * classes.pl: Moved to scripts directory.
3445
3446         * java/net/URLConnection.java: Implement guessContentTypeFromName.
3447
3448         * gnu/gcj/io/MimeTypes.java: New file.
3449         * gnu/gcj/io/DefaultMimeTypes.java: New file.
3450
3451 2000-02-20  Tom Tromey  <tromey@cygnus.com>
3452
3453         * boehm.cc (_Jv_AllocBytes): Clear returned memory.
3454
3455 2000-02-19  Bryce McKinlay  <bryce@albatross.co.nz>
3456
3457         * java/util/zip/ZipEntry.java (setCrc): Fix overflow.
3458         (setSize): ditto.
3459
3460 2000-02-18  Tom Tromey  <tromey@cygnus.com>
3461
3462         * include/jvm.h (_Jv_GetJavaVM): Declare.
3463         * include/java-interp.h (_Jv_GetFirstMethod): New function.
3464         (_Jv_MethodBase::get_method): New method.
3465         (_Jv_JNIMethod::set_function): New method.
3466         * jni.cc (_Jv_JNI_UnregisterNatives): New function.
3467         (_Jv_JNI_RegisterNatives): New function.
3468         (_Jv_JNIFunctions): Updated for new functions.
3469         (_Jv_GetJavaVM): New function.
3470         (_Jv_JNI_GetJavaVM): Use it.  Now static.
3471         (_Jv_JNI_AttachCurrentThread): Create a new JNIEnv if this thread
3472         is already a Java thread but does not have a JNIEnv yet.
3473
3474         * java/lang/natRuntime.cc (_load): Pass the JavaVM to the onload
3475         function.
3476
3477 2000-02-17  Tom Tromey  <tromey@cygnus.com>
3478
3479         * gcj/field.h (_Jv_Field::getClass): Don't use JvAssert.
3480         Fixes PR gcj/152.
3481
3482 2000-02-16  Tom Tromey  <tromey@cygnus.com>
3483
3484         * jni.cc (_Jv_JNI_CallStaticMethodV): Added some assertions.
3485
3486         * jni.cc (_Jv_JNI_NewObjectV): Corrected assertion.
3487         (_Jv_JNI_NewObject): Likewise.
3488         (_Jv_JNI_NewObjectA): Likewise.
3489         (_Jv_JNI_CallAnyMethodV): In constructor case, pass correct value
3490         as "return" type to _Jv_CallAnyMethodA.
3491         (_Jv_JNI_CallAnyMethodA): Likewise.
3492         (_Jv_JNI_CallAnyVoidMethodV): Likewise.
3493
3494         * jni.cc (_Jv_JNI_FindClass): Use ClassLoader.loadClass, not
3495         findClass.
3496
3497 2000-02-15  Tom Tromey  <tromey@cygnus.com>
3498
3499         * resolve.cc (ncode): Set args_raw_size.  Compute jni_cif and
3500         jni_arg_types.
3501         (init_cif): Added `rtype_p' argument.
3502         * include/java-interp.h (class _Jv_MethodBase): Added
3503         args_raw_size.
3504         (class _Jv_InterpMethod): Removed args_raw_size.
3505         (class _Jv_JNIMethod): Added jni_cif and jni_arg_types fields.
3506         * jni.cc (call): Pass JNIEnv and (for static methods only) the
3507         class pointer as well as the ordinary arguments.
3508
3509         * jni.cc (mangled_name): Skip leading `(' in signature.
3510
3511         * jni.cc (add_char): Added missing `else'.
3512
3513         * jni.cc (_Jv_JNI_AttachCurrentThread): Return error if malloc
3514         fails.
3515
3516 2000-02-15  Bryce McKinlay  <bryce@albatross.co.nz>
3517
3518         * NEWS: Updated.
3519
3520         * java/lang/natRuntime.cc (_load): Include library path with
3521         exception message.
3522
3523         * java/lang/natSystem.cc (init_properties): set java.lang.classpath 
3524         property.
3525
3526         * java/lang/natThread.cc (dumpStack): Removed.
3527         * java/lang/Thread.java (dumpStack): Implemented.
3528
3529 2000-02-15  Tom Tromey  <tromey@cygnus.com>
3530
3531         * java/lang/natRuntime.cc (_load): On Unix, prefix library name
3532         with `lib' for loadLibrary.  Fixes PR gcj/150.
3533
3534 2000-02-14  Warren Levy  <warrenl@cygnus.com>
3535
3536         * gnu/gcj/math/MPN.java(findLowestBit): Made methods public.
3537
3538         * java/math/BigInteger.java(BigInteger(int,int,java.util.Random):
3539           New constructor.
3540         (min): Implemented.
3541         (max): Implemented.
3542         (modPow): Rewritten to not use the naive, slow, brute force approach.
3543         (isProbablePrime): Implemented.
3544         (testBit): Implemented.
3545         (flipBit): Implemented.
3546         (getLowestSetBit): Implemented.
3547
3548 2000-02-16  Anthony Green  <green@redhat.com>
3549
3550         * configure.host: Use the same options for i386 and i486 as we do
3551         for i586 and i686.
3552
3553 2000-02-12  Tom Tromey  <tromey@cygnus.com>
3554
3555         * java/io/File.java (createTempFile): Use low bits from counter,
3556         not high bits.
3557
3558 Fri Feb 11 19:48:08 2000  Anthony Green  <green@cygnus.com>
3559
3560         * THANKS: More thanks.
3561
3562 2000-02-11  Tom Tromey  <tromey@cygnus.com>
3563
3564         * interpret.cc (continue1): Use STOREA, not STOREI, to implement
3565         astore instruction.  From Hans Boehm.
3566
3567 2000-02-11  Warren Levy  <warrenl@cygnus.com>
3568
3569         * java/math/BigInteger.java(BigInteger(String, int)): New constructor.
3570         (BigInteger(String)): New constructor.
3571         (not): Rewritten using version from Kawa's BitOps class.
3572         (valueOf): New private methods from Kawa's BitOps class.
3573         (swappedOp): ditto.
3574         (bitOp): ditto.
3575         (setBitOp): ditto.
3576         (and): Implemented.
3577         (or): Implemented.
3578         (xor): Implemented.
3579         (andNot): Implemented.
3580         (clearBit): Implemented.
3581         (setBit): Implemented.
3582         (bitCount): Implemented.
3583         (toByteArray): Implemented.
3584
3585 2000-02-11  Tom Tromey  <tromey@cygnus.com>
3586
3587         * java/io/File.java (nextValue): Now synchronized.
3588
3589 2000-02-10  Tom Tromey  <tromey@cygnus.com>
3590
3591         * java/io/natFileDescriptorPosix.cc (open): Recognize EXCL flag.
3592         * java/io/FileDescriptor.java (EXCL): New static field.
3593         * java/io/File.java (tmpdir): New static field.
3594         (createTempFile): New method.
3595         (nextValue): New method.
3596         * java/lang/natSystem.cc (init_properties): Set java.io.tmpdir
3597         property.
3598
3599         * include/jni.h (JNI_FALSE): Renamed from JNI_TRUE; oops.
3600         (jboolean): Declare as an attributed int, not a bool.
3601         (_Jv_func): Declare differently for C.
3602
3603         * gnu/gcj/jni/natNativeThread.cc: New file.
3604         * gnu/gcj/jni/NativeThread.java: New file.
3605         * java/lang/Thread.java (data): Now a RawData.
3606         * include/jvm.h (_Jv_GetCurrentJNIEnv, _Jv_SetCurrentJNIEnv):
3607         Declare.
3608         * Makefile.in: Rebuilt.
3609         * Makefile.am (java/lang/Thread.h): New target.
3610         (ordinary_java_source_files): Added NativeThread.java.
3611         (nat_source_files): Added natNativeThread.cc.
3612         * java/lang/natThread.cc: Include <jni.h>
3613         (struct natThread): Added `jni_env' field.
3614         (_Jv_GetCurrentJNIEnv): New function.
3615         (_Jv_SetCurrentJNIEnv): Likewise.
3616         (initialize_native): Initialize jni_env.
3617         Include RawData.h.
3618         * jni.cc (ThreadGroupClass): New define.
3619         (_Jv_JNI_InvokeFunctions): New structure.
3620         (JNI_GetCreatedJavaVMs): New function.
3621         (the_vm): New global.
3622         (JNI_GetDefaultJavaVMInitArgs): New function.
3623         Include NativeThread.h.
3624         (NativeThreadClass): New define.
3625         (_Jv_JNI_EnsureLocalCapacity): Return JNI_ERR, not -1.
3626         (_Jv_JNI_DestroyJavaVM): New function.
3627         (_Jv_JNI_AttachCurrentThread): New function.
3628         (_Jv_JNI_DetachCurrentThread): New function.
3629         (_Jv_JNI_GetEnv): New function.
3630         (JNI_CreateJavaVM): New function.
3631         (_Jv_JNI_GetJavaVM): New function.
3632         (_Jv_JNIFunctions): Added entry for GetJavaVM.
3633         * include/jni.h (JavaVMAttachArgs): New structure.
3634         (JNI_EDETACHED): New define.
3635         (JNI_EVERSION): Likewise.
3636         (JavaVM): Define properly.
3637         (struct JNIInvokeInterface): New structure.
3638         (class _Jv_JavaVM): New class.
3639         (JNI_OnLoad, JNI_OnUnload): Declare.
3640         (JNI_GetDefaultJavaVMInitArgs, JNI_CreateJavaVM,
3641         JNI_GetCreatedJavaVMs): Declare.
3642         (JavaVMInitArgs): New typedef.
3643         (JavaVMOption): Likewise.
3644         (JNI_ERR): New define.
3645         (JNI_OK): Likewise.
3646
3647 2000-02-10  Andrew Haley  <aph@cygnus.com>
3648
3649         * interpret.cc: Don't include fdlibm.h.
3650         Replace #if with #ifdef throughout.
3651         Declare extern __ieee754_fmod.
3652         (continue1): Remove op_getfield, op_getstatic, op_putfield,
3653         op_putstatic insns.
3654         * resolve.cc (_Jv_PrepareClass): Use imeth as method pointer.
3655         Search class hierarchy for superclass vtable.
3656
3657         * java/lang/natClassLoader.cc (_Jv_UnregisterClass): Don't fall
3658         off the end of a pointer list.
3659
3660         * java/lang/natThread.cc (stop): Don't abort, throw an exception
3661         instead.
3662         (suspend): Ditto.
3663         
3664 2000-02-09  Tom Tromey  <tromey@cygnus.com>
3665
3666         * java/lang/natRuntime.cc (_load): Call add_library.
3667         (loadLibraryInternal): Likewise.
3668
3669         * gnu/gcj/convert/natIconv.cc (Input_iconv::finalize): Call
3670         iconv_close when handle is not NULL.  Thanks to Andrew Haley.
3671         (Output_iconv::finalize): Likewise.
3672
3673 2000-02-08  Tom Tromey  <tromey@cygnus.com>
3674
3675         * java/util/Properties.java (setProperty): New method.
3676         (store): New method.
3677
3678 2000-02-07  Tom Tromey  <tromey@cygnus.com>
3679
3680         * java/lang/Runtime.java (_load): Declare.
3681         (load, loadLibrary): Wrote in terms of _load.
3682         * java/lang/natRuntime.cc (load): Call JNI_OnLoad if it appears in
3683         library.
3684         (loadLibrary): Likewise.
3685         Include <jni.h>.
3686         (_load): New method.
3687         (loadLibrary, load): Removed.
3688
3689         * jni.cc (ThrowableClass): New define.
3690         (_Jv_JNI_Throw): Check argument.
3691         (_Jv_JNI_ThrowNew): Likewise.
3692         (wrap_value): Don't wrap object if it is NULL.
3693         (_Jv_JNI_DefineClass): Use wrap_value.
3694         (_Jv_JNI_FindClass): Likewise.
3695         (_Jv_JNI_GetSuperclass): Likewise.
3696         (_Jv_JNI_ExceptionOccurred): Likewise.
3697         (_Jv_JNI_AllocObject): Likewise.
3698         (_Jv_JNI_GetObjectClass): Likewise.
3699         (_Jv_JNI_NewString): Likewise.
3700         (_Jv_JNI_NewStringUTF): Likewise.
3701         (_Jv_JNI_NewObjectArray): Likewise.
3702         (_Jv_JNI_GetObjectArrayElement): Likewise.
3703         (_Jv_JNI_NewPrimitiveArray): Likewise.
3704         (_Jv_JNI_ToReflectedField): Likewise.
3705         (_Jv_JNI_ToReflectedMethod): Likewise.
3706         (_Jv_JNI_AllocObject): Check argument.
3707         (_Jv_JNI_NewObjectV): Likewise.
3708         (_Jv_JNI_NewObject): Likewise.
3709         (_Jv_JNI_NewObjectA): Likewise.
3710         (_Jv_JNI_GetObjectClass): Likewise.
3711         (_Jv_JNI_GetField): Likewise.
3712         (_Jv_JNI_SetField): Likewise.
3713
3714         * interpret.cc (PUSHL): Don't use expression statement.
3715         (PUSHD): Likewise.
3716         (LOADL): Likewise.
3717         (STOREL): Likewise.
3718
3719         * jni.cc (add_char): Conditional on INTERPRETER.
3720         (mangled_name): Likewise.
3721         (call): Likewise.
3722         * include/java-interp.h (class _Jv_MethodBase): Conditional on
3723         INTERPRETER.
3724         (class _Jv_JNIMethod): Likewise.
3725
3726 2000-02-04  Warren Levy  <warrenl@cygnus.com>
3727
3728         * Makefile.am: Added MPN.java and BigInteger.java.
3729         * Makefile.in: Rebuilt.
3730         * gnu/gcj/math/MPN.java: New file.  From Kawa by Per Bothner
3731         <per@bothner.com>.
3732         * java/math/BigInteger.java: New file.  Based primarily on
3733         Kawa's IntNum.java by Per Bothner <per@bothner.com>.
3734
3735 2000-02-04  Tom Tromey  <tromey@cygnus.com>
3736
3737         * defineclass.cc (handleMethodsBegin): Allocate _Jv_MethodBase
3738         pointers.
3739         (handleMethodsEnd): Fixed error messages.  Create a _Jv_JNIMethod
3740         if the method is native.
3741         * resolve.cc (ncode): Don't handle native methods.
3742         (_Jv_JNIMethod::ncode): New method.
3743         (_Jv_PrepareClass): Handle native methods.
3744         * jni.cc (call): Renamed from _Jv_JNI_conversion_call.
3745         Include AbstractMethodError.h.
3746         (add_char): New function.
3747         (mangled_name): Likewise.
3748         * include/java-interp.h (class _Jv_JNIMethod): New class.
3749         (class _Jv_MethodBase): New class.
3750         (class _Jv_InterpMethod): Derive from _Jv_MethodBase.
3751         (_Jv_InterpClass): Changed `interpreted_methods' field to type
3752         `_Jv_MethodBase'.
3753
3754         * include/jvm.h (_Jv_FindSymbolInExecutable): Declare.
3755         * java/lang/natRuntime.cc (libraries_size, libraries_count,
3756         libraries): New globals.
3757         (add_library): New function.
3758         (_Jv_FindSymbolInExecutable): New function.
3759
3760         * java/lang/natClassLoader.cc (initiated_classes, loaded_classes):
3761         Now static.
3762
3763 2000-02-04  Andrew Haley  <aph@cygnus.com>
3764
3765         * java/lang/Throwable.java (CPlusPlusDemangler): New class.
3766         (printStackTrace): Use a CPlusPlusDemangler to demangle names.
3767         * java/lang/natThrowable.cc (printRawStackTrace): Rename
3768         printStackTrace to printRawStackTrace.
3769
3770 2000-02-03  Tom Tromey  <tromey@cygnus.com>
3771
3772         * java/util/Calendar.java (toString): New method.
3773         * java/util/SimpleTimeZone.java (clone): New method.
3774         (toString): New method.
3775         * java/util/TimeZone.java (clone): New method.
3776         * java/text/SimpleDateFormat.java (clone): New method.
3777         * java/text/NumberFormat.java (clone): New method.
3778         (equals): New method.
3779         * java/text/Format.java (clone): New method.
3780         * java/text/DateFormatSymbols.java (DateFormatSymbols): New
3781         constructor.
3782         (clone): New method.
3783         * java/text/DateFormat.java (clone): New method.
3784         * java/text/Collator.java (clone): New method.
3785
3786 2000-02-03  Tom Tromey  <tromey@cygnus.com>
3787
3788         * java/io/PipedOutputStream.java (write(byte[], int, int)): New
3789         method.
3790
3791 2000-02-01  Tom Tromey  <tromey@cygnus.com>
3792
3793         * include/java-interp.h (_Jv_JNI_conversion_call): Declare.
3794         * resolve.cc (ncode): Use _Jv_JNI_conversion_call when
3795         constructing the closure if the function is native.
3796         * jni.cc (_Jv_JNI_conversion_call): Now returns `void'.  No longer
3797         a template function, #if'd out, or static.
3798         Include <java-interp.h>.
3799
3800         * include/jni.h (class _Jv_JNIEnv): Corrected calls using `...'.
3801
3802         * include/jni.h (class _Jv_JNIEnv): Added all C++ inline methods.
3803
3804         * jni.cc (_Jv_JNI_PopLocalFrame): Leave loop when `n == NULL'.
3805         (_Jv_JNI_conversion_call): _Jv_JNI_PopLocalFrame will never leave
3806         `locals == NULL'.
3807         (wrap_value): New function.
3808         (_Jv_JNI_CallAnyMethodV): Use it.
3809         (_Jv_JNI_CallAnyMethodA): Likewise.
3810         (_Jv_JNI_GetField): Use wrap_value; removed specialized version.
3811         (_Jv_JNI_GetStaticField): Likewise.
3812
3813         * jni.cc (_Jv_JNI_GetField): Specialize for jobject.
3814         (_Jv_JNI_GetStaticField): Likewise.
3815
3816 2000-01-31  Tom Tromey  <tromey@cygnus.com>
3817
3818         * prims.cc (_Jv_MallocUnchecked): New function.
3819         (main_init): Call _Jv_JNI_Init.
3820         * include/jvm.h (_Jv_MallocUnchecked): Declare.
3821         (_Jv_JNI_Init): Declare.
3822         * jni.cc: Include Hashtable.h, OutOfMemoryError.h, Integer.h,
3823         <string.h>.
3824         (_Jv_JNI_NewGlobalRef): New function.
3825         (_Jv_JNI_DeleteGlobalRef): New function.
3826         (_Jv_JNI_DeleteLocalRef): New function.
3827         (_Jv_JNI_conversion_call): Initialize and clear local reference
3828         frame.
3829         (_Jv_JNI_NewLocalRef): New function.
3830         (struct _Jv_JNI_LocalFrame): New structure.
3831         (_Jv_JNI_PushLocalFrame): New function.
3832         (_Jv_JNI_EnsureLocalCapacity): New function.
3833         (FRAME_SIZE): New define.
3834         (_Jv_JNI_GetStringChars): Mark string, not characters.
3835         (_Jv_JNI_ReleaseStringChars): Unmark string, not characters.
3836         (_Jv_JNI_GetPrimitiveArrayElements): Mark array, not elements.
3837         (_Jv_JNI_ReleasePrimitiveArrayElements): Unmark array, not
3838         elements.
3839         (_Jv_JNI_DefineClass): Make return value a local ref.
3840         (_Jv_JNI_FindClass): Likewise.
3841         (_Jv_JNI_GetSuperclass): Likewise.
3842         (_Jv_JNI_ExceptionOccurred): Likewise.
3843         (_Jv_JNI_AllocObject): Likewise.
3844         (_Jv_JNI_GetObjectClass): Likewise.
3845         (_Jv_JNI_CallAnyMethodV): Likewise.
3846         (_Jv_JNI_NewString): Likewise.
3847         (_Jv_JNI_NewStringUTF): Likewise.
3848         (_Jv_JNI_NewObjectArray): Likewise.
3849         (_Jv_JNI_GetObjectArrayElement): Likewise.
3850         (_Jv_JNI_ToReflectedField): Likewise.
3851         (_Jv_JNI_ToReflectedMethod): Likewise.
3852         (_Jv_JNIFunctions): Updated table for new functions.
3853         (_Jv_JNI_Init): New function.
3854         (mark_for_gc): Wrote.
3855         (unmark_for_gc): Wrote.
3856         * include/jni.h (struct JNINativeInterface): Removed name from
3857         PopLocalFrame parameter.
3858         (class _Jv_JNIEnv): Added `locals' field.
3859
3860 Mon Jan 31 00:43:15 2000  Anthony Green  <green@redhat.com>
3861
3862         * gnu/gcj/convert/natIconv.cc (read): Minor fixes.
3863         (write): Ditto.
3864
3865 2000-01-30  Tom Tromey  <tromey@cygnus.com>
3866
3867         * include/config.h.in: Rebuilt.
3868         * acconfig.h (HAVE_ICONV): Define.
3869         * configure: Rebuilt.
3870         * configure.in: Check for `iconv' function.
3871         * gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try iconv if
3872         no specific encoder exists.
3873         * gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try iconv if
3874         no specific encoder exists.
3875         * Makefile.in: Rebuilt.
3876         * Makefile.am (convert_source_files): Mention Input_iconv.java and
3877         Output_iconv.java.
3878         (nat_source_files): Added natIconv.cc.
3879         * gnu/gcj/convert/natIconv.cc: New file.
3880         * gnu/gcj/convert/Input_iconv.java: New file.
3881         * gnu/gcj/convert/Output_iconv.java: New file.
3882
3883 2000-01-28  Tom Tromey  <tromey@cygnus.com>
3884
3885         * Makefile.in: Rebuilt.
3886         * Makefile.am (LIBFFIINCS): Added MULTIBUILDTOP.
3887
3888 2000-01-26  Tom Tromey  <tromey@cygnus.com>
3889
3890         * gcj/method.h (JvNumMethods): Moved from Class.h.
3891         (JvGetFirstMethod): Likewise.
3892         * java/lang/Class.h (Object): Updated decl of
3893         _Jv_JNI_ToReflectedField.
3894         (Object): Added _Jv_JNI_ToReflectedMethod as a friend.
3895         * Makefile.in: Rebuilt.
3896         * Makefile.am (java/lang/reflect/Field.h): Added `jboolean'
3897         argument of _Jv_JNI_ToReflectedField.
3898         (java/lang/reflect/Constructor.h): Added _Jv_JNI_ToReflectedMethod
3899         as a friend.
3900         (java/lang/reflect/Method.h): Likewise.
3901         * include/jni.h (class _Jv_JNIEnv): Added `klass' member.  Use
3902         __GCJ_JNI_IMPL__.
3903         (jweak): New typedef.
3904         (struct JNINativeInterface): Correctly declare remaining entries.
3905         * jni.cc: Include Class.h, ClassLoader.h.
3906         (_Jv_JNI_FindClass): New function.
3907         (_Jv_JNI_DefineClass): New function.
3908         (_Jv_JNI_conversion_call): New function.
3909         (_Jv_JNI_FindClass): Use current class loader to find class.
3910         (_Jv_JNI_ExceptionCheck): New function.
3911         (_Jv_JNI_FromReflectedField): Now static.
3912         (MethodClass): New define.
3913         (_Jv_JNI_FromReflectedMethod): New function.
3914         (_Jv_JNI_ToReflectedMethod): Likewise.
3915         Include Method.h.
3916         (_Jv_JNI_IsAssignableFrom): Renamed.
3917         (_Jv_JNI_GetStringRegion): New function.
3918         Include StringIndexOutOfBoundsException.h.
3919         (_Jv_JNI_GetStringUTFRegion): New function.
3920         (_Jv_JNIFunctions): Updated for new functions.
3921         (_Jv_JNI_GetPrimitiveArrayCritical): New function
3922         (_Jv_JNI_ReleasePrimitiveArrayCritical): Likewise.
3923         (_Jv_JNI_GetStringCritical): New function.
3924         (_Jv_JNI_ReleaseStringCritical): Likewise.
3925         (get_throwable): Removed.
3926         (GCJ_JV_JNIENV_FRIEND): Removed.
3927         (__GCJ_JNI_IMPL__): Define.
3928         Include method.h.
3929
3930         * resolve.cc (get_ffi_type_from_signature): Handle case where
3931         boolean is an int.
3932
3933 Tue Jan 25 08:51:16 2000  Tom Tromey  <tromey@ferrule.cygnus.com>
3934
3935         * interpret.cc (run): Don't call println.
3936         Don't include PrintStream.h.
3937
3938         * gcj/field.h (struct _Jv_Field): Use "jshort" as type for
3939         nameIndex.  Use "jint" as type for boffset.
3940         * java/lang/Class.h (struct _Jv_Method): Made accflags a
3941         _Jv_ushort.
3942         (Class): Likewise.  Also changed type of method_count,
3943         vtable_method_count, size_in_bytes, field_count,
3944         static_field_count, interface_count.
3945         * gcj/array.h (__JArray): Made `length' a const jsize, not an
3946         int.
3947
3948 2000-01-21  Tom Tromey  <tromey@cygnus.com>
3949
3950         * java/lang/reflect/natConstructor.cc (newInstance): Use
3951         _Jv_CallAnyMethodA.
3952         * include/jvm.h: Declare _Jv_CallAnyMethodA.
3953         * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Renamed
3954         from _Jv_CallNonvirtualMethodA.  Changed interface; overloaded.
3955         Include <jni.h>.
3956         (COPY): Removed.
3957         (invoke): Use _Jv_CallAnyMethodA.
3958         (VAL): Redefined.
3959         * java/lang/Class.h (Class): Declare JvGetFirstStaticField,
3960         JvNumStaticFields, JvNumMethods, and JvGetFirstMethod as friend
3961         functions.
3962         (struct _Jv_Method): Added getNextMethod method.
3963         (JvNumMethods): New function.
3964         (JvGetFirstMethod): Likewise.
3965         * gcj/field.h (JvGetFirstStaticField): New function.
3966         (JvNumStaticFields): Likewise.
3967         (getNextField): Renamed from getNextInstanceField.
3968         (struct _Jv_Field): New method getClass.
3969         * jni.cc: Wrote many new functions.
3970         * include/jni.h (JNI_TRUE): Define.
3971         (JNI_FALSE): Likewise.
3972         (jobject, jclass, jstring, jarray, jthrowable, jobjectArray,
3973         jbyteArray, jshortArray, jintArray, jlongArray, jbooleanArray,
3974         jcharArray, jfloatArray, jdoubleArray): New typedefs.
3975         (jfieldID, jmethodID): Likewise.
3976         (JNI_COMMIT, JNI_ABORT): New defines.
3977         (JNINativeMethod): New struct.
3978         (struct JNINativeInterface): Correctly declared more entries.
3979         (class _Jv_JNIEnv): Added `ex' member.
3980         (JNI_VERSION_1_1): New define.
3981         (JNI_VERSION_1_2): Likewise.
3982
3983         * boehm.cc (_Jv_MarkObj): Use getNextField, not
3984         getNextInstanceField.
3985
3986 2000-01-20  Tom Tromey  <tromey@cygnus.com>
3987
3988         * resolve.cc (StringClass): Removed.
3989         * defineclass.cc (StringClass): Removed.
3990
3991 2000-01-19  Bryce McKinlay  <bryce@albatross.co.nz>
3992
3993         * NEWS: updated.
3994
3995 2000-01-19  Tom Tromey  <tromey@cygnus.com>
3996
3997         * interpret.cc (PC_REGISTER_ASM): Removed.
3998
3999         * java/lang/natThrowable.cc: Don't use `#pragma implementation'.
4000         From Bryce McKinlay.
4001
4002         * All files: Updated copyright to reflect Cygnus purchase.
4003
4004 2000-01-18  Bryce McKinlay <bryce@albatross.co.nz>
4005
4006         * configure: Rebuilt.
4007         * configure.in: Recognize --disable-interpreter.
4008
4009 2000-01-18  Andrew Haley  <aph@cygnus.com>
4010
4011         * name-finder.cc (lookup): Check for dladdr function.
4012         acconfig.h (HAVE_DLADDR): Add.
4013         configure.in: Check for HAVE_DLADDR
4014         configure: Rebuilt.
4015         include/config.h.in:  Rebuilt.
4016
4017 2000-01-17  Andrew Haley  <aph@cygnus.com>
4018
4019         * prims.cc (_Jv_RunMain): Set the name of this executable.
4020
4021 2000-01-17  Tom Tromey  <tromey@cygnus.com>
4022
4023         * java/lang/natThrowable.cc (fillInStackTrace): Return `this' even
4024         when backtrace can't be computed.
4025
4026         * configure: Rebuilt.
4027         * configure.in: Fixed typo in AC_CONFIG_SUBDIRS call.
4028
4029         * java/lang/Runtime.java (loadLibraryInternal): Declare.
4030         * java/lang/natClassLoader.cc (_Jv_FindClass): Removed dead copy.
4031         (_Jv_FindClassInCache): Likewise.
4032         (_Jv_FindClass): Don't conditionalize body on INTERPRETER.
4033         (findSystemClass): Try to load class from compiled module.
4034         Include Runtime.h.
4035         * java/lang/natRuntime.cc (load): Use UTF-8 copy of filename.
4036         (loadLibrary): Likewise.
4037         (lt_preloaded_symbols): Define.
4038         (loadLibraryInternal): New method.
4039         * include/config.h.in: Rebuilt.
4040         * acconfig.h (USE_LTDL): Added.
4041         * Makefile.am (SUBDIRS): Added $(DIRLTDL).
4042         (INCLUDES): Added $(INCLTDL).
4043         (libgcj_la_DEPENDENCIES): Added $(LIBLTDL).
4044         (libgcj_la_LIBADD): Likewise.
4045         * aclocal.m4, configure: Rebuilt.
4046         * configure.in: Added libltdl support.
4047
4048 2000-01-15  Tom Tromey  <tromey@cygnus.com>
4049
4050         * prims.cc (_Jv_PrimClass): Use `JV_STATE_NOTHING', not `0'.
4051
4052 2000-01-14  Andrew Haley  <aph@cygnus.com>
4053
4054         * java/lang/natThrowable.cc: New file.
4055
4056         * java/lang/Throwable.java (fillInStackTrace): Make native.
4057         (printStackTrace): Call native method to do this.
4058         (Throwable): Call fillInStackTrace.
4059         (stackTrace): New variable.
4060         
4061         * include/jvm.h: Add _Jv_ThisExecutable functions.
4062         
4063         * prims.cc: (_Jv_execName): New variable.
4064         (catch_segv): Call fillInStackTrace.
4065         (catch_fpe): Ditto.
4066         (_Jv_ThisExecutable): New functions.
4067         (JvRunMain): Set the name of this executable.
4068
4069         * Makefile.am: Add java/lang/natThrowable.cc.
4070         Add name-finder.cc.
4071         * Makefile.in: Rebuilt.
4072
4073         * acconfig.h: Add HAVE_PROC_SELF_EXE.
4074
4075         * configure.in: Force link with __frame_state_for in
4076         FORCELIBGCCSPEC.  Add new checks for backtrace.
4077         * include/config.h.in: Rebuilt.
4078
4079         * name-finder.cc: New file.
4080         * include/name-finder.h: New file.
4081
4082 2000-01-16  Anthony Green  <green@cygnus.com>
4083
4084         * java/lang/StringBuffer.java (StringBuffer): Don't special case
4085         null argument.
4086
4087 2000-01-16  Jeff Sturm  <jsturm@sigma6.com>
4088
4089         * java/io/StreamTokenizer.java (nextToken): Avoid unread(TT_EOF).
4090
4091 2000-01-13  Tom Tromey  <tromey@cygnus.com>
4092
4093         * java/lang/natClassLoader.cc (_Jv_FindClass): Register `loader',
4094         not system loader, as initiating loader.
4095
4096 2000-01-11  Tom Tromey  <tromey@cygnus.com>
4097
4098         * java/lang/natSystem.cc (getpwuid_adaptor): New adaptor for
4099         HP/UX.  From David Scott Urban.
4100
4101 2000-01-10  Jeff Sturm  <jsturm@sigma6.com>
4102
4103         * java/lang/natMath.cc (pow): Cast args to `double', not
4104         `jdouble'.
4105         (atan2): Likewise.
4106         (IEEEremainder): Likewise.
4107         * java/lang/mprec.h: Don't wrap includes in `extern "C"'.
4108         * java/lang/fdlibm.h: Don't wrap includes in `extern "C"'.
4109
4110 2000-01-09  Anthony Green  <green@cygnus.com>
4111
4112         * java/lang/natString.cc (init): Test for overflow condition
4113         during out of bounds check.
4114         (getChars): Throw StringIndexOutOfBoundsException, not
4115         ArrayIndexOutOfBoundsException.
4116         (getBytes): Ditto.
4117         (regionMatches): Obey case option during string comparison.
4118
4119         * configure.host (ligcj_interpreter): New variable.  Enable
4120         interpreter by default on IA-32.
4121         * configure.in:  Examine libgcj_interpreter.
4122         * configure: Rebuilt.
4123
4124 2000-01-07  Tom Tromey  <tromey@cygnus.com>
4125
4126         * mauve-libgcj: Don't disable ClassTest.
4127
4128         * java/lang/natClass.cc (getClasses): Wrote.
4129
4130 2000-01-06  Tom Tromey  <tromey@cygnus.com>
4131
4132         * java/lang/natClass.cc (_getConstructors): Correctly check
4133         whether method name is the init name.
4134         (getMethod): Look at accflags on method in `klass', not `this'.
4135
4136 2000-01-05  Tom Tromey  <tromey@cygnus.com>
4137
4138         * java/lang/natClass.cc (getMethod): Compute offset relative to
4139         `klass's methods table, not `this's table.
4140
4141         * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA):
4142         In unwrapping/widening case, check whether `k' is null, not
4143         whether it is primitive.  Initialize `num' from `argelts', not
4144         `paramelts'.  Correct create and pass arguments to ffi_call.
4145         Don't let presence of `this' argument affect index used to look in
4146         argument arrays.
4147         (COPY): Set appropriate element in `values' vector.
4148
4149         * java/lang/natClass.cc: Include <gcj/method.h>.
4150
4151         * java/lang/Class.h (_getMethods): Correctly declare as private,
4152         not public.
4153
4154         * java/lang/Class.h (_getMethods): Declare.
4155         * java/lang/Class.java (_getMethods): Declare.
4156         * java/lang/natClass.cc (getDeclaringClass): Always return NULL.
4157         (getDeclaredClasses): Always return empty array.
4158         (_getMethods): New method.
4159         (getMethods): Wrote.
4160         (getDeclaredMethod): Return `rmethod'.
4161         (finit_name): New global.
4162         (getDeclaredMethods): Check for finit_name.
4163         (_getMethods): Likewise.
4164         (getMethod): Only return public methods.
4165
4166         * java/lang/reflect/natMethod.cc (get_ffi_type): Test size of
4167         jboolean and select correct ffi type on that basis.
4168         (_Jv_CallNonvirtualMethodA): Handle `void' return type.
4169         Constructor call always has `void' return type.
4170
4171 2000-01-04  Tom Tromey  <tromey@cygnus.com>
4172
4173         * java/lang/Class.h (getSignature): Updated.
4174         * java/lang/Class.java (getSignature): Updated.
4175         * java/lang/natClass.cc (getSignature): Added `is_constructor'
4176         argument.
4177         (getConstructor): Ensure constructor is public.
4178         (_getConstructors): Check for public-ness of constructor when
4179         `declared' is false, not when it is true.
4180
4181 2000-01-04  Warren Levy  <warrenl@cygnus.com>
4182
4183         * java/net/natPlainDatagramSocketImpl.cc (peek): Removed unnecesary
4184         comment.
4185         (receive): Set the sender's address in the DatagramPacket.
4186
4187 2000-01-04  Tom Tromey  <tromey@cygnus.com>
4188
4189         * java/lang/reflect/natConstructor.cc (newInstance): Pass
4190         declaring class as return_type argument to
4191         _Jv_CallNonvirtualMethodA.
4192         * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In
4193         constructor case, create object and use it as `this' argument.
4194         * java/lang/Class.h (_getConstructors): Declare.
4195         (_getFields): Declare.
4196         * java/lang/Class.java (getConstructors): Wrote.
4197         (_getConstructors): New native method.
4198         (getDeclaredConstructors): Wrote.
4199         (_getFields): Declare new native method.
4200         * java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Removed
4201         incorrect comment.
4202         (getMethod): Work correctly when class is primitive.
4203         (getDeclaredMethods): Likewise.  Compute offset using `method',
4204         not `mptr'.
4205         (getDeclaredMethod): Likewise.
4206         (getConstructor): Wrote.
4207         (ConstructorClass): New define.
4208         (getDeclaredConstructor): Wrote.
4209         (_getConstructors): New method.
4210         (_getFields): New method.
4211         (getFields): Wrote.
4212
4213         * Makefile.in: Rebuilt.
4214         * Makefile.am (AM_CXXFLAGS): Added -D_GNU_SOURCE.
4215
4216         * prims.cc: Remove `#pragma implementation'.
4217         * gcj/array.h: Remove `#pragma interface'.
4218
4219         * prims.cc (_Jv_equaln): New function.
4220         * java/lang/Class.java (getSignature): Declare.
4221         * resolve.cc (_Jv_LookupDeclaredMethod): Moved to natClass.cc.
4222         * java/lang/natClass.cc (_Jv_LookupDeclaredMethod): Moved from
4223         resolve.cc.
4224         (getSignature): New method.
4225         (getDeclaredMethod): Wrote.
4226         (getMethod): Wrote.
4227         Include StringBuffer.h.
4228         * java/lang/Class.h (Class): Added _Jv_FromReflectedConstructor
4229         as a friend.  Unconditionally declare _Jv_LookupDeclaredMethod as
4230         a friend.
4231         (getSignature): Declare.
4232         * include/jvm.h (_Jv_GetTypesFromSignature): Declare.
4233         (_Jv_equaln): Declare.
4234         (_Jv_CallNonvirtualMethodA): Declare.
4235         * Makefile.in: Rebuilt.
4236         * Makefile.am (nat_source_files): Added natConstructor.cc.
4237         (java/lang/reflect/Constructor.h): New target.
4238         * java/lang/reflect/natConstructor.cc: New file.
4239         * java/lang/reflect/Constructor.java (newInstance): Now native.
4240         (declaringClass): Renamed from decl_class.
4241         (offset): Renamed from index.
4242         (getType): New native method.
4243         (getModifiers): Now native.
4244         (getParameterTypes): Call getType if required.
4245         (hashCode): Include hash code from declaring class.
4246         (modifiers): Removed.
4247         (toString): Call getType if required.
4248         * gcj/method.h (_Jv_FromReflectedConstructor): New function.
4249         * java/lang/reflect/natMethod.cc (hack_call): New method.
4250         Removed `#if 0' around FFI code.
4251         Include <gnu/gcj/RawData.h>.
4252         (invoke): Use _Jv_CallNonvirtualMethodA.  Throw
4253         IllegalArgumentException when argument object and class disagree.
4254         (_Jv_GetTypesFromSignature): New function.
4255         (getType): Use it.
4256         (ObjectClass): New define.
4257         (_Jv_CallNonvirtualMethodA): New function.
4258         * java/lang/reflect/Method.java (hack_trampoline): New method.
4259         (hack_call): New native method.