OSDN Git Service

* natCollator.cc: New file.
[pf3gnuchains/gcc-fork.git] / libjava / ChangeLog
1 1999-04-26  Tom Tromey  <tromey@cygnus.com>
2
3         * natCollator.cc: New file.
4
5         * java/util/GregorianCalendar.java (setDefaultTime): New method.
6         (GregorianCalendar): Use it in all constructors.
7         * java/util/Calendar.java (Calendar): Changed argument name to
8         `zone' to match code.
9
10         * gnu/gcj/text/LocaleData_en.java: Added collatorRule element.
11         * java/text/CollationKey.java: New file.
12         * java/text/CollationElementIterator.java: New file.
13         * java/text/Collator.java: New file.
14         * java/text/RuleBasedCollator.java: New file.
15
16         * Makefile.in: Rebuilt.
17         * Makefile.am (jv_convert_LDFLAGS): Added -nodefaultlibs.
18         (jv_convert_LDADD): Explicltly add -lm -lc.
19
20 1999-04-26  Tom Tromey  <tromey@cygnus.com>
21
22         * configure, Makefile.in: Rebuilt.
23         * configure.in: Added AM_PROG_LIBTOOL.
24         (GCOBJS): Use `.lo' form of files.
25         (THREADOBJS): Likewise.
26         (GCDEPS): Use `.la' form of library.
27         (GCLIBS): Set to be the same as GCDEPS.
28         (THREADDEPS): Use `.la' form of library.
29         (THREADLIBS): Set to be the same as THREADDEPS.
30         * Makefile.am (toolexeclib_LTLIBRARIES): Renamed from
31         toolexeclib_LIBRARIES.
32         (libgcj_la_SOURCES): Renamed for libtoolization.
33         (EXTRA_libgcj_la_SOURCES): Likewise.
34         (libgcj_la_DEPENDENCIES): Likewise.
35         (libgcj_la_LIBADD): Likewise.
36         ($(nat_files)): Use LTCXXCOMPILE.
37         ($(c_files)): Use LTCOMPILE.
38         (GCJCOMPILE): New macro.
39         (.class.o): Use it.
40         (.java.o): Likewise.
41         ($(javao_files)): Likewise.
42         (jv_convert_LINK): Use LIBTOOL.
43         (nat_files): Use `.lo' files.
44         (c_files): Likewise.
45         (javao_files): Likewise.
46         (.class.lo): Renamed.
47         (.java.lo): Likewise.
48         ($(nat_files)): Depend on %.lo.
49         ($(c_files)): Likewise.
50         ($(javao_files)): Likewise.
51         (jv_convert_LDADD): Link against .lo files.
52         (jv_convert_DEPENDENCIES): Depend on .lo files.
53         (maintainer-check): Depend on libgcj.la, but examine .a file.
54         (jv_convert_DEPENDENCIES): Depend on libgcj.la.
55         (libgcj_la_LDFLAGS): New macro.
56
57 1999-04-23  Warren Levy  <warrenl@cygnus.com>
58
59         * Makefile.am: Added URLDecoder and URLEncoder.
60         * Makefile.in: Rebuilt.
61
62         * java/net/ServerSocket.java (setSocketFactory): Renamed from
63         setSocketImplFactory to match spec.
64         * java/net/Socket.java (getSoLinger): Changed return type to
65         match spec.
66
67         * java/net/URLDecoder.java: New file.
68         * java/net/URLEncoder.java: New file.
69
70 1999-04-21  Tom Tromey  <tromey@cygnus.com>
71
72         * java/lang/natString.cc (getBytes): Reverted earlier change and
73         applied correct fix from Per Bothner.
74
75         * java/lang/String.java: Don't throw
76         UnsupportedEncodingException.
77
78         * java/lang/natString.cc (getBytes): Correctly size result
79         buffer.  From Bryce McKinlay <bryce@albatross.co.nz>.
80
81 1999-04-20  Andrew Haley  <aph@cygnus.com>
82
83         * include/sparc-signal.h: new file.
84         * configure.in: include/sparc-signal.h added.
85         * configure: regenerated.
86         * prims.cc (JvRunMain): signal handling code rewritten to be more
87         portable.
88         (catch_segv): ditto.
89         (catch_fpe): ditto.
90         * include/i386-signal.h: reorganized.
91         * include/default-signal.h: reorganized.
92
93 1999-04-19  Tom Tromey  <tromey@cygnus.com>
94
95         * java/lang/natSystem.cc (init_properties): Only declare pwd_entry
96         once.  From Anthony Green.
97
98 1999-04-19  Andrew Haley  <aph@cygnus.com>
99
100         * Makefile.in: Processed with new automake.
101
102 1999-04-19  Tom Tromey  <tromey@cygnus.com>
103
104         * include/javaprims.h: Removed security namespace.
105
106 1999-04-20  Anthony Green  <green@cygnus.com>
107
108         * java/io/PrintStream.java (println): Remove extra println.
109
110 1999-04-19  Anthony Green  <green@cygnus.com>
111
112         * Makefile.in: Rebuilt.
113         * Makefile.am (ordinary_java_source_files): Add new security files.
114
115         * java/security/NoSuchAlgorithmException.java,
116         java/security/MessageDigest.java: New files.
117
118         * include/javaprims.h: Add security namespace.
119
120 1999-04-16  Per Bothner  <bothner@cygnus.com>
121
122         * gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
123         * gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
124         * gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
125         * gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
126         * gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
127         * gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
128         * gnu/gcj/convert/natInput_SJIS.cc:  New file.
129         * gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
130         * gnu/gcj/convert/natOutput_SJIS.cc:  New file.
131         * gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
132         * gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
133         * gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.
134         * Makefile.am:  Various changes for new files and conversions.
135
136         * gnu/gcj/convert/UnicodeToBytes.java (write(String,int,int,char[])):
137         New overloading, allows greater efficiency.
138         * gnu/gcj/convert/Output_8859_1.java (write(String,int,int,char[])):
139         New overloading (for efficiency - avoids copying).
140
141         * gnu/gcj/convert/Output_UTF8.java:  Fix typo: 0xC0 -> 0c3F.
142         * gnu/gcj/convert/Input_UTF8.java:  Fix typos in bit masks.
143
144         * java/io/InputStreamReader.java (<init>):  Set super.in correctly.
145         * java/io/OutputStreamWriter.java (<init>):  Set super.in correctly.
146         (writeChars):  Don't be quite so eager to flush.
147         * java/io/PrintStream.java:  Rewrite.  Now more similar to
148         OutputStreamWriter, using explicit UnicodeToBytes converter.
149         Also, autoflush does not need to flush so often.
150         * java/lang/natString.cc (getBytes):  More efficient algorithm.
151         (init(jbyteArray,jint,jint,jstring)):  More efficient.
152         
153 1999-04-15  Warren Levy  <warrenl@cygnus.com>
154
155         * Makefile.am (ordinary_java_source_files): Added new Connection 
156         and Handler classes in gnu.gcj.protocol.file package.
157         * Makefile.in: Rebuilt.
158
159         * gnu/gcj/protocol/file/Connection.java: New file.
160         * gnu/gcj/protocol/file/Handler.java: New file.
161         * gnu/gcj/protocol/http/Connection.java (getInputStream): Check
162         if doInput allows input.
163         (getOutputStream): Check if doOutput allows output.
164         * java/net/URLStreamHandler.java (parseURL): Fix indentation.
165
166 1999-04-14  Tom Tromey  <tromey@cygnus.com>
167
168         * java/net/natInetAddress.cc (lookup): On glibc2.0 systems, make
169         buffer larger to work around bug.
170         From Bryce McKinlay <bryce@albatross.co.nz>.
171
172 1999-04-14  Andrew Haley  <aph@cygnus.com>
173
174         * java/lang/natDouble.java (doubleToLongBits): ensure that all
175         NaNs are always converted to the same long value.  
176         * java/lang/natFloat.java (floatToIntBits): ditto, but for float
177         converted to int.
178
179 1999-04-13  Tom Tromey  <tromey@cygnus.com>
180
181         * java/lang/natSystem.cc (arraycopy): Don't always use jbyteArray;
182         instead switch on actual element type.
183
184         * Makefile.in: Rebuilt.
185         * Makefile.am (AM_MAKEFLAGS): Added JC1FLAGS.
186
187 1999-04-13  Andrew Haley  <aph@cygnus.com>
188
189         * include/i386-signal.h, include/default-signal.h: New files.   
190         * prims.cc (catch_segv): Call MAKE_THROW_FRAME in exception
191         handler.
192         (catch_fpe): New function.      
193         * configure.in: Make link to appropriate include/java-signal.h.
194         * configure: Rebuilt.
195         * Makefile.am: include/java-signal.h added to dependency list.
196         * Makefile.in: Rebuilt.
197
198 1999-04-12  Urban Widmark <urban@svenskatest.se>
199
200         * java/io/DataInputStream.java (readLine): Corrected handling of
201         empty lines, from null to "".
202
203 1999-04-12  Tom Tromey  <tromey@cygnus.com>
204
205         * Makefile.in: Rebuilt.
206         * Makefile.am (libgcj.zip): Put `gnu' classes into zip file.
207
208         * java/lang/natSystem.cc (SystemClass): New define.
209         (init_properties): Synchronize.
210
211 1999-04-08  Geoff Berry  <gcb@gnu.org>
212
213         * natInetAddress.cc (lookup): Fix typo (AF_INET16 -> AF_INET6).
214         * natPlainSocketImpl.cc (accept): Add missing else if check
215         for AF_INET6.
216
217 1999-04-08  Tom Tromey  <tromey@cygnus.com>
218
219         * java/lang/Long.java (parseLong): Corrected overflow detection
220         code.
221         * java/lang/Integer.java (parseInt): Corrected overflow detection
222         code.
223
224         * java/io/PrintStream.java (print): Handle null string argument.
225         (println): Likewise.
226
227 1999-04-07  Warren Levy  <warrenl@cygnus.com>
228
229         * java/lang/natString.cc (init(jbyteArray,jint,jint,jstring)):
230         Set count to 0 when InputStreamReader returns -1 for EOF.
231
232 1999-04-07  Tom Tromey  <tromey@cygnus.com>
233
234         * mauve-libgcj: Omit java.text.Collator,
235         java.text.RuleBasedCollator.
236
237 1999-04-06  Tom Tromey  <tromey@cygnus.com>
238
239         * gnu/gcj/protocol/http/Connection.java (getHeaderField): Catch
240         IOException from getHttpHeaders().
241         (getHeaderFieldKey): Likewise.
242
243         * include/javaprims.h: Regenerated declarations.
244
245         * Makefile.in: Rebuilt.
246         * Makefile.am (ordinary_java_source_files): Updated for removed
247         files.
248
249 1999-04-06  Per Bothner  <bothner@cygnus.com>
250
251         * java/util/zip/Adler32.java:  New class.
252         * java/util/zip/CRC32.java:  Add working method bodies.
253         * Makefile.am (ordinary_java_source_files):  Add new Adler32 class.
254         * Makefile.in:  Re-generate.
255
256 Tue Apr  6 18:28:42 1999  Warren Levy  <warrenl@cygnus.com>
257
258         * gnu/gcj/protocol/http/Connection.java: New file.  Rewritten
259         from version in removed www hierarchy.
260         * gnu/gcj/protocol/http/Handler.java: New file.  Copied from
261         version in removed www hierarchy.
262
263         * gnu/gcj/www/protocol/http/Connection.java: Removed.
264         * gnu/gcj/www/protocol/http/Handler.java: Removed.
265         * gnu/gcj/www/protocol/http: Removed dir.
266         * gnu/gcj/www/protocol: Removed dir.
267         * gnu/gcj/www: Removed dir.
268
269         * java/net/HttpURLConnection.java: Revised comments to indicate
270         missing JDK 1.2 methods.
271
272         * java/net/URL.java (setURLStreamHandler): Look in gnu/gcj/protocol
273         hierarchy rather than the gnu/gcj/www/protocol one.
274         * java/net/URLConnection.java: Updated status comments.
275         (setContentHandler): Look in gnu/gcj/content hierarchy rather than
276         the gnu/gcj/www/content one.
277
278 1999-04-06  Per Bothner  <bothner@cygnus.com>
279
280         * Makefile.am (JIS0208_to_Unicode.cc, JIS0212_to_Unicode.cc):
281         The gen-from-JIS program is in $(CONVERT_DIR).
282
283 1999-04-06  Tom Tromey  <tromey@cygnus.com>
284
285         * mauve-libgcj: Renamed from mauve-libjava.
286
287 Tue Apr  6 03:18:38 1999  Warren Levy  <warrenl@cygnus.com>
288
289         * java/net/HttpURLConnection.java (getResponseCode): Implemented.
290         (getResponseMessage): Implemented.
291         (getResponseVals): New private method.
292
293         * java/net/URLConnection.java (getContent): Implemented.
294         (setContentHandler): Convert non-alphabetic/numeric chars per spec.
295
296 1999-04-05  Tom Tromey  <tromey@cygnus.com>
297
298         * Makefile.am (bin_PROGRAMS): Renamed convert to jv-convert.
299         (jv_convert_SOURCES): Renamed.
300         (EXTRA_jv_convert_SOURCES): Likewise.
301         (jv_convert_LDFLAGS): Likewise.
302         (jv_convert_LINK): Likewise.
303         (jv_convert_LDADD): Likewise.
304         (jv_convert_DEPENDENCIES): Likewise.
305
306         * Makefile.in: Rebuilt.
307         * Makefile.am (toolexeclibdir): Reference toolexecdir, not
308         tooldir.
309
310 Mon Apr  5 02:14:35 1999  Warren Levy  <warrenl@cygnus.com>
311
312         * java/net/HttpURLConnection.java (setRequestMethod): Use String.equals
313         method for comparison.
314
315         * java/net/URLConnection.java (getContentLength): Implemented.
316         (getContentType): Implemented.
317         (getContentEncoding): Implemented.
318         (getExpiration): Implemented.
319         (getDate): Implemented.
320         (getLastModified): Implemented.
321         (getHeaderFieldInt): Implemented.
322         (getHeaderFieldDate): Implemented.
323
324 Fri Apr  2 18:04:52 1999  Warren Levy  <warrenl@cygnus.com>
325
326         * java/net/URLConnection.java (toString): Implemented.
327         (setContentHandlerFactory): Implemented.
328         (setContentHandler): Wrote new private helper method.
329
330 1999-04-01  Tom Tromey  <tromey@cygnus.com>
331
332         * Makefile.in: Rebuilt.
333         * Makefile.am ($(java_source_files:.java=.class): Reverted change
334         of 1999-03-31; we always want to build all the .class files.
335         Depend on java_source_files, not libgcj.zip.
336         (nat_headers): Define in terms of ordinary_java_source_files.
337
338 1999-03-31  Tom Tromey  <tromey@cygnus.com>
339
340         * Makefile.in: Rebuilt.
341         * Makefile.am (special_java_source_files): New macro.
342         (java_source_files): Use it.
343         (ordinary_java_source_files): New macro.
344         (java_source_files): Use it.
345         ($(ordinary_java_source_files:.java=.class)): Renamed to avoid
346         creating headers for those files with hand-maintained headers.
347
348         * include/javaprims.h: Regenerated namespace declarations.
349         * classes.pl (scan): Include [0-9] in regexp for matching class
350         names; for java.util.zip.CRC32.
351
352         * Makefile.in: Rebuilt.
353         * Makefile.am (nat_headers): Redefined to generate all possible
354         header files.
355
356         * java/util/zip/ZipException.java: In package java.util.zip, not
357         java.net.
358
359 1999-03-30  Tom Tromey  <tromey@cygnus.com>
360
361         * configure: Rebuilt.
362         * configure.in (EH_COMMON_INCLUDE): Look in ../compat-include for
363         eh-common.h when not building in tree with gcc.
364
365         * Makefile.in: Rebuilt.
366         * Makefile.am ($(nat_files) $(GCOBJS) $(THREADOBJS)
367         $(libgcj_a_OBJECTS)): Changed how we list files that depend on
368         nat_headers.
369         ($(java_source_files:.java=.class)): New target.
370
371         * Makefile.in: Rebuilt.
372         * Makefile.am (java_source_files): Added
373         java/net/HttpURLConnection.java and
374         gnu/gcj/www/protocol/http/Connection.java.
375
376 Tue Mar 30 15:20:45 1999  Warren Levy  <warrenl@cygnus.com>
377
378         * gnu/gcj/www/protocol/http/Connection.java: New file.
379         * gnu/gcj/www/protocol/http/Handler.java (openConnection): Implemented.
380         * java/net/HttpURLConnection.java: New file.
381         * java/net/URLConnection.java (getHeaderField): Implemented default.
382         (getHeaderFieldKey): Implemented default method.
383
384 1999-03-30  Tom Tromey  <tromey@cygnus.com>
385
386         * gnu/gcj/convert/JIS0212.h, gnu/gcj/convert/JIS0208.h: Rebuilt.
387
388         * java/util/zip/Deflater.java: Added copyright header.
389         * java/util/zip/CRC32.java: Added copyright header.
390
391         * Makefile.am ($(srcdir)/$(CONVERT_DIR)/JIS0208.h): Note in file
392         that it is automatically generated.
393         ($(srcdir)/$(CONVERT_DIR)/JIS0212.h): Likewise.
394
395         * gnu/gcj/convert/BytesToUnicode.java,
396         gnu/gcj/convert/Convert.java, gnu/gcj/convert/Input_8859_1.java,
397         gnu/gcj/convert/Input_EUCJIS.java,
398         gnu/gcj/convert/Input_UTF8.java,
399         gnu/gcj/convert/JIS0208_to_Unicode.cc,
400         gnu/gcj/convert/JIS0212_to_Unicode.cc,
401         gnu/gcj/convert/Output_8859_1.java,
402         gnu/gcj/convert/Output_JavaSrc.java,
403         gnu/gcj/convert/Output_UTF8.java,
404         gnu/gcj/convert/UnicodeToBytes.java,
405         gnu/gcj/convert/natInput_EUCJIS.cc: Added copyright headers.
406
407         * gnu/gcj/convert/gen-from-JIS.c (main): Fixed incorrect fprintf.
408
409         * Makefile.in, configure: Rebuilt.
410         * configure.in (TESTSUBDIR): Enable if testsuite subdir exists,
411         not if test subdir exists.
412         (--enable-gcj-classes): Removed; gcj always used to generate
413         .class files.
414         (JAVA, JAVAC): Removed.
415         (--enable-single-compilation, --enable-source-compilation):
416         Removed.
417         (here): New subst.
418         (NATIVE): New conditional.
419         * Makefile.am (toolexecdir): Renamed from tooldir to allow
420         `install-exec' to work.
421         (toolexeclibdir): Likewise.
422         (toollib_LIBRARIES): Likewise.
423         (AM_MAKEFLAGS): Don't pass tooldir.
424         (JAVAC): New macro.
425         (javao_files): Redefined.
426         (java_source_files): New macro.
427         (c_source_files): New macro.
428         (c_files): Redefined in terms of c_source_files.
429         (java_io_files, java_lang_files, java_net_files, java_text_files,
430         java_util_files, gnu_files, java_files): Removed.
431         (class_io_files, class_lang_files, class_net_files,
432         class_text_files, class_util_files, class_gnu_files, class_files):
433         Removed.
434         (nat_source_files): New macro.
435         (nat_files): Redefined in terms of nat_source_files.
436         (EXTRA_libgcj_a_SOURCES): Added c_source_files,
437         java_source_files.  Removed no-such-file.c.
438         (here): Removed.
439         (ETAGS_ARGS): Removed.
440         (TAGS_DEPENDENCIES): Likewise.
441         (libgcj.zip): Depend on java_source_files.  Use $(here) and not
442         pwd in rule.
443         (src_io_files, src_lang_files, src_text_files, src_util_files,
444         src_gnu_files): Removed.
445         Removed ALL_AT_ONCE and COMPILE_FROM_CLASS code.
446         (BUILT_SOURCES): Removed.
447         (header-check): New target.
448         (javadir): Removed.
449         (noinst_PROGRAMS): New macro.
450         ($(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc): Conditionalize
451         on MAINTAINER_MODE.
452         ($(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc): Likewise.
453         (gen-from-JIS): Build in top directory.
454         (convert_source_files): New macro.
455         (convert_SOURCES): New macro.
456         (convert_LDFLAGS): Likewise.
457         (convert_LINK): Likewise.
458         (convert_LDADD): Likewise.
459         (convert_DEPENDENCIES): Likewise.
460         (convert): Removed.
461         (gen-from-JIS): Removed.
462         (gen_from_JIS_SOURCES): New macro.
463         (gen_from_JIS_LDADD): Likewise.
464         (gen_from_JIS_DEPENDENCIES): Likewise.
465
466         * configure: Rebuilt.
467         * configure.in (CANADIAN): Set to `yes', not `canadian'.
468         (NULL_TARGET): Initialize to `no'.  Correctly examine $NULL_TARGET
469         when defining conditional.
470
471 Tue Mar 30 10:36:27 1999  Per Bothner  <bothner@cygnus.com>
472
473         * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}:  Remove these files.
474         The Unicode Consortium does not permit their re-distribution.
475         * Makefile.am, Makefile.in:  Add comments with URLs for removed files.
476         (JIS0208.h, JIS0212.h):  Do not depend on removed files.
477
478 Mon Mar 29 18:58:13 1999  Per Bothner  <bothner@cygnus.com>
479
480         * natSystem.c (init_properties):  Use malloc, realloc, free after all.
481
482 Mon Mar 29 13:41:02 1999  Per Bothner  <bothner@cygnus.com>
483
484         * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}:  New mapping tables
485         from Unicode Consortium.
486         * gnu/gcj/convert/{JIS0208.h,JIS0212.h}:  New generated headers.
487         * gnu/gcj/convert/gen-from-JIS.c:  New utility for maintainers only.
488         * gnu/gcj/convert/{JIS0208_to_Unicode.cc,JIS0212_to_Unicode.cc}:
489         New tables, generated using gen-from-JIS.
490         * gnu/gcj/convert/Output_JavaSrc.java:  New UnicodeToBytes class.
491         * gnu/gcj/convert/Output_UTF8.java:  Fix bug.
492         * gnu/gcj/convert/Input_EUCJIS.java:  New BytesToUnicode class.
493         * gnu/gcj/convert/natInput_EUCJIS.cc:  Native methods for new class.
494
495         * gnu/gcj/convert/Convert.java:  New application.
496         * Makefile.am, Makefile.in (convert):  New program, using Convert.
497         Build the various JIS conversion tables (in maintainer mode).
498
499 Fri Mar 26 16:51:30 1999  Warren Levy  <warrenl@cygnus.com>
500
501         * gnu/gcj/www/protocol/http/Handler.java: New file - stubbed.
502
503         * java/net/URL.java (URL): Deal with null property value.  Use "."
504         as separator in building class name.
505         * java/net/URLConnection.java: Implemented majority of stubbed methods.
506         * java/net/URLStreamHandler.java (parseURL): Use "" in string
507         manipulations instead of 'null'.  Comment cleanup.  Use 0 for the
508         beginning of the substring rather than 'start'.
509
510 1999-03-26  Tom Tromey  <tromey@cygnus.com>
511
512         * include/java-chartables.h: Rebuilt.
513         * include/java-chardecomp.h: New file.
514         * chartables.pl: Generate output files directly.  Added support
515         for generating decomposition header.
516         (canonical_decomposition, full_decomposition): New globals.
517         (DECOMPOSITION): New constant.
518         (process_char): Call add_decomposition.
519         (add_decomposition): New sub.
520         (write_decompositions): New sub.
521
522 1999-03-25  Tom Tromey  <tromey@cygnus.com>
523
524         * java/text/CollationElementIterator.java: New file.
525
526         * mauve-libjava: Omit StringTest.
527
528 Wed Mar 24 15:17:49 1999  Warren Levy  <warrenl@cygnus.com>
529
530         * java/net/URL.java (URL(URL, String, URLStreamHandler)): Allow URLs
531         without a '/' when parsing protocol.  Handle ref outside of parseURL.
532         (hashCode): Implemented.
533         (set): Don't expand -1 to default port.
534         (getDefaultPort): Removed.
535
536         * java/net/URLStreamHandler.java (parseURL): Implemented.
537         (toExternalForm): Implemented.
538
539 1999-03-23  Tom Tromey  <tromey@cygnus.com>
540
541         * java/text/BreakIterator.java (getSentenceInstance):
542         Implemented.
543         * gnu/gcj/text/SentenceBreakIterator.java: New file.
544
545         * Makefile.in: Rebuilt.
546         * Makefile.am (nat_headers): Added IllegalAccessException.
547         * java/lang/natClass.cc (newInstance): Throw
548         IllegalAccessException, not IllegalAccessError.
549         Include IllegalAccessException.h.
550
551 1999-03-22  Tom Tromey  <tromey@cygnus.com>
552
553         * gnu/gcj/text/LineBreakIterator.java: New file.
554         * java/text/BreakIterator.java (getLineInstance): Implemented.
555
556         * gnu/gcj/text/WordBreakIterator.java (WordBreakIterator): Made
557         copy constructor private.
558         (previous, next): Removed erroneous comment about line
559         separators.
560         (previous): Correctly recognize break between non-letter on the
561         left and letter on the right.  Handle apostrophes correctly.
562
563         * java/text/BreakIterator.java (getWordInstance): Implemented.
564         * gnu/gcj/text/WordBreakIterator.java: New file.
565         * gnu/gcj/text/CharacterBreakIterator.java: Extend
566         BaseBreakIterator.
567         * gnu/gcj/text/BaseBreakIterator.java: New file.
568
569 1999-03-19  Tom Tromey  <tromey@cygnus.com>
570
571         * java/text/BreakIterator.java: New file (partially stubbed out).
572         * gnu/gcj/text/CharacterBreakIterator.java: New file.
573
574         * include/config.h.in: Rebuilt.
575         * acconfig.h (STRUCT_TM_HAS_GMTOFF): New define.
576         (HAVE_TIMEZONE): Likewise.
577         * configure: Rebuilt.
578         * configure.in: Added timezone checks.
579         * java/util/natGregorianCalendar.cc (computeTime): Adjust for
580         timezone.
581
582 Fri Mar 19 15:26:35 1999  Per Bothner  <bothner@cygnus.com>
583
584         * gnu/gcj/convert/BytesToUnicode.java:  New abstract class.
585         * gnu/gcj/convert/UnicodeToBytes.java:  New abstract class.
586         * gnu/gcj/convert/Input_8859_1.java:  New BytesToUnicode sub-class.
587         * gnu/gcj/convert/Input_UTF8.java:  New BytesToUnicode sub-class.
588         * gnu/gcj/convert/Output_8859_1.java:  New UnicodeToBytes sub-class.
589         * gnu/gcj/convert/Output_UTF8.java:  New UnicodeToBytes sub-class.
590         * java/io/InputStreamReader.java:  Rewrite to use BytesToUnicode.
591         * java/io/OutputStreamWriter.java:  Rewrite to use UnicodeToBytes.
592
593         * java/io/natFileDescriptorPosix.cc (open):  Use O_BINARY flag.
594         (BSD_COMP):  Kludge needed for Solaris2.
595
596 Fri Mar 19 01:49:46 1999  Warren Levy  <warrenl@cygnus.com>
597
598         * java/net/URL.java (URL(java.net.URL, string): Moved code to
599         URL(java.net.URL, string, URLStreamHandler) and call it with a
600         null handler.  In latter constructor, added SecurityManager check.
601         (set): Expect null handler on bad protocol rather than an exception.
602         (setURLStreamHandler): Simplified exception handling; return null
603         on invalid protocol.
604
605 1999-03-18  Tom Tromey  <tromey@cygnus.com>
606
607         * java/text/DecimalFormat.java (format(long,...)): Rewrote.
608
609         * java/lang/natSystem.cc (setOut, setIn, setErr): New native
610         methods.
611         Include PrintStream.h, InputStream.h.
612         * java/lang/System.java (ForwardingInputStream,
613         ForwardingOutputStream): Removed.
614         (setErr, setIn, setOut): Now native.
615
616         Reverted patch from 1999-02-12 to work around problem in
617         libgcc2.c.
618         * exception.cc (_Jv_eh_alloc): Use malloc, not _Jv_AllocBytes.
619         (_Jv_eh_free): Use free.
620
621         * java/io/natFileDescriptorPosix.cc (open): Allocate enough space
622         for path name.  Minor formatting fixes.
623
624         * boehm.cc (_Jv_MarkObj): Always mark `methods' field.
625
626         * prims.cc (fail_on_finalization): New function.
627         (_Jv_GCWatch): Likewise.
628
629         * prims.cc (JvRunMain): Initialize `nullp'.
630         (nullp): New global.
631         (catch_segv): Throw nullp.
632
633         * Makefile.in: Rebuilt.
634         * Makefile.am (ZIP): In "null target" case, zip is found in the
635         build tree.
636
637         * prims.cc (_Jv_PrimClass): Initialize all elements of class
638         object.
639         Include Modifier.h.
640
641         * java/lang/StringBuffer.java (StringBuffer): Don't use
642         ensureCapacity to set initial capacity.
643         (capacity): Subtract `length' from return result.
644
645 Thu Mar 18 01:53:35 1999  Warren Levy  <warrenl@cygnus.com>
646
647         * java/io/natFileDescriptorPosix.cc (open): Throw
648         FileNotFoundException, but with filename and errno in msg.
649
650 Wed Mar 17 11:09:30 1999  Warren Levy  <warrenl@cygnus.com>
651
652         * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Removed;
653         functionality folded into java/net/URL.java per spec.
654         
655         * java/io/natFileDescriptorPosix.cc (open): Check for ENOENT rather
656         than EEXIST for throwing FileNotFoundException.
657         
658         * java/net/URL.java: Folded in default URLStreamHandlerFactory 
659         algorithm per JDK 1.2 doc.  Added SecurityManager checks.
660         
661         * java/net/URLStreamHandler.java (parseURL): Added stub.
662
663 1999-03-15  Andrew Haley  <aph@cygnus.com>
664
665         * java/text/ChoiceFormat.java (nextDouble): Simplify and fix off
666         by one errors.
667
668 1999-03-15  Andrew Haley  <aph@cygnus.com>
669
670         * java/lang/natSystem.cc (currentTimeMillis): Restore eCos clock
671         support.
672
673 1999-03-12  Tom Tromey  <tromey@cygnus.com>
674
675         * prims.cc (catch_segv): New function.
676         Include <signal.h> if HANDLE_SEGV defined.  Include
677         NullPointerException.h.
678         (JvRunMain): If HANDLE_SEGV defined, install catch_segv as SIGSEGV
679         handler.
680
681         * java/text/SimpleDateFormat.java (equals): Ensure that object is
682         a SimpleDateFormat, not just a DateFormat.
683         (defaultCenturyStart, formatData, pattern): Now private.
684         (append): Now `final'.  Use `NumberFormat.format'.
685         (parse): Wrote.
686         (SimpleDateFormat): Turn off groupin in NumberFormat object.
687
688         * java/lang/natString.cc (indexOf): Add `fromIndex' to successful
689         result.
690
691         * java/text/MessageFormat.java (format): Use default MessageFormat
692         constructor.
693         (parse, parseObject): Wrote.
694
695         * java/text/SimpleDateFormat.java (SimpleDateFormat): Wrote no-arg
696         constructor.
697
698 1999-03-12  Andrew Haley  <aph@cygnus.com>
699
700         * java/lang/String.java (indexOf): Replace with native method for
701         better performance.
702         * java/lang/natString.cc (IndexOf): As above.
703
704         * java/lang/natString.cc (init(jbyteArray,jint,jint,jint)):
705         Argument check corrected.
706         (init(jbyteArray,jint,jint,jstring)): Likewise.
707         
708         * java/lang/StringBuffer.java (ensureCapacity): Replace with JDK
709         1.2 compliant method.
710  
711         * java/lang/Double.java (byteValue, shortValue): JDK 1.1 methods
712         added.
713         * java/lang/Float.java (byteValue, shortValue): Likewise.
714
715 1999-03-11  Tom Tromey  <tromey@cygnus.com>
716
717         * java/text/DecimalFormat.java (parse): Wrote.
718
719         * java/text/ChoiceFormat.java (parse): Set error index on
720         ParsePosition object.
721
722         * java/lang/Integer.java (parseInt): Throw exception on overflow
723         when intermediate result is most negative number.  Changed
724         overflow detection as well.
725         * java/lang/Long.java (parseLong): Likewise.
726
727         * configure, Makefile.in: Rebuilt.
728         * configure.in (NULL_TARGET, CANADIAN): New conditionals.  Set
729         CANADIAN when building in source tree that doesn't include gcc.
730         * Makefile.am (ZIP, GCJ, GCJH): Use automake conditionals to
731         define.
732
733         * java/text/ChoiceFormat.java (nextDouble): Correct some
734         off-by-one errors when masking or adding.
735
736         * java/text/DecimalFormat.java (format): Fill in FieldPosition
737         parameter, if given.  Use `%', not IEEEremainder.
738         (scanFix): Throw error if multiplier already set.
739         (computePattern): Wrote.
740
741 1999-03-11  Andrew Haley  <aph@cygnus.com>
742
743         * java/text/ChoiceFormat.java (mantissaBits): Use correct value of
744         52.
745         (nextDouble): Corrected masking logic.  Handle interaction between
746         `next' and negative numbers.
747
748 Wed Mar 10 18:58:37 1999  Warren Levy  <warrenl@cygnus.com>
749
750         * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Created.
751         * java/net/URL.java: Added general comments.
752
753 1999-03-10  Tom Tromey  <tromey@cygnus.com>
754
755         * java/text/ChoiceFormat.java (parse): Wrote.
756
757         * java/text/ChoiceFormat.java (toPattern): Use `#', not `<'.
758
759         * java/text/MessageFormat.java (MessageFormatElement.setLocale):
760         Create ChoiceFormat objects.
761         (format): Special-case ChoiceFormat.
762         (scanFormatElement): Include { and } in generated style string.
763
764 1999-03-09  Tom Tromey  <tromey@cygnus.com>
765
766         * java/text/ChoiceFormat.java: New file.
767
768 Tue Mar  9 17:09:18 1999  Warren Levy  <warrenl@cygnus.com>
769
770         * java/net/BindException.java: Created.
771         * java/net/ConnectException.java: Created.
772         * java/net/ContentHandler.java: Created.
773         * java/net/ContentHandlerFactory.java: Created.
774         * java/net/FileNameMap.java: Created.
775         * java/net/MalformedURLException.java: Created.
776         * java/net/NoRouteToHostException.java: Created.
777         * java/net/ProtocolException.java: Created.
778         * java/net/ServerSocket.java (@author): Fixed typo.
779         * java/net/Socket.java (@author): Fixed typo.
780         * java/net/SocketImpl.java (@author): Fixed typo.
781         * java/net/SocketImplFactory.java (@author): Fixed typo.
782         * java/net/URL.java: Created - nearly complete.
783         * java/net/URLConnection.java: Created - near-empty stub.
784         * java/net/URLStreamHandler.java: Created - incomplete stub.
785         * java/net/URLStreamHandlerFactory.java: Created.
786         * java/net/UnknownServiceException.java: Created.
787
788 1999-03-09  Tom Tromey  <tromey@cygnus.com>
789
790         * java/lang/System.java (ForwardingInputStream): New class.
791         (ForwardingOutputStream): Likewise.
792         (in, out, err): Now `final' forwarding streams.
793         (setIn, setOut, setErr): Use appropriate method on forwarding
794         streams.
795
796         * java/text/MessageFormat.java (MessageFormatElement): Now `final'
797         class.
798
799 Tue Mar  9 12:16:53 1999  Per Bothner  <bothner@cygnus.com>
800
801         * java/util/zip/CRC32.java:  New class (just an incomplete stub).
802         * java/util/zip/Checksum.java:  New interface (complete).
803         * java/util/zip/Deflater.java:  New class (near-empty stub).
804         * java/util/zip/DeflaterOutputStream.java: New class (incomplete stub).
805         * java/util/zip/ZipConstants.java:  New interface (near-empty stub).
806         * java/util/zip/ZipEntry.java:  New class (complete).
807         * java/util/zip/ZipException.java:  New class (complete).
808         * java/util/zip/ZipFile.java:  New class (incomplete stub).
809         * java/util/zip/ZipOutputStream.java:  New class (incomplete stub).
810
811 1999-03-09  Tom Tromey  <tromey@cygnus.com>
812
813         * java/text/MessageFormat.java (MessageFormatElement): Removed
814         `public' specifiers.
815
816         * java/text/DecimalFormat.java (scanFormat): Increment index
817         before processing exponential format.  Fixed a couple typos in
818         exception messages.
819         (format): Correct normalization of exponent.
820
821 1999-03-08  Tom Tromey  <tromey@cygnus.com>
822
823         * java/text/SimpleDateFormat.java (parse): Throw
824         IllegalArgumentException, not ParseException.
825
826 1999-03-05  Tom Tromey  <tromey@cygnus.com>
827
828         * java/text/SimpleDateFormat.java (SimpleDateFormat): Use locale
829         when constructing DateFormatSymbols.  Initialize numberFormat
830         field of superclass.
831
832         * java/text/DateFormat.java (equals): Rewrote.
833         (getAvailableLocales): New method.
834         (getDateInstance): New methods.
835         (getDateTimeInstance): Likewise.
836         (getTimeInstance): Likewise.
837         (getInstance): New method.
838         (computeInstance): New method.
839
840         * java/text/DateFormatSymbols.java (zoneStringsDefault): Completed
841         for US.
842         (safeGetResource): New method.
843         (DateFormatSymbols): Use Locale paramater.
844         (equals): Now protected.
845         Made instance variables private.
846
847 1999-03-04  Tom Tromey  <tromey@cygnus.com>
848
849         * java/text/DecimalFormat.java: New file.
850
851         * java/text/NumberFormat.java (groupingUsed,
852         maximumFractionDigits, maximumIntegerDigits,
853         minimumFractionDigits, minimumIntegerDigits, parseIntegerOnly):
854         New fields.
855         (setDecimalSeparatorAlwaysShown, setMultiplier,
856         setPositivePrefix): Removed.
857         (setMinimumFractionDigits, setMaximumFractionDigits):
858         Implemented.
859         (format): Now final.
860         Added many new methods.
861
862         * Makefile.in: Rebuilt.
863         * Makefile.am (gnu_files): New macro.
864         (java_files): Added gnu_files.
865         (class_gnu_files): New macro.
866         (class_files): Use it.
867         (src_gnu_files): New macro.
868         (gnu.o): New target.
869         (javao_files): Added gnu.o.
870
871         * gnu/gcj/text/LocaleData_en_US.java: New file.
872         * gnu/gcj/text/LocaleData_en.java: New file.
873         * java/text/DecimalFormatSymbols.java: Import ResourceBundle.
874         (DecimalFormatSymbols): Use ResourceBundle to find resources.
875         (safeGetString): New method.
876         (safeGetChar): Likewise.
877
878 1999-03-03  Tom Tromey  <tromey@cygnus.com>
879
880         * java/text/NumberFormat.java (INTEGER_FIELD, FRACTION_FIELD): New
881         constants.
882
883         * java/text/FieldPosition.java (equals): Don't check for null
884         object; instanceof does this.
885
886         * java/util/Locale.java (clone): New method.
887         (equals): Likewise.
888
889 Wed Mar  3 17:20:15 1999  Anthony Green  <green@cygnus.com>
890
891         * doc/cni.sgml: New file.
892
893 1999-03-03  Tom Tromey  <tromey@cygnus.com>
894
895         * prims.cc (_Jv_Abort): Mention libgcj, not libjava.
896
897         * java/text/DecimalFormatSymbols.java: New file.
898
899 1999-03-02  Tom Tromey  <tromey@cygnus.com>
900
901         * java/io/natFileDescriptorPosix.cc: Include sys/filio.h if it
902         exists.
903         * configure: Rebuilt.
904         * configure.in: Check for sys/filio.h.
905
906         * java/lang/Runtime.java (checkLink): Throw NullPointerException
907         if required.
908         (load): Always throw UnsatisfiedLinkError.
909         (loadLibrary): Likewise.
910
911 1999-03-02  Anthony Green  <green@cygnus.com>
912
913         * LIBGCJ_LICENSE: New file.
914         * LIBJAVA_LICENSE: Removed.
915         * Many files: libjava now libgcj.
916         
917 1999-03-02  Tom Tromey  <tromey@cygnus.com>
918
919         * include/java-chartables.h: Rebuilt.
920         * chartables.pl (print_block): Make table `const'.
921         (print_numerics): Likewise.
922         (print_single_map): Likewise.
923         (print_all_block): Likewise.
924         (print_case_table): Likewise.
925         (print_fast_tables): Likewise.
926         * java/lang/natCharacter.cc (table_search): `table' argument now
927         const.
928
929 1999-03-01  Tom Tromey  <tromey@cygnus.com>
930
931         * java/util/Date.java (before, after): Inverted logic.
932
933         * java/util/Date.java (parse): Handle case where first character
934         in string is open parenthesis.
935         (skipParens): Rewrote.
936
937         * java/lang/reflect/natArray.cc: Include <stdlib.h>.
938         * java/lang/reflect/natField.cc: Include <stdlib.h>.
939
940         * java/util/Date.java (parse): Correctly compute beginning of
941         punctuation.
942
943         * java/util/Hashtable.java (get): Throw NullPointerException if
944         key is null.
945         (containsKey): Likewise.
946
947         * java/util/Properties.java (list): Truncate value to 37
948         characters and add `...'.
949
950         * java/lang/Byte.java (parseByte): Pass `radix' to
951         Integer.parseInt.
952
953         * prims.cc (_Jv_Abort): In non-DEBUG case, use System.err, not
954         fprintf.
955         Include System.h, PrintStream.h.
956
957         * java/lang/natSystem.cc (init_properties): Don't use malloc,
958         realloc, or free.
959
960         * java/lang/natSystem.cc (init_properties): Use getpwuid_r if it
961         exists.
962         * configure: Rebuilt.
963         * configure.in: Check for getpwuid_r.  Look for `pwd.h', not
964         `pwd.d'.
965
966         * mauve-libjava: Omit AttibutedCharacterIterator, ACIAttribute.
967
968         * java/lang/SecurityManager.java: Import java.net.*.
969         (checkMulticast): New methods.
970
971 Fri Feb 26 14:54:52 1999  Per Bothner  <bothner@cygnus.com>
972
973         * Makefile.am, Makefile.in (java/lang/reflect/Method.h):  New rule.
974         (nat_files):  Add java/lang/reflect/natArray.o.
975         (nat_headers):  Add Field.h and NoSuchFieldException.h.
976         
977         * include/java-field.h (_Jv_GetStaticLongField, _Jv_GetStaticIntField,
978         _Jv_GetStaticShortField, _Jv_GetStaticByteField):  New inline methods.
979         (_Jv_FromReflectedField):  Fix buglet.
980         * include/jvm.h (_Jv_NewMultiArray):  New declaration.
981         * include/java-assert.h (JvFail):  Pass message string to _Jv_Abort.
982         * prims.cc (_Jv_Abort):  Include message in print-out.
983
984         * prims.cc (_Jv_equal):  New method (compare Utf8Const and jstring).
985         (new_multi_array):  Rename to _Jv_NewMultiArray.  Make non-static.
986         * include/jvm.h (_Jv_NewMultiArray, _Jv_equal):  New declarations.
987
988         * configure.in (AC_CHECK_HEADERS), configure:  Add pwd.h.
989         * include/config.h.in (HAVE_PWD_H):  New feature macro.
990         * java/lang/natSystem.cc (init_properties):  Set file.encoding,
991         user.name, user.home, user.dir.
992
993         * java/lang/reflect/Array.java:  New class.
994         * java/lang/reflect/natArray.cc:  New native methods.
995         * include/javaprims.h:  Declare java::lang::reflect::Array.
996
997         * java/lang/Class.h (getField):  New private method.  Add friends.
998         * java/lang/Class.java (getField):  Add private overload.
999         * java/lang/natClass.cc (getField, getField, getDeclaredField,
1000         getDeclaredMethods):  Add working implementations.
1001         * java/lang/reflect/Field.java, java/lang/reflect/natField.cc:
1002         Finish implementation, except for access control.
1003
1004         * java/lang/reflect/Modifier.java (toString):  New overload.
1005         * include/java-method.h:  New file.
1006         * java/lang/reflect/Method.java (index):  Replaced by offset field.
1007         Remove various private fields - get them from _Jv_Field instead.
1008         * java/lang/reflect/natMethod.cc (getModifiers, getName, getType):
1009         New method implementations.
1010
1011         * java/text/NumberFormat.java:  Add a bunch of methods.
1012
1013 Mon Feb 22 17:52:34 1999  Per Bothner  <bothner@cygnus.com>
1014
1015         * java/lang/StringBuffer.java (getChars):  Fix bounds checks.
1016
1017 1999-02-26  Tom Tromey  <tromey@cygnus.com>
1018
1019         * include/config.h.in: Rebuilt.
1020         * acconfig.h (GETHOSTBYNAME_R_RETURNS_INT,
1021         GETHOSTBYADDR_R_RETURNS_INT, HAVE_GETHOSTBYNAME_R,
1022         HAVE_GETHOSTBYADDR_R): New defines.
1023         * java/net/natInetAddress.cc (lookup): Use gethostbyname_r and
1024         gethostbyaddr_r if available.
1025         Include <errno.h>.
1026         * configure: Rebuilt.
1027         * configure.in: Check for gethostbyname_r, gethostbyaddr_r.
1028
1029         * java/net/natInetAddress.cc (aton): Use _Jv_AllocBytesChecked.
1030         Don't use JvFree.
1031         (lookup): Likewise.
1032         Include <jvm.h>.
1033         * include/jvm.h (_Jv_AllocBytesChecked): Declare.
1034         * prims.cc (_Jv_AllocBytesChecked): New function.
1035
1036         * Makefile.in: Rebuilt.
1037         * Makefile.am (SUBDIRS): Removed `test'.
1038         * configure: Rebuilt.
1039         * configure.in: Don't build test/Makefile.
1040         * test/*: Removed all files.
1041
1042 Thu Feb 25 17:27:37 1999  Warren Levy  <warrenl@cygnus.com>
1043
1044         * java/lang/reflect/Constructor.java: Make class final to match spec.
1045         * java/lang/reflect/Method.java: Ditto.
1046
1047 1999-02-25  Tom Tromey  <tromey@cygnus.com>
1048
1049         * java/net/natInetAddress.cc: Include <sys/types.h> before
1050         <sys/socket.h>.
1051         * java/net/natPlainSocketImpl.cc: Include <sys/types.h> before
1052         <sys/socket.h>.
1053
1054         * java/net/natInetAddress.cc: Declare gethostname if required.
1055         * include/config.h.in: Rebuilt.
1056         * acconfig.h (HAVE_GETHOSTNAME_DECL): New define.
1057         * configure: Rebuilt.
1058         * configure.in: Define HAVE_GETHOSTNAME_DECL when gethostname is
1059         declared in unistd.h.
1060
1061 1999-02-24  Tom Tromey  <tromey@cygnus.com>
1062
1063         * Makefile.in: Rebuilt.
1064         * Makefile.am (java/io/FileDescriptor.h): Removed target.
1065         * java/io/FileDescriptor.java (FileDescriptor): Changed protection
1066         from private to "none".
1067
1068         * include/javaprims.h: Regenerated class declarations with new
1069         classes.pl.
1070         * classes.pl (scan): Only generate decls for java.lang, java.io,
1071         and java.util.
1072
1073 1999-02-24  Tom Tromey  <tromey@cygnus.com>
1074
1075         * posix-threads.cc (_Jv_InitThreads): Mask SIGINT in all threads.
1076         (_Jv_ThreadWait): Allow SIGINT to be delivered to waiting thread.
1077
1078 1999-02-23  Tom Tromey  <tromey@cygnus.com>
1079
1080         * java/util/natGregorianCalendar.cc (_REENTRANT): Only define if
1081         not already defined.
1082         * java/io/natFile.cc (_REENTRANT): Only define if not already
1083         defined.
1084         * include/config.h.in: Rebuilt.
1085         * acconfig.h (HAVE_BOEHM_GC): New define.
1086         * configure: Rebuilt.
1087         * configure.in: Define HAVE_BOEHM_GC if using it.
1088         * posix-threads.cc: Include boehm-config.h and gc.h if
1089         HAVE_BOEHM_GC.
1090         * include/posix-threads.h: Added explanatory note about Boehm GC.
1091
1092         * java/io/BufferedReader.java (readLine): Only return null when
1093         EOF seen before any characters read.  (In particular, an empty
1094         line should not return null.)
1095
1096         * java/io/BufferedInputStream.java (read): Only refill once per
1097         invocation.
1098
1099         * mauve-libjava: Added java.text.StringCharacterIterator.iter,
1100         java.lang.Character.classify12, java.lang.String.hash,
1101         java.text.FieldPosition.Test, java.text.ParsePosition.Test,
1102         java.text.SimpleDateFormat.getAndSet2DigitYearStart
1103
1104         * java/text/StringCharacterIterator.java (setIndex): No error if
1105         index == end.
1106         (next): Check for `pos == end', not `end - 1'.
1107         (StringCharacterIterator): Allow `pos == end'.  Explicitly check
1108         for null text in each constructor.
1109         (clone): Fixed order of arguments to constructor.
1110
1111 1999-02-22  Tom Tromey  <tromey@cygnus.com>
1112
1113         * include/config.h.in: Rebuilt.
1114         * acconfig.h (HAVE_INET6): New define.
1115         (HAVE_SOCKLEN_T): Likewise.
1116         * java/net/PlainSocketImpl.java: Added copyright header.
1117         * java/net/natPlainSocketImpl.cc: Added copyright header.
1118         (union SockAddr): Use HAVE_INET6, not AF_INET6.
1119         (bind): Likewise.
1120         (connect): Likewise.
1121         (accept): Likewise.
1122         (socklen_t): New typedef.
1123         (accept): Use socklen_t.
1124         * java/net/natInetAddress.cc: Added copyright header.
1125         (HAVE_GETHOSTNAME): Don't define.
1126         (HAVE_INET_ADDR): Likewise.
1127         (lookup): Fixed typo.
1128         (aton): Don't use `address' as name of local variable.
1129         (lookup): Use HAVE_INET6, not AF_INET6.
1130
1131         * configure: Rebuilt.
1132         * configure.in: Look for functions inet_aton, inet_addr,
1133         gethostname, inet_pton, uname.  Check for sockaddr_in6 structure.
1134         Check for socklen_t typedef.
1135
1136         * exception.cc (__throw): Declare as __noreturn__.
1137
1138 Mon Feb 22 15:27:35 1999  Per Bothner  <bothner@cygnus.com>
1139
1140         * Makefile.am, Makefile.in:  Also build java/net.
1141         (java/io/FileDescriptor.h):  Add friend java::net::PlainSocketImpl.
1142
1143         * java/io/natFile.cc: #define _POSIX_PTHREAD_SEMANTICS and _REENTRANT.
1144         * java/util/natGregorianCalendar.cc:  #define _REENTRANT.
1145
1146         * prims.cc (_Jv_malloc, _Jv_Free):  New functions.
1147         * include/cni.h (JvMalloc, JvFree):  New inline functions.
1148         (JvThrow):  Add __noreturn__ attribute.
1149         * include/javaprims.h (_Jv_Malloc, _Jv_Free):  New declarations.
1150         (_Jv_Throw):  Add __noreturn__ attribute.
1151
1152         * java/net/PlainSocketImpl.java:  Init fnum to -1.
1153         * java/net/ServerSocket.java:  Add missing throws clauses.
1154         * java/lang/Socket.java:  For the constructor taking a SocketImpl,
1155         don't call create on the latter.  Instead, other constructors
1156         have to explicitly call SocketImpl.create.
1157         * java/net/natPlainSocketImpl.cc (accept):  Change variable addrlen
1158         from size_t to int, to match ::accept prototype.
1159         * java/net/natInetAddress.cc:  Use JvFree rather than free.
1160
1161
1162 1999-02-22  Tom Tromey  <tromey@cygnus.com>
1163
1164         * include/javaprims.h: Added new classes.
1165         * java/text/StringCharacterIterator.java: New file.
1166         * java/text/CharacterIterator.java: New file.
1167
1168         * java/text/ParseException.java (errorOffset): Now private.
1169
1170 Mon Feb 22 12:54:53 1999  Per Bothner  <bothner@cygnus.com>
1171
1172         * java/net:  New package.
1173         * java/net/{InetAddress.java,PlainSocketImpl.java,ServerSocket.java,
1174         Socket.java,SocketException.java,SocketImpl.java,
1175         SocketImplFactory.java,UnknownHostException.java,natInetAddress.cc,
1176         natPlainSocketImpl.cc}:  New classes.
1177
1178         * configure.in (AC_CHECK_HEADERS):  Also check for <sys/socket.h>,
1179         <netinet.in.h>, <arpa/inet.h> and <netdb.h>.
1180         * include/config.h.in:  Add place-holders for HAVE_ARPA_INET_H,
1181         HAVE_NETDB_H, HAVE_NETINET_IN_H, and HAVE_SYS_SOCKET_H.
1182
1183         * classes.pl:  Translate package into "namespace", not "class".
1184         * include/javaprims.h:  Update class list, using "namespace".
1185
1186 1999-02-21  Tom Tromey  <tromey@cygnus.com>
1187
1188         * java/util/natGregorianCalendar.cc (_POSIX_PTHREAD_SEMANTICS):
1189         Define when appropriate.
1190
1191 1999-02-20  Tom Tromey  <tromey@cygnus.com>
1192
1193         * java/lang/natString.cc (_Jv_GetStringUTFRegion): Encode \u007f
1194         as a single byte and \u07ff as two bytes.
1195         (_Jv_GetStringUTFLength): Likewise.
1196         * include/jvm.h (UTF8_GET): Mask first byte of 3-byte encoding
1197         with 0x0f, not 0x1f.
1198
1199 1999-02-19  Tom Tromey  <tromey@cygnus.com>
1200
1201         * java/io/DataOutputStream.java (writeUTF): When encoding
1202         character as 3 bytes, `or' first byte with 0xe0, not 0xc0.
1203         * java/io/DataInputStream.java (readUTF): Mask second byte of
1204         3-byte character with 0x3f, not 0x1f.
1205
1206         * java/io/DataInputStream.java (readLong): Cast result of
1207         readUnsignedByte to long before using.
1208
1209         * java/io/FileInputStream.java (finalize): Only finalize `fd' if
1210         it is not null.
1211
1212         * mauve-libjava: Re-enabled java.io.DataInputOutput.
1213         * include/no-threads.h (_Jv_ThreadInterrupt): Removed name of
1214         argument to avoid warning.
1215         * include/quick-threads.h (_Jv_ThreadInterrupt): Removed name of
1216         argument to avoid warning.
1217
1218 1999-02-18  Tom Tromey  <tromey@cygnus.com>
1219
1220         * mauve-libjava: Omit java.io.DataInputOutput and
1221         java.io.Utf8Encoding.
1222
1223 1999-02-17  Tom Tromey  <tromey@cygnus.com>
1224
1225         * Makefile.in: Rebuilt.
1226         * Makefile.am (nat_headers): Added InterruptedIOException.h.
1227         * java/io/natFileDescriptorPosix.cc: Include
1228         InterruptedIOException.h, Thread.h.
1229         (write): Throw InterruptedIOException when required.
1230         (read): Likewise.
1231         * posix-threads.cc: Include <signal.h>.
1232         (_Jv_ThreadInterrupt): New function.
1233         (INTR): New define.
1234         (handle_intr): New function.
1235         (_Jv_InitThreads): Register handle_intr via sigaction.
1236         * java/lang/natThread.cc (interrupt): Call _Jv_ThreadInterrupt.
1237         * include/posix-threads.h (_Jv_ThreadInterrupt): Declare.
1238         * include/quick-threads.h (_Jv_ThreadInterrupt): New function.
1239         * include/no-threads.h (_Jv_ThreadInterrupt): New function.
1240
1241 1999-02-19  Andrew Haley  <aph@cygnus.com>
1242
1243         * java/lang/ThreadGroup (setMaxPriority): Set the maximum priority
1244         of subgroups.
1245         (ThreadGroup (int)): Set the maximum priority of the initial
1246         ThreadGroup.
1247
1248 1999-02-18  Andrew Haley  <aph@cygnus.com>
1249
1250         * java/lang/natClass.cc (forName): Check for the case where a
1251         classname is the name of an array and call FindClassFromSignature
1252         to find the Class.
1253
1254 1999-02-18  Andrew Haley  <aph@cygnus.com>
1255
1256         * java/lang/StringBuffer (insert (int, String)): Move up any
1257         characters above the insert position and increase the length of
1258         the string buffer by the length of the argument.
1259         (insert (int, char[])): Likewise.
1260         (insert (int, char)): Likewise.
1261         (StringBuffer (String)): The initial capacity of the string buffer
1262         is 16 plus the length of the argument.
1263         (getChars): Add a JDK 1.2 FIXME.
1264
1265 1999-02-18  Andrew Haley  <aph@cygnus.com>
1266
1267         * java/lang/Short.java (parseShort(String, int)): Pass radix to
1268         Integer.parseInt.
1269
1270 1999-02-18  Andrew Haley  <aph@cygnus.com>
1271
1272         * java/lang/Double.java (equals): Use a bit-by-bit comparision
1273         instead of floating-point equality.  This is necessary for
1274         correct floating-point Hashtables.
1275         * java/lang/Float.java (equals): Ditto.
1276
1277 1999-02-16  Tom Tromey  <tromey@cygnus.com>
1278
1279         * java/util/Properties.java (list): Truncate value to 37
1280         characters and add "...".
1281
1282 1999-02-16  Tom Tromey  <tromey@cygnus.com>
1283
1284         * java/util/Vector.java (Vector): Throw IllegalArgumentException
1285         if initCap is negative.
1286         (contains): Implement JDK1.2-style handling of null argument.
1287         (removeElement): Likewise.
1288         (indexOf): Likewise.  Also, correctly handle case where idx is
1289         negative.
1290         (lastIndexOf): Likewise.
1291
1292 1999-02-16  Tom Tromey  <tromey@cygnus.com>
1293
1294         * java/lang/natString.cc (init): Increment source pointer in
1295         loop.
1296
1297 1999-02-16  Tom Tromey  <tromey@cygnus.com>
1298
1299         * exception.cc: Include NullPointerException.h.
1300         (_Jv_Throw): If `value' is NULL, throw a NullPointerException.
1301
1302 1999-02-16  Tom Tromey  <tromey@cygnus.com>
1303
1304         * Makefile.in: Rebuilt.
1305         * Makefile.am (AUTOMAKE_OPTIONS): Added `no-installinfo.
1306
1307 Sat Feb 13 20:25:09 1999  Bonzo Armstrong  <bonzo@cygnus.com>
1308
1309         * configure.in: Don't undefine EH_COMMON_INCLUDE just because
1310         we're compiling canadian.
1311         * configure: Regenerated.
1312
1313 1999-02-12  Andrew Haley  <aph@cygnus.com>
1314  
1315         * java/lang/sf_rint.c: Resurrected.  This file shouldn't have been
1316         deleted from libgcj.
1317
1318 1999-02-12  Tom Tromey  <tromey@cygnus.com>
1319
1320         * exception.cc (_Jv_eh_alloc): Use _Jv_AllocBytes, not malloc.
1321         (_Jv_eh_free): Don't call free.
1322         Don't declare malloc or free.
1323
1324 1999-02-11  Tom Tromey  <tromey@cygnus.com>
1325
1326         * configure.host: Use `libgcj', not `libjava'.  Removed `echo'.
1327
1328 1999-02-11  Andrew Haley  <aph@cygnus.com>
1329
1330         * ef_fmod.c, sf_ceil.c, sf_fabs.c, sf_floor.c, sf_rint.c,
1331         wf_fmod.c: Deleted.  These are all files from fdlibm which aren't
1332         needed by java.lang.*.
1333         * Makefile.am: ef_fmod.o, sf_ceil.o, sf_fabs.o, sf_floor.o, sf_rint.o,
1334         wf_fmod.o: Removed from libjava.a.
1335
1336 1999-02-11  Tom Tromey  <tromey@cygnus.com>
1337
1338         * include/javaprims.h: Reverted previous change; with it
1339         exception.cc can't compile.
1340
1341         * include/javaprims.h (_Jv_Throw): Mark as noreturn.
1342
1343         * include/config.h.in: Rebuilt.
1344         * include/posix-threads.h (_Jv_ThreadYield): Conditionalize on
1345         HAVE_SCHED_YIELD.
1346         * configure: Rebuilt.
1347         * configure.in: Check for sched_yield.  Look in thread library for
1348         all thread functions.
1349
1350         * posix-threads.cc (_Jv_MutexInit): Handle case where system has
1351         no recursive mutexes.
1352         (_Jv_MutexDestroy): Define when required.
1353         (_Jv_MutexLock): Likewise.
1354         (_Jv_MutexUnlock): Likewise.
1355         (_Jv_CondWait): Conditionalize on HAVE_RECURSIVE_MUTEX.
1356         * include/posix-threads.h (HAVE_RECURSIVE_MUTEX): New define.
1357         (_Jv_Mutex_t): New structure.
1358         (_Jv_MutexDestroy): Only define if recursive mutexes available.
1359         (_Jv_MutexLock): Likewise.
1360         (_Jv_MutexUnlock): Likewise.
1361
1362 1999-02-10  Tom Tromey  <tromey@cygnus.com>
1363
1364         * aclocal.m4, configure, Makefile.in: Rebuilt.
1365         * acinclude.m4: Renamed libjava to libgcj.  Updated to use
1366         automake 1.4.
1367         * configure.in: Changed to track library changes.
1368         * Makefile.am (toollib_LIBRARIES): Renamed libjava to libgcj.
1369         (AM_CXXFLAGS): Likewise.
1370         (data_DATA): Likewise.
1371         (AM_CFLAGS): Likewise.
1372         (JC1FLAGS): Likewise.
1373         (libgcj_a_SOURCES): Likewise.
1374         (EXTRA_libgcj_a_SOURCES): Likewise.
1375         (libgcj_a_DEPENDENCIES): Likewise.
1376         (libgcj_a_LIBADD): Likewise.
1377         (libgcj.zip): Likewise.
1378         (CLEANFILES): Likewise.
1379         ($(nat_headers)): Likewise.
1380         (java/lang/FirstThread.h): Likewise.
1381         (java/lang/ThreadGroup.h): Likewise.
1382         (java/lang/String.h): Likewise.
1383         (java/lang/reflect/Field.h): Likewise.
1384         (BUILT_SOURCES): Likewise.
1385         (maintainer-check): Likewise.
1386         (CONFIG_STATUS_DEPENDENCIES): Likewise.
1387 Tue Feb  9 11:06:38 1999  Anthony Green  <green@cygnus.com>
1388
1389         * java/util/natGregorianCalendar.cc (computeFields): Only use
1390         gmtime_r and localtime_r when configured for posix threads.
1391
1392         * java/io/natFile.cc (get_entry): Only use readdir_r when
1393         configured for posix threads.
1394
1395         * java/util/natGregorianCalendar.cc: Update copyright notice.
1396         * java/util/TimeZone.java: Ditto.
1397         * java/util/SimpleTimeZone.java: Ditto.
1398
1399 1999-02-08  Tom Tromey  <tromey@cygnus.com>
1400
1401         * java/io/PrintStream.java (line_separator): New constant.
1402         (print): Use line_separator, not `file.separator' property.
1403         (println): Use line_separator.
1404
1405         * java/lang/natClass.cc (newInstance): Throw IllegalAccessError
1406         when trying to instantiate Class.
1407
1408         * java/lang/ThreadGroup.java (ThreadGroup): Throw
1409         NullPointerException if argument is null.
1410
1411         * java/lang/Thread.java (setName): Throw NullPointerException, not
1412         IllegalArgumentException.
1413         (Thread): Likewise.
1414
1415 1999-02-08  Andrew Haley  <aph@cygnus.com>
1416
1417         * java/lang/natClass.cc (newInstance): Don't allow anyone to
1418         create new Classes with Class.newInstance().
1419
1420         * java/lang/natClass.cc (_Jv_FindArrayClass): Only add a
1421         semiciolon to end of an array Class's signature if the elements of
1422         the array aren't themselves arrays.
1423
1424         * java/lang/natSystem.cc (arraycopy): The size of an element of an
1425         array of objects is always sizeof(jobject), not the size of the
1426         object to which the reference points.
1427
1428 1999-02-08  Tom Tromey  <tromey@cygnus.com>
1429
1430         * java/util/BitSet.java (and): Throw NullPointerException when
1431         required.
1432         (or): Likewise.
1433         (xor): Likewise.
1434
1435         * java/util/BitSet.java (BitSet): Throw NegativeArraySizeException
1436         if argument is negative.
1437         (clear): Correctly compute `offset'.  Throw
1438         IndexOutOfBoundsException when required.
1439         (set): Likewise.
1440         (get): Likewise.  Also, return correct value.
1441         (ensure): Changed meaning of argument.
1442         (toString): Wrap contents in `{}'; put spaces after commas.
1443         (hashCode): Don't try to examine elements off the end of array.
1444         (or): Correctly include bits past the end of this bit set.
1445         (xor): Likewise.
1446
1447 Thu Feb  4 12:48:03 1999  Warren Levy  <warrenl@cygnus.com>
1448
1449         * configure.host (mips-tx39-*): Use jmr3904dram.ld link script 
1450         instead of the jmr3904app.ld script (i.e. use DRAM instead of SRAM).
1451
1452 1999-02-04  Andrew Haley  <aph@cygnus.com>
1453
1454         * java/lang/natClass.cc (Class::forName): Remove code which mapped
1455         '/' in signatures to '.'
1456         (Class::getName): Likewise,
1457         (_Jv_FindArrayClass): Add a semiciolon to end of an array Class's
1458         signature.
1459         * java/lang/natFirstThread.cc (run): Change '/' in main's
1460         signature to '.'.
1461
1462 1999-02-03  Andrew Haley  <aph@cygnus.com>
1463
1464         * configure.host: -ffloat-store added when compiling libjava on
1465         x86.  fdlibm apparently relies on this.
1466
1467         * java/lang/ThreadGroup.java (add): throw an exception if the
1468         ThreadGroup has been destroyed.
1469
1470         * java/lang/natMath.cc (round): Ensure correct NaN and overflow
1471         behaviour.
1472
1473 1999-01-27  Tom Tromey  <tromey@cygnus.com>
1474
1475         * java/lang/StringBuffer.java (StringBuffer): Handle null
1476         argument.
1477
1478 1999-01-21  Tom Tromey  <tromey@cygnus.com>
1479
1480         * java/lang/natFirstThread.cc (run): Don't require main to be
1481         public.
1482
1483 Wed Jan 20 15:44:56 1999  Anthony Green  <green@cygnus.com>
1484
1485         * boehm.cc (_Jv_InitGC): Clear out the free lists correctly.
1486
1487 1999-01-20  Tom Tromey  <tromey@cygnus.com>
1488
1489         * java/lang/natString.cc (_Jv_StringFindSlot): Synchronize on
1490         StringClass.
1491         (rehash): Likewise.
1492         (intern): Likewise.
1493         (unintern): Likewise.
1494         (_Jv_NewStringUtf8Const): Likewise.
1495
1496         * java/text/SimpleDateFormat.java (format): Use [a-zA-z], not
1497         Character.isLetter, to see if character is self-quoting.  Also,
1498         correctly handle quoted characters.
1499         (parse): Fixed typo.  Also now throws ParseException.
1500
1501 1999-01-15  Tom Tromey  <tromey@cygnus.com>
1502
1503         * java/lang/natObject.cc (INIT_NEEDED): Added missing close paren.
1504
1505         * java/lang/natObject.cc (INIT_NEEDED): Added cast in case where
1506         _Jv_SyncInfo has `init' member.
1507
1508         * include/quick-threads.h (_Jv_MutexUnlock): Return result of
1509         coop_mutex_unlock.
1510
1511         * java/lang/natObject.cc (_Jv_MonitorExit): Throw
1512         IllegalMonitorStateException if unlock fails.
1513
1514         * prims.cc (_Jv_NewPrimArray): Assume allocated memory is all
1515         zero.
1516         (_Jv_NewObjectArray): Likewise.
1517
1518 1999-01-14  Tom Tromey  <tromey@cygnus.com>
1519
1520         * java/lang/Character.java (isJavaIdentifierPart): Allow
1521         LETTER_NUMBER characters.
1522
1523         * chartables.pl (process_char): Fixed error messages.
1524
1525         * include/java-chartables.h: Rebuilt with UniData 2.1.8.
1526         * chartables.pl: Updated comments.  Changed detection of non-digit
1527         numeric values (no longer miss \u00b2 and friends).
1528
1529         * java/lang/Character.java (isJavaIdentifierPart): Recognize
1530         currency symbols and connector punctuation.
1531         (isIdentifierIgnorable): Make 7f-9f ignorable.
1532
1533         * prims.cc (_Jv_NewObjectArray): Check for overflow.
1534         (_Jv_NewPrimArray): Likewise.
1535         (SIZE_T_MAX): New define.
1536
1537         * java/lang/ClassLoader.java (system): Now private and final.
1538
1539         * boehm.cc (_Jv_MarkObj): Handle case where object's class is
1540         null.
1541
1542         * configure: Rebuilt.
1543         * configure.in (EH_COMMON_INCLUDE): Add -I for `../include' as
1544         well.
1545         * exception.cc: Include gansidecl.h.
1546
1547 1999-01-14  Andrew Haley  <aph@cygnus.com>
1548
1549         * java/lang/Math.java, java/lang/natMath.cc: min and max routines
1550         corrected: they didn't treat -0.0 and NaNs correctly.
1551
1552 Wed Jan 13 13:32:22 1999  Anthony Green  <green@cygnus.com>
1553
1554         * nogc.cc: Use calloc to zero out memory.
1555
1556 1999-01-11  Tom Tromey  <tromey@cygnus.com>
1557
1558         * java/lang/natClass.cc (isInstance): Return false if this class
1559         is primitive, not if class of `obj' is primitive.
1560         (_Jv_IsInstanceOf): Rewrote to use Class.isInstance.
1561
1562         * java/io/SequenceInputStream.java (close): Handle case where `in'
1563         is already null.
1564
1565         * java/text/DateFormat.java (format): New method.
1566
1567         * mauve-libjava: Omit java.text.DateFormat.
1568
1569 1999-01-08  Tom Tromey  <tromey@cygnus.com>
1570
1571         * posix-threads.cc (_Jv_ThreadInitData): Removed name of unused
1572         argument.
1573         * include/posix-threads.h (_Jv_CondNotify): Removed name of unused
1574         argument.
1575         (_Jv_CondNotifyAll): Likewise.
1576
1577         * configure: Rebuilt.
1578         * configure.in: Change --enable-source-compilation logic to work
1579         correctly.
1580
1581 1999-01-07  Andrew Haley  <aph@cygnus.co.uk>
1582
1583         * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT, 
1584         and RUNTESTFLAGS from AM_MAKEFLAGS.
1585         * configure.in: AM_RUNTESTFLAGS added.
1586         * configure.host: AM_RUNTESTFLAGS added.
1587         * Makefile.in, test/Makefile.in, testsuite/Makefile.in: rebuilt.
1588         * configure: rebuilt.
1589         * testsuite/Makefile.am: RUNTESTFLAGS set from AM_RUNTESTFLAGS.
1590
1591         * testsuite/libjava.mauve/DejaGNUTestHarness.java (main): use of
1592         argv[] made conditional because embedded targets may not have
1593         argv[].
1594         * testsuite/libjava.mauve/DejaGNUTestHarness.java (main):
1595         explanatory comments added in call to super.
1596
1597         * testsuite/libjava.mauve/test.exp (test_mauve): Test for an
1598         exception thrown in the test harness itself added.
1599         * testsuite/libjava.mauve/test.exp (test_mauve_sim): New routine.
1600
1601 Wed Jan  6 17:27:39 1999  Per Bothner  <bothner@cygnus.com>
1602
1603         * java/text/DateFormatSymbols.java (zoneStringsDefault):  Make static.
1604
1605 1999-01-06  Tom Tromey  <tromey@cygnus.com>
1606
1607         * java/io/natFile.cc (get_entry): New function.
1608         (performList): Use get_entry.
1609         * include/config.h.in: Rebuilt.
1610         * acconfig.h (HAVE_READDIR_R): New define.
1611         * configure: Rebuilt.
1612         * configure.in: Look for readdir_r.
1613
1614         * java/util/natGregorianCalendar.cc (computeFields): Fixed comment.
1615
1616         * java/util/natDate.cc: Added copyright header.
1617
1618 1999-01-05  Tom Tromey  <tromey@cygnus.com>
1619
1620         * include/config.h.in: Rebuilt.
1621         * acconfig.h (HAVE_ACCESS, HAVE_STAT, HAVE_REALPATH, HAVE_MKDIR,
1622         HAVE_REALPATH, HAVE_RMDIR, HAVE_UNLINK): New macros.
1623         * configure: Rebuilt.
1624         * configure.in: Check for access, stat, mkdir, rename, rmdir,
1625         unlink, and realpath.
1626         * java/io/natFile.cc (access): Conditionalize on HAVE_ACCESS.
1627         (stat): Conditionalize on HAVE_STAT.
1628         (attr): Likewise.
1629         (getCanonicalPath): Conditionalize on HAVE_REALPATH.
1630         (performMkdir): Conditionalize on HAVE_MKDIR.
1631         (performRenameTo): Conditionalize on HAVE_RENAME.
1632         (performDelete): Conditionalize on HAVE_RMDIR and HAVE_UNLINK.
1633
1634         * include/config.h.in: Rebuilt.
1635         * acconfig.h (HAVE_GMTIME_R, HAVE_LOCALTIME_R): New defines.
1636         * configure: Rebuilt.
1637         * configure.in: Check for gmtime_r and localtime_r.  For cross
1638         builds, assume they exist.
1639
1640         * mauve-libjava: Include java.text.DateFormatSymbols again.
1641         * java/text/DateFormatSymbols.java (setLocalPatternChars): Renamed
1642         from setAmPmStrings.
1643
1644         * mauve-libjava: Omit java.text.DateFormatSymbols.
1645
1646 1999-01-04  Tom Tromey  <tromey@cygnus.com>
1647
1648         * java/io/PushbackReader.java: `off' already includes `numBytes'.
1649
1650         * java/io/LineNumberReader.java (read): Decrement `count' in
1651         loop.
1652
1653         * java/io/BufferedWriter.java (write): Correctly determine when
1654         incoming data would overrun buffer.  Flush buffer if write causes
1655         it to become full.
1656
1657         * java/io/BufferedOutputStream.java (write): Increment `count'
1658         after copying data into buffer.
1659
1660         * java/io/FilterOutputStream.java (close): Call flush first.
1661
1662         * java/io/PipedReader.java (read): If read causes `out' to catch
1663         up with `in', then set `in' to -1.
1664
1665         * java/io/LineNumberInputStream.java (read): If no bytes read,
1666         return -1.  If no bytes requested, return 0.
1667
1668         * java/lang/StringBuffer.java (insert): If `str' is null, use
1669         string "null".
1670
1671 1998-12-30  Anthony Green  <green@cygnus.com>
1672
1673         * README: Removed.
1674         * LIBJAVA_LICENSE, COPYING.LIB: Created.
1675
1676 1998-12-23  Tom Tromey  <tromey@cygnus.com>
1677
1678         * java/io/PushbackInputStream.java (read): `off' already includes
1679         `numBytes'.
1680
1681 1998-12-17  Tom Tromey  <tromey@cygnus.com>
1682
1683         * Makefile.in: Rebuilt.
1684         * Makefile.am (GCJ_canadian): Include target_alias.
1685
1686         * java/lang/natFirstThread.cc (run): Require main's class to be
1687         public.
1688
1689 1998-12-16  Tom Tromey  <tromey@cygnus.com>
1690
1691         * java/util/Locale.java (JAPAN): Language is `ja', not `jp'.
1692
1693         * java/util/ResourceBundle.java (getBundle): Throw
1694         NullPointerException if locale argument is null.
1695
1696         * java/lang/natClass.cc (forName): Throw NullPointerException if
1697         argument is null.
1698         Include NullPointerException.h.
1699
1700 1998-12-14  Tom Tromey  <tromey@cygnus.com>
1701
1702         * java/lang/Character.java (Character): Implement Comparable.
1703         (compareTo): New methods.
1704
1705         * java/util/Locale.java (CANADA, FRANCE, JAPAN): Now `final'.  Use
1706         correct country and language codes.
1707         (UK, US): New constants.
1708         (setDefault): Language codes are lower-case.
1709
1710         * java/lang/natClass.cc (getDeclaredConstructor): New method.
1711         (getDeclaredConstructors): Likewise.
1712         (getDeclaredField): Likewise.
1713         (getDeclaredFields): Likewise.
1714         (getDeclaredMethod): Likewise.
1715         (getDeclaredMethods): Likewise.
1716         (getField): Likewise.
1717         (getFields): Likewise.
1718         (getMethod): Likewise.
1719         (getMethods): Likewise.
1720         * java/lang/Class.java: Declare new methods.
1721         * java/lang/Class.h: Declare new methods.
1722
1723         * java/lang/natString.cc: Removed `#pragma implementation'.
1724         * include/cni.h (_Jv_GetStringChars): New function.
1725         * Makefile.in: Rebuilt.
1726         * Makefile.am (java/lang/String.h): Don't generate definition for
1727         _Jv_GetStringChars.
1728
1729         * java/lang/natString.cc: Added `#pragma implementation'.
1730
1731         * Makefile.in: Rebuilt.
1732         * Makefile.am (libjava.zip): Put build directory first in class
1733         path to avoid bug in compiler.
1734
1735 1998-12-14  Anthony Green  <green@cygnus.com>
1736
1737         * java/util/Locale.java: Add CANADA, FRANCE and JAPAN.
1738
1739         * include/javaprims.h: Add EventObject, ListResourceBundle and
1740         ResourceBundle.
1741
1742 1998-12-13  Anthony Green  <green@cygnus.com>
1743
1744         * mauve-libjava: Run the ResourceBundle tests.
1745
1746         * java/lang/natClass.cc (_Jv_FindClass): Don't fail when loader is
1747         NULL.
1748
1749 Sun Dec 13 18:11:21 1998  Per Bothner  <bothner@cygnus.com>
1750
1751         * configure.in, configure:  Make --enable-gcj-classes and
1752         --enable-source-compilation the default.  (Nervously...)  Yeah!
1753         Based on a patch from Tom Tromey.
1754
1755 1998-12-13  Tom Tromey  <tromey@cygnus.com>
1756
1757         * java/util/EventObject.java: New file.
1758         * java/util/EventListener.java: New file.
1759
1760         * include/javaprims.h: Updated class declarations.
1761         * Makefile.in: Rebuilt.
1762         * Makefile.am (nat_headers): Added Constructor.h.
1763         (java/lang/String.h): Don't inline String::length().
1764         * java/lang/Class.h (getConstructor, getConstructors): Declare.
1765         * java/lang/Class.java (initializeClass, hackRunInitializers,
1766         hackTrampoline): No need to mark `final'.
1767         (getConstructor, getConstructors): Declare.
1768         * java/lang/reflect/Field.java (equals): New method.
1769         * java/lang/natClass.cc (getConstructor): New method.
1770         (getConstructors): Likewise.
1771         Include Method.h, Field.h, Constructor.h.
1772         * java/lang/reflect/Constructor.java: New file.
1773         * java/lang/reflect/Method.java (toString): No space before open
1774         paren.
1775         (equals): Simplified.
1776
1777 1998-12-13  Anthony Green  <green@cygnus.com>
1778
1779         * java/util/ResourceBundle.java: New file.
1780         * java/util/ListResourceBundle.java: New file.
1781
1782 1998-12-12  Tom Tromey  <tromey@cygnus.com>
1783
1784         * java/lang/System.java (in, out, err): Now buffered streams by
1785         default.
1786
1787         * include/javaprims.h: Updated class declarations.
1788         * Makefile.in: Rebuilt.
1789         * Makefile.am (nat_headers): Added AccessibleObject.h, Method.h,
1790         InvocationTargetException.h, Void.h, Byte.h, Short.h, Integer.h,
1791         Long.h, Boolean.h.
1792         (nat_files): Added natMethod.o.
1793         * java/lang/reflect/natMethod.cc: New file.
1794         * java/lang/reflect/Field.java (Field): Now extends
1795         AccessibleObject.
1796         * java/lang/reflect/AccessibleObject.java: New file.
1797         * java/lang/reflect/InvocationTargetException.java: New file.
1798
1799 1998-12-11  Tom Tromey  <tromey@cygnus.com>
1800
1801         * boehm.cc, prims.cc, include/jvm.h, java/lang/Class.h,
1802         java/lang/Object.h, java/lang/natClass.cc, java/lang/natObject.cc:
1803         Renamed dtable -> vtable and _Jv_DispatchTable -> _Jv_VTable.
1804
1805         * java/io/OutputStreamWriter.java (buffer): Size at 8192 bytes.
1806
1807 1998-12-09  Tom Tromey  <tromey@cygnus.com>
1808
1809         * java/util/natDate.cc (_POSIX_THREAD_SEMANTICS): Define if
1810         HAVE_CTIME_R.
1811
1812         * java/lang/natCharacter.cc (toTitleCase): Handle case where
1813         character is already titlecase.
1814
1815         * java/lang/Character.java (isJavaLetter): Follow spec.
1816         (isJavaLetterOrDigit): Likewise.
1817
1818         * java/util/GregorianCalendar.java (gregorianCutover): Append
1819         `L'.
1820
1821         * java/lang/Character.java (isWhitespace): Use \r and not \u000d.
1822
1823 1998-12-08  Tom Tromey  <tromey@cygnus.com>
1824
1825         * java/lang/reflect/Modifier.java (toString): Replace second
1826         `static' with `synchronized'.
1827
1828         * java/lang/natObject.cc (_Jv_FinalizeObject): Call hack12_6.
1829         * java/lang/Object.h (Object::hack12_6): Declare.
1830         * java/lang/Object.java (hack12_6): New function.
1831
1832 1998-12-07  Tom Tromey  <tromey@cygnus.com>
1833
1834         * include/java-array.h (__JArray::clone): Removed decl.
1835         * prims.cc (__JArray::clone): Removed.
1836         * java/lang/natObject.cc (clone): Incorporate code to clone an
1837         array.
1838
1839         * java/lang/natClass.cc (_Jv_NewClass): Set class loader.
1840         (_Jv_FindArrayClass): Set dtable_method_count on new class.
1841         Correctly use dtable_method_count.
1842
1843 1998-12-07  Andrew Haley  <aph@cygnus.co.uk>
1844
1845         * java/lang/Double.java (isInfinite, isNaN): Handle correct
1846         IEEE754 values.
1847
1848 1998-12-06  Anthony Green  <green@cygnus.com>
1849
1850         * mauve-libjava: Don't test ResourceBundle.
1851
1852 1998-12-04  Tom Tromey  <tromey@cygnus.com>
1853
1854         More JDK 1.2 spec fixes:
1855         * java/util/Date.java (millis): Now private.
1856         * java/text/DateFormat.java (DateFormat): Constructor now
1857         protected.
1858         * java/lang/Void.java (Void): New private constructor.
1859         * java/lang/System.java (System): New private constructor.
1860         * java/lang/SecurityManager.java (classLoaderDepth): Uncommented
1861         body.
1862         (currentClassLoader): New method.
1863         (currentLoadedClass): New method.
1864         * java/lang/Math.java (Math): New private constructor.
1865         * java/lang/Compiler.java (Compiler): New private constructor.
1866         * java/lang/Class.java (Class): New private constructor.
1867         * java/lang/Double.java (toString): Removed access specifier from
1868         two-argument `toString' method.
1869
1870 1998-12-04  Andrew Haley  <aph@cygnus.co.uk>
1871
1872         * java/lang/s_rint.c (rint): Make the variable w volatile; this
1873         causes it to be flushed from an fp register (where it may be
1874         longer than double precision) to a double in memory.  This is
1875         essential to ensure correct rounding behaviour.
1876  
1877 1998-12-04  Tom Tromey  <tromey@cygnus.com>
1878
1879         * include/java-assert.h (_Jv_Abort): Declare as `noreturn'
1880         function.
1881
1882         * java/lang/Character.java (isIdentifierIgnorable): Added comment
1883         explaining apparent divergence from JDK 1.2.
1884
1885 1998-12-04  Per Bothner  <bothner@cygnus.com>
1886
1887         * include/no-threads.h:  Remove unused parameter names.
1888         This silences a bunch of warnings.
1889
1890 1998-12-04  Tom Tromey  <tromey@cygnus.com>
1891
1892         * include/config.h.in: Rebuilt.
1893         * acconfig.h (HAVE_CTIME_R): New symbol.
1894
1895 1998-12-03  Tom Tromey  <tromey@cygnus.com>
1896
1897         * mauve-libjava: Added many more categories to reject.
1898
1899         Changes to follow JDK1.2 spec:
1900         * java/lang/System.java (arraycopy, init_properties, checkSetIO,
1901         setErr, setIn, setOut): No need to be `final'.
1902         * java/lang/natObject.cc (wait): `nanos' argument is an int.
1903         * java/lang/Object.h (Object::wait): `nanos' argument is an int.
1904         * java/lang/Object.java (wait): `nanos' argument is an int.
1905         * java/lang/VirtualMachineError.java: Class is abstract.
1906         * java/lang/ThreadDeath.java: Made constructors public.
1907         * java/io/FileDescriptor.java (FileDescriptor): Added missing
1908         constructor.
1909
1910 Thu Dec  3 20:29:38 1998  Warren Levy  <warrenl@cygnus.com>
1911
1912         * java/text/DateFormatSymbols.java (getAmPmStrings,
1913         getLocalPatternChars, setShortWeekdays): Fixed typos in method names.
1914
1915 Thu Dec  3 19:21:53 1998  Warren Levy  <warrenl@cygnus.com>
1916
1917         * java/io/RandomAccessFile.java (writeInt, writeLong, writeFloat,
1918         writeDouble, writeByte, writeBytes, writeChar, writeChars,
1919         writeShort, writeUTF): Added 'final' to signature to match JDK 1.1
1920         and 1.2.
1921
1922         * java/lang/IllegalThreadStateException.java
1923         (IllegalThreadStateException): Changed extending class to match spec.
1924
1925         * java/lang/NumberFormatException.java
1926         (java/lang/NumberFormatException): Changed extending class to match
1927         spec.
1928
1929         * java/util/Observer.java (Observer): Changed sig to match JCL.
1930
1931 Thu Dec  3 19:05:26 1998  Warren Levy  <warrenl@cygnus.com>
1932
1933         * java/io/DataOutputStream.java (writeInt, writeLong, writeFloat,
1934         writeDouble, writeBytes, writeChars, writeUTF): Added 'final' to
1935         signature to match JDK 1.1 and 1.2.
1936
1937 Thu Dec  3 16:47:42 1998  Warren Levy  <warrenl@cygnus.com>
1938
1939         * Makefile.am: Changed to use $(PERL) rather than hardcoded 'perl'.
1940         * configure.in (PERL): Added AC_CHECK_PROGS to look for installed perl.
1941         * Makefile.in, configure: Rebuilt.
1942
1943         * java/text/ParsePosition.java (setErrorIndex): Fixed typo in method
1944         name.
1945
1946 1998-12-02  Tom Tromey  <tromey@cygnus.com>
1947
1948         * mauve-libjava: New file.
1949
1950         The remaining `-W -Wall' fixes:
1951         * java/lang/e_sqrt.c (__ieee754_sqrt): Added cast to unsigned to
1952         avoid warning.
1953         * java/lang/s_scalbn.c (scalbn): Added braces to avoid ambiguous
1954         `else'.
1955         * java/lang/s_floor.c (floor): Added cast to unsigned to avoid
1956         warning.
1957         * java/lang/e_pow.c (__ieee754_pow): Added cast to unsigned to
1958         avoid warning.
1959         * java/lang/e_log.c (__ieee754_log): Added braces to avoid
1960         ambiguous `else'.
1961         * java/lang/s_ceil.c (ceil): Cast `i1' to unsigned to avoid
1962         warning.
1963         * java/lang/e_atan2.c (__ieee754_atan2): Added parentheses per gcc
1964         suggestion.
1965         * java/lang/strtod.c (_strtod_r): Added parentheses per gcc
1966         suggestion.
1967         * java/lang/mprec.c (Balloc): Removed unused variable.
1968         (mult): Added parentheses per gcc suggestion.
1969         (pow5mult): Likewise.
1970         (lshift): Likewise.
1971         (ulp): Likewise.
1972         (b2d): Likewise.
1973         (d2b): Likewise.
1974         * java/lang/dtoa.c (_dtoa_r): Added some parentheses per gcc
1975         suggestion.  Added cast to `int' to avoid signed/unsigned
1976         comparison.
1977         * jni.cc (_Jv_JNI_GetSuperclass): Removed name of unused
1978         parameter.
1979         (IsAssignableFrom): Likewise.
1980         (_Jv_JNI_GetObjectField): Likewise.
1981         (_Jv_JNI_GetByteField): Likewise.
1982         (_Jv_JNI_GetShortField): Likewise.
1983         (_Jv_JNI_GetIntField): Likewise.
1984         (_Jv_JNI_GetLongField): Likewise.
1985         (_Jv_JNI_GetStringLength): Likewise.
1986         (_Jv_JNI_ToReflectedField): Likewise.
1987         (_Jv_JNI_FromReflectedField): Likewise.
1988         (_Jv_JNIFunctions): Uncommented IsAssignableFrom.
1989
1990         * Makefile.in: Rebuilt.
1991         * Makefile.am (AM_CFLAGS): Define conditionally.
1992         (WARNINGS): New macro.
1993         (AM_CXXFLAGS): Include WARNINGS.
1994         * configure: Rebuilt.
1995         * configure.in (USING_GCC): New conditional.
1996
1997         * prims.cc (_Jv_Abort): Declare twice, to avoid warnings.
1998
1999         * java/lang/Character.java: Changed classification constants to
2000         type `byte' to match JDK 1.2 docs.
2001
2002 1998-12-01  Tom Tromey  <tromey@cygnus.com>
2003
2004         Some fixes to be `-W -Wall' clean:
2005         * boehm.cc (_Jv_MarkObj): Removed name of unused parameter.
2006         (_Jv_MarkArray): Likewise.
2007         * java/lang/natCharacter.cc (to_lower_title): `i' is unsigned.
2008         (to_upper_title): Likewise.
2009         (isTitleCase): Likewise.
2010         (toTitleCase): Likewise.
2011         (getNumericValue): Likewise.
2012         (isLowerCase): Likewise.
2013         * java/lang/natString.cc (charAt): Don't cast `i' to unsigned
2014         (avoids compiler warning).
2015         * java/lang/natClass.cc (getDeclaredClasses): Always return a
2016         value.
2017         (getDeclaringClass): Likewise.
2018         (_Jv_LookupInterfaceMethod): Likewise.
2019         (_Jv_NewClass): Removed name of unused parameter.
2020         * exception.cc (_Jv_type_matcher): Removed unused variable.
2021         (_Jv_setup_eh_info): Removed name of unused parameter.
2022         * prims.cc (_Jv_NewArray): Always return a value.
2023         (_Jv_FindClassFromSignature): Likewise.
2024         * include/java-field.h (getNameUtf8Const): Removed name of unused
2025         parameter.
2026         * include/quick-threads.h (_Jv_ThreadInitData): Removed name of
2027         unused parameter.
2028         (_Jv_ThreadSetPriority): Likewise.
2029
2030         * java/lang/natString.cc (hashChars): Now static.
2031
2032         * java/lang/FirstThread.java (FirstThread): Now final.
2033
2034         * java/io/File.java (performMkdir, performRenameTo): Now private.
2035
2036         * java/lang/natSystem.cc (currentTimeMillis): Return a value even
2037         if no time function defined.
2038
2039         * configure: Rebuilt.
2040         * configure.in: Look for ctime_r, ctime.
2041         * java/util/Date.java (toString): Now native.
2042         * java/util/natDate.cc (toString): Rewrote.
2043
2044 1998-11-27  Andrew Haley  <aph@viagra.cygnus.co.uk>
2045
2046         * Add LDFLAGS line to allow TX39 test cases to link when cross
2047         compiling.
2048
2049 1998-11-23  Anthony Green  <green@cygnus.com>
2050
2051         * boehm.cc, chartables.pl, classes.pl, exception.cc, jni.cc,
2052         no-threads.cc, nogc.cc, posix-threads.cc, prims.cc,
2053         quick-threads.cc, include/boehm-gc.h, include/cni.h,
2054         include/java-array.h, include/java-assert.h, include/java-field.h,
2055         include/javaprims.h, include/jni.h, include/jvm.h,
2056         include/no-gc.h, include/no-threads.h, include/posix-threads.h,
2057         include/quick-threads.h, java/io/BufferedInputStream.java,
2058         java/io/BufferedOutputStream.java, java/io/BufferedReader.java,
2059         java/io/BufferedWriter.java, java/io/ByteArrayInputStream.java,
2060         java/io/ByteArrayOutputStream.java, java/io/CharArrayReader.java,
2061         java/io/CharArrayWriter.java,
2062         java/io/CharConversionException.java, java/io/DataInput.java,
2063         java/io/DataInputStream.java, java/io/DataOutput.java,
2064         java/io/DataOutputStream.java, java/io/EOFException.java,
2065         java/io/File.java, java/io/FileDescriptor.java,
2066         java/io/FileInputStream.java, java/io/FileNotFoundException.java,
2067         java/io/FileOutputStream.java, java/io/FileReader.java,
2068         java/io/FileWriter.java, java/io/FilenameFilter.java,
2069         java/io/FilterInputStream.java, java/io/FilterOutputStream.java,
2070         java/io/FilterReader.java, java/io/FilterWriter.java,
2071         java/io/IOException.java, java/io/InputStream.java,
2072         java/io/InputStreamReader.java,
2073         java/io/InterruptedIOException.java,
2074         java/io/LineNumberInputStream.java, java/io/LineNumberReader.java,
2075         java/io/OutputStream.java, java/io/OutputStreamWriter.java,
2076         java/io/PipedInputStream.java, java/io/PipedOutputStream.java,
2077         java/io/PipedReader.java, java/io/PipedWriter.java,
2078         java/io/PrintStream.java, java/io/PrintWriter.java,
2079         java/io/PushbackInputStream.java, java/io/PushbackReader.java,
2080         java/io/RandomAccessFile.java, java/io/Reader.java,
2081         java/io/SequenceInputStream.java, java/io/Serializable.java,
2082         java/io/StreamTokenizer.java,
2083         java/io/StringBufferInputStream.java, java/io/StringReader.java,
2084         java/io/StringWriter.java, java/io/SyncFailedException.java,
2085         java/io/UTFDataFormatException.java,
2086         java/io/UnsupportedEncodingException.java, java/io/Writer.java,
2087         java/io/natFile.cc, java/io/natFileDescriptorEcos.cc,
2088         java/io/natFileDescriptorPosix.cc,
2089         java/lang/AbstractMethodError.java,
2090         java/lang/ArithmeticException.java,
2091         java/lang/ArrayIndexOutOfBoundsException.java,
2092         java/lang/ArrayStoreException.java, java/lang/Boolean.java,
2093         java/lang/Byte.java, java/lang/Character.java, java/lang/Class.h,
2094         java/lang/Class.java, java/lang/ClassCastException.java,
2095         java/lang/ClassCircularityError.java,
2096         java/lang/ClassFormatError.java, java/lang/ClassLoader.java,
2097         java/lang/ClassNotFoundException.java,
2098         java/lang/CloneNotSupportedException.java,
2099         java/lang/Cloneable.java, java/lang/Comparable.java,
2100         java/lang/Compiler.java, java/lang/Double.java,
2101         java/lang/Error.java, java/lang/Exception.java,
2102         java/lang/ExceptionInInitializerError.java,
2103         java/lang/FirstThread.java, java/lang/Float.java,
2104         java/lang/IllegalAccessError.java,
2105         java/lang/IllegalAccessException.java,
2106         java/lang/IllegalArgumentException.java,
2107         java/lang/IllegalMonitorStateException.java,
2108         java/lang/IllegalStateException.java,
2109         java/lang/IllegalThreadStateException.java,
2110         java/lang/IncompatibleClassChangeError.java,
2111         java/lang/IndexOutOfBoundsException.java,
2112         java/lang/InstantiationError.java,
2113         java/lang/InstantiationException.java, java/lang/Integer.java,
2114         java/lang/InternalError.java, java/lang/InterruptedException.java,
2115         java/lang/LinkageError.java, java/lang/Long.java,
2116         java/lang/Math.java, java/lang/NegativeArraySizeException.java,
2117         java/lang/NoClassDefFoundError.java,
2118         java/lang/NoSuchFieldError.java,
2119         java/lang/NoSuchFieldException.java,
2120         java/lang/NoSuchMethodError.java,
2121         java/lang/NoSuchMethodException.java,
2122         java/lang/NullPointerException.java, java/lang/Number.java,
2123         java/lang/NumberFormatException.java, java/lang/Object.h,
2124         java/lang/Object.java, java/lang/OutOfMemoryError.java,
2125         java/lang/Process.java, java/lang/Runnable.java,
2126         java/lang/Runtime.java, java/lang/RuntimeException.java,
2127         java/lang/SecurityException.java, java/lang/SecurityManager.java,
2128         java/lang/Short.java, java/lang/StackOverflowError.java,
2129         java/lang/String.java, java/lang/StringBuffer.java,
2130         java/lang/StringIndexOutOfBoundsException.java,
2131         java/lang/System.java, java/lang/Thread.java,
2132         java/lang/ThreadDeath.java, java/lang/ThreadGroup.java,
2133         java/lang/Throwable.java, java/lang/UnknownError.java,
2134         java/lang/UnsatisfiedLinkError.java,
2135         java/lang/UnsupportedOperationException.java,
2136         java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
2137         java/lang/Void.java, java/lang/natCharacter.cc,
2138         java/lang/natClass.cc, java/lang/natDouble.cc,
2139         java/lang/natFirstThread.cc, java/lang/natFloat.cc,
2140         java/lang/natMath.cc, java/lang/natObject.cc,
2141         java/lang/natRuntime.cc, java/lang/natString.cc,
2142         java/lang/natSystem.cc, java/lang/natThread.cc,
2143         java/lang/reflect/Field.java, java/lang/reflect/Member.java,
2144         java/lang/reflect/Modifier.java, java/lang/reflect/natField.cc,
2145         java/text/DateFormat.java, java/text/DateFormatSymbols.java,
2146         java/text/FieldPosition.java, java/text/Format.java,
2147         java/text/NumberFormat.java, java/text/ParseException.java,
2148         java/text/ParsePosition.java, java/text/SimpleDateFormat.java,
2149         java/util/BitSet.java, java/util/Calendar.java,
2150         java/util/ConcurrentModificationException.java,
2151         java/util/Date.java, java/util/Dictionary.java,
2152         java/util/EmptyStackException.java, java/util/Enumeration.java,
2153         java/util/GregorianCalendar.java, java/util/Hashtable.java,
2154         java/util/Locale.java, java/util/MissingResourceException.java,
2155         java/util/NoSuchElementException.java, java/util/Observable.java,
2156         java/util/Observer.java, java/util/Properties.java,
2157         java/util/Random.java, java/util/SimpleTimeZone.java,
2158         java/util/Stack.java, java/util/StringTokenizer.java,
2159         java/util/TimeZone.java, java/util/TooManyListenersException.java,
2160         java/util/Vector.java, java/util/natGregorianCalendar.cc:  Updated
2161         copyright notices.
2162
2163         * exception.cc: Include eh-common.h instead of duplicating 
2164         code.
2165
2166 1998-11-23  Tom Tromey  <tromey@cygnus.com>
2167
2168         * configure.host: Don't add `-O2' to libjava_flags.  Only add
2169         `-Os' to libjava_flags once.
2170
2171 1998-11-17  Andrew Haley  <aph@viagra.cygnus.co.uk>
2172
2173         * Makefile.am: add LIBJAVA_JAVAFLAGS.
2174         * Makefile.in: likewise
2175         * acconfig.h: add ECOS conditional for configure.h
2176         * config.h.in: likewise
2177         * configure: add test for --with-ecos
2178         * configure.in: likewise
2179         * java/io/natFileDescriptorEcos.cc (java::io::FileDescriptor::write):
2180         rename call to avoid name clash.
2181         * java/lang/natSystem.cc: add eCos clock support.
2182         * java/util/natGregorianCalendar.cc: add eCos support.
2183         
2184 1998-11-20  Andrew Haley  <aph@viagra.cygnus.co.uk>
2185
2186         * Makefile.am, Makefile.in, configure.host: tx39 build option 
2187         "-G 0" added.
2188
2189 Wed Nov 18 18:55:25 1998  Warren Levy  <warrenl@cygnus.com>
2190
2191         * java/io/BufferedReader.java: Added more comments for clarity.
2192         (mark): Used more mnemonic name for local var extraBuffSpace.
2193
2194         * java/io/LineNumberReader.java (lineEnd): Removed method to avoid
2195         confusion with private method of same name in superclass.
2196         (skipRedundantLF): Set fields in special case to avoid infinite
2197         recursion.  Check if markPos has been invalidated in special case.
2198         (readLine): Rewritten to use readLine method of superclass.
2199         (skip): Incorporated code from lineEnd.
2200
2201 Wed Nov 18 02:46:03 1998  Warren Levy  <warrenl@cygnus.com>
2202
2203         * java/io/BufferedReader.java (readLine): New method.
2204         (lineEnd): new private method.
2205         (mark): Track special case for readLine of getting '\r' at the
2206         end of the buffer.
2207         (reset): Ditto.
2208         (read): Ditto.
2209         (fill): Ditto.
2210         (skip): Ditto.
2211
2212         * java/io/InputStreamReader.java (read): Return number chars skipped
2213         rather than requested.
2214
2215         * java/lang/StringBuffer.java (append): Update count and differentiate
2216         between field and local variable.
2217
2218         * java/util/Date.java (parseTz): Evaluate in minutes rather than
2219         seconds.  Deal with military style time.
2220         (parse): Consistently treat all timezones in minutes until final
2221         calculation.  Flag as non-local timezone.  Return value in milliseconds.
2222         (setTime): Adjust for year offset from 1900.
2223         (UTC): Adjust for year offset from 1900.
2224
2225 1998-11-17  Tom Tromey  <tromey@cygnus.com>
2226
2227         * configure: Rebuilt.
2228         * configure.in: Switch on host, not target.
2229
2230         * Makefile.in: Rebuilt.
2231         * Makefile.am (GCJ_no): New macro.
2232         (GCJ): Use @CANADIAN@.
2233         (GCJH_no): New macro
2234         (GCJH_canadian): New macro.
2235         (GCJH): Use @CANADIAN@.
2236         (ZIP_no): New macro.
2237         (ZIP_canadian): New macro.
2238         (ZIP): Use @CANADIAN@.
2239         * aclocal.m4, configure: Rebuilt.
2240         * configure.in (CANADIAN): Compute and subst.
2241
2242 Tue Nov 17 12:44:37 1998  Anthony Green  <green@cygnus.com>
2243
2244         * java/io/FileDescriptor.java (finalize): Only close file
2245         descriptor if valid.
2246
2247 1998-11-17  Tom Tromey  <tromey@cygnus.com>
2248
2249         * prims.cc (_Jv_InitRuntime): Removed.
2250
2251 1998-11-16  Tom Tromey  <tromey@cygnus.com>
2252
2253         * java/io/FileOutputStream.java (close): Only close file
2254         descriptor if valid.
2255         (finalize): New method.
2256
2257         * prims.cc (_Jv_NewObjectArray): Set vtbl last.
2258         (_Jv_NewPrimArray): Likewise.
2259         * boehm.cc (_Jv_RegisterFinalizer): Use
2260         GC_REGISTER_FINALIZER_NO_ORDER.
2261         (GC_GENERIC_MALLOC): New define.
2262         (_Jv_AllocObj): Use it.
2263         (_Jv_AllocArray): Likewise.
2264         (_Jv_AllocBytes): Likewise.
2265         (_Jv_MarkObj): Just return if vtbl not set.
2266         (_Jv_MarkArray): Likewise.
2267         (MAYBE_MARK): New macro; use everywhere.
2268         (_Jv_MarkObj): Mark fields belonging to superclasses as well.
2269
2270 Mon Nov 16 14:57:53 1998  Warren Levy  <warrenl@cygnus.com>
2271
2272         * java/util/natGregorianCalendar.cc (computeTime): Cast a time_t
2273         to a jlong before calculation to prevent overflow.
2274
2275 1998-11-16  Tom Tromey  <tromey@cygnus.com>
2276
2277         * Makefile.in: Rebuilt.
2278         * Makefile.am (nat_headers): Fixed typo.
2279
2280 1998-11-15  Tom Tromey  <tromey@cygnus.com>
2281
2282         * java/lang/Class.h (Class::getName): Removed definition.
2283         * Makefile.in: Rebuilt.
2284         * Makefile.am (nat_headers): Added InstantiationException.h,
2285         NoSuchMethodException.h.
2286         * java/lang/natClass.cc (clinit_name): Renamed from init_name.
2287         (init_name): New global.
2288         (hackRunInitializers): Use clinit_name.
2289         Include InstantiationException.h, NoSuchMethodException.h.
2290         (newInstance): Do some error checking (but not all).  Call
2291         constructor.
2292         (forName): Throw exception if class not found.
2293         (getName): New method.
2294         (forName): Transform class name from external format to internal
2295         format before lookup.
2296
2297 1998-11-15  Anthony Green  <green@cygnus.com>
2298
2299         * java/lang/Class.h (Class::forName): Method is static.
2300
2301         * java/lang/natClass.cc (newInstance): Add simple implementation.
2302         (forName): Ditto.
2303
2304 Sat Nov 14 18:25:13 1998  Per Bothner  <bothner@cygnus.com>
2305
2306         * java/lang/Class.h (Class::accflags):  Must be unsigned short (not
2307         int), for compatibility with jc1.
2308
2309 1998-11-14  Tom Tromey  <tromey@cygnus.com>
2310
2311         * include/config.h.in: Rebuilt.
2312         * acconfig.h (LINUX_THREADS): New define.
2313         * configure: Rebuilt.
2314         * configure.in: Define LINUX_THREADS if using POSIX threads on
2315         Linux.  Look for pthread_mutexattr_setkind_np function.
2316         * posix-threads.cc (throw_cleanup): New function.
2317         (really_start): Push cleanup function.
2318         (_Jv_ThreadCancel): New function.
2319         (daemon_mutex, daemon_cond, non_daemon_count): New globals.
2320         (_Jv_ThreadInitData): Set `exception' field in new structure.
2321         (_Jv_ThreadStart): Increment non_daemon_count if not a daemon
2322         thread.
2323         (_Jv_ThreadWait): New function.
2324         (_Jv_InitThreads): Initialize daemon globals.
2325         (FLAG_DAEMON): New macro.
2326         (really_start): Notify daemon_cond when non-daemon thread exits.
2327         Include <java/lang/System.h>.
2328         (struct starter): `object' field now a thread.
2329         (_Jv_MutexInit): Use pthread_mutexattr_setkind_np if it exists.
2330         * include/posix-threads.h (_Jv_CondInit): Use `0', not NULL.
2331         (_Jv_ThreadWait): Removed definition.
2332         (_Jv_Thread_t): Added `exception' field.
2333         (_Jv_ThreadCancel): Removed definition.
2334
2335 1998-11-13  Tom Tromey  <tromey@cygnus.com>
2336
2337         * Makefile.in: Rebuilt.
2338         * Makefile.am (libjava.zip): Compute javac before changing
2339         directory.
2340
2341         * Makefile.in: Rebuilt.
2342         * Makefile.am (libjava.zip): Include directory entries.
2343
2344         * Makefile.in: Rebuilt.
2345         * Makefile.am (expanded): New macro.
2346         (GCJ): Use it.
2347
2348 1998-11-12  Tom Tromey  <tromey@cygnus.com>
2349
2350         * prims.cc (clone): New function.
2351         * include/java-array.h (__JArray::clone): Removed definition.
2352
2353         * java/lang/natObject.cc (clone): Don't assert that class is not
2354         an array; array's `clone' method just calls this one.
2355
2356         * Makefile.in: Rebuilt.
2357         * Makefile.am (libjava.zip): Renamed target from classes.stamp.
2358         Now creates zip file.  Changed all users.
2359         (ZIP): New macro.
2360         (data_DATA): New macro.
2361
2362 1998-11-11  Tom Tromey  <tromey@cygnus.com>
2363
2364         * configure: Rebuilt.
2365         * configure.in: Recognize --enable-java-gc, not --enable-gc.
2366
2367 Wed Nov 11 18:13:46 1998  Warren Levy  <warrenl@cygnus.com>
2368
2369         * java/io/InputStream.java (reset): Add msg to thrown exception.
2370
2371 Wed Nov 11 17:57:02 1998  Warren Levy  <warrenl@cygnus.com>
2372
2373         * java/io/LineNumberInputStream.java: Rewritten.
2374
2375         * java/io/StringBufferInputStream.java: Removed extraneous import.
2376
2377 Wed Nov 11 15:19:33 1998  Warren Levy  <warrenl@cygnus.com>
2378
2379         * java/io/StringBufferInputStream.java: Rewritten.
2380
2381         * java/util/Date.java (parseMonth): Optimize.
2382         (parseDayOfWeek): Created.
2383         (parse): Optimize to use parseDayOfWeek.
2384
2385 1998-11-11  Tom Tromey  <tromey@cygnus.com>
2386
2387         * java/lang/StringBuffer.java (append): Handle case where STR is
2388         `null'.
2389
2390         * include/javaprims.h: Regenerated class declarations.
2391
2392         * configure: Rebuilt.
2393         * configure.in: Added --enable-gcj-classes,
2394         --enable-single-compilation, --enable-source-compilation flags.
2395         * Makefile.in: Rebuilt.
2396         * Makefile.am (java_io_files): New macro.
2397         (java_lang_files): Likewise.
2398         (java_text_files): Likewise.
2399         (java_util_files): Likewise.
2400         (java_files): Use new macros.
2401         (java-io.o): New target.
2402         (java-lang.o): Likewise.
2403         (java-text.o): Likewise.
2404         (java-util.o): Likewise.
2405         (src_io_files): New macro.
2406         (src_lang_files): Likewise.
2407         (src_text_files): Likewise.
2408         (src_util_files): Likewise.
2409         (class_io_files): New macro.
2410         (class_lang_files): Likewise.
2411         (class_text_files): Likewise.
2412         (class_util_files): Likewise.
2413         (class_files): Use new macros.
2414         (javao_files): Define conditionally.
2415         (.java.o): New target.
2416         ($(javao_files)): New target.
2417         (GCJ): new macro.
2418         (GCJH): Added $(EXEEXT).
2419         (CLASSPATH_ENV): Removed.
2420         (GCJCOMPILE): New macro.
2421
2422 Wed Nov 11 12:03:15 1998  Warren Levy  <warrenl@cygnus.com>
2423
2424         * java/util/Date.java (parse): Written from scratch.
2425
2426 1998-11-11  Tom Tromey  <tromey@cygnus.com>
2427
2428         * java/lang/Throwable.java (toString): Correct sense of test for
2429         determining when to include detail message in result.
2430
2431         * java/lang/ThreadDeath.java (ThreadDeath): Added missing
2432         constructor.
2433
2434 Fri Nov  6 16:30:20 1998  Tom Tromey  <tromey@ferrule.cygnus.com>
2435
2436         * java/lang/Class.h: Use _Jv_RegisterClasses, not
2437         _Jv_RegisterClass.
2438         * java/lang/natClass.cc (_Jv_RegisterClasses): New function.
2439         (_Jv_RegisterClass): Use it.
2440         * include/jvm.h (_Jv_RegisterClasses): Declare.
2441         * java/lang/natObject.cc (init): Removed.
2442         (sync_init): Never call _Jv_InitializeSyncMutex.
2443         (_Jv_InitializeSyncMutex): Don't set `init'.
2444         * prims.cc (JvRunMain): Don't run init functions.
2445
2446 Thu Nov  5 17:14:37 1998  Tom Tromey  <tromey@sanguine.cygnus.com>
2447
2448         * java/lang/natClass.cc (initializeClass): Set state before
2449         resolving constants.
2450
2451         * java/lang/natClass.cc (STATE_CONST_INIT): Removed.
2452         (STATE_RESOLVED): New macro.
2453         (initializeClass): Call resolveConstants.
2454         (hackRunInitializers): Don't call resolveConstants.
2455         (_Jv_FindArrayClass): Move short-circuit return for primitive
2456         element types earlier in function.
2457
2458 1998-11-03  Tom Tromey  <tromey@hoser.cygnus.com>
2459
2460         * prims.cc (no_memory): New global.
2461         (_Jv_makeUtf8Const): Throw no_memory.
2462         (_Jv_AllocObject): Likewise.
2463         (_Jv_NewObjectArray): Likewise.
2464         (_Jv_NewPrimArray): Likewise.
2465         (JvRunMain): Initialize no_memory.
2466
2467 Tue Nov  3 17:15:45 1998  Warren Levy  <warrenl@cygnus.com>
2468
2469         * java/io/FileInputStream.java: Corrected date comment.
2470         * java/io/SequenceInputStream.java: Rewritten.
2471
2472 Mon Nov  2 17:20:31 1998  Tom Tromey  (tromey@cygnus.com)
2473
2474         * java/lang/FirstThread.java (die): New method.
2475         * java/lang/natFirstThread.cc (die): Removed.
2476         (DIE): New macro.
2477         (run): Use `DIE', not `die'.
2478
2479 Mon Nov  2 16:23:41 1998  Warren Levy  <warrenl@cygnus.com>
2480
2481         * java/io/CharArrayReader.java (read): Move check into synchronized
2482         block to prevent a close while in progress.
2483         (reset): Ditto.
2484         (skip): Ditto.
2485         * java/io/PushbackReader.java (read): Ditto.
2486         (ready): Ditto.
2487         (unread): Ditto.
2488         * java/io/StringReader.java (mark): Ditto.
2489         (read): Ditto.
2490         (reset): Ditto.
2491         (skip): Ditto.
2492
2493 Mon Nov  2 15:56:20 1998  Warren Levy  <warrenl@cygnus.com>
2494
2495         * java/io/PipedInputStream.java: Updated status.
2496         (connect): Added code to prevent infinite recursion and to
2497         differentiate exception causes.
2498         (read): Added code to differentiate exception causes.
2499         (receive): Made exception pass string with the cause.
2500
2501         * java/io/PipedOutputStream.java: Updated status.
2502         (connect): Added code to call connect at the other end of the pipe.
2503
2504 Mon Nov  2 00:22:12 1998  Warren Levy  <warrenl@cygnus.com>
2505         
2506         * java/io/PipedInputStream.java (connect): Throw exception if
2507         already connected to the same output stream.
2508         (read): Do bounds checking first.
2509
2510 Sun Nov  1 22:48:55 1998  Warren Levy  <warrenl@cygnus.com>
2511
2512         * java/io/PipedInputStream.java: Added private boolean outClosed.
2513         (available): Removed check if output stream is open.
2514         (close): Mark the buffer as empty so available returns 0.
2515         (read): Check if the output stream was closed and then return EOF
2516         when the buffer is empty.
2517         (receive): Mark the output stream as closed when passed a -1.
2518
2519         * java/io/PipedOutputStream.java (close): Notify the input stream
2520         that there's no more data coming.
2521         (connect): Added a FIXME comment to note more coordination needed
2522         with PipedInputStream.
2523         (flush): Added a FIXME comment to mark what this method might do
2524         instead of nothing.
2525
2526 Fri Oct 30 14:27:21 1998  Warren Levy  <warrenl@cygnus.com>
2527
2528         * java/io/PipedInputStream.java: Rewritten.
2529
2530 1998-10-30  Tom Tromey  <tromey@cygnus.com>
2531
2532         * java/lang/Throwable.java: Rewrote from scratch.
2533
2534         * java/lang/Class.h (Class): Don't mention newMultiArray.
2535         * prims.cc (newMultiArray): Removed.
2536         (_Jv_NewMultiArray): Removed.
2537         (newArray): Removed.
2538         (new_multi_array): New function.
2539         (_Jv_NewMultiArray): Rewrote from scratch.
2540
2541         * include/javaprims.h: Regenerated class declarations.
2542         * classes.pl (scan): Don't declare PrimClass.
2543         * include/cni.h (JvPrimClass): Use new names for classes.
2544         * java/lang/Class.h (Class): Removed _Jv_initPrimClass as friend;
2545         added _Jv_PrimClass.
2546         * prims.cc (_Jv_PrimClass): Renamed from PrimClass.
2547         (_Jv_initPrimClass): Removed.
2548         (DECLARE_PRIM_TYPE): Generated globals now start with `_Jv_'.
2549         (_Jv_AllocObject): Added comment.
2550         (_Jv_NewObjectArray): Likewise.
2551         (_Jv_NewPrimArray): Likewise.
2552
2553 1998-10-29  Tom Tromey  <tromey@cygnus.com>
2554
2555         * java/lang/natClass.cc (_Jv_NewClass): Initialize new field.
2556         (_Jv_FindArrayClass): Use dtable_method_count to compute size of
2557         new dtable.
2558         * java/lang/Class.h (Class): Added `dtable_method_count' field.
2559
2560         * java/lang/natObject.cc (init): New global.
2561         (sync_init): Call _Jv_InitializeSyncMutex if required.
2562
2563         * Makefile.in: Rebuilt.
2564         * Makefile.am (nat_headers): Added ClassLoader.h.
2565         * include/jvm.h (_Jv_FindClassFromSignature): Declare.
2566         * java/lang/Class.h (Class): simpleLookupClass, insertClass,
2567         internalAddClass, lookupArray no longer friends.
2568         _Jv_RegisterClass, _Jv_FindClassInCache, _Jv_NewClass,
2569         _Jv_FindArrayClass now friends.
2570         * java/lang/natClass.cc (HASH_LEN): New macro.
2571         (HASH_UTF): Likewise.
2572         (loaded_classes): New global.
2573         (_Jv_FindClass): New function.
2574         (ClassClass): New define.
2575         (_Jv_FindClassInCache): New function.
2576         (_Jv_RegisterClass): Likewise.
2577         (_Jv_NewClass): Likewise.
2578         Include <string.h>
2579         (ObjectClass): New define.
2580         (CloneableClass): New define.
2581         * prims.cc (_Jv_FindClass): Removed.
2582         (simpleLookupClass): Removed.
2583         (insertClass): Removed.
2584         (CLASSHASHSZ): Removed.
2585         (classPool): Removed.
2586         (_Jv_RegisterClass): Removed.
2587         (internalAddClass): Removed.
2588         (ClassClass): Removed.
2589         (RuntimeClass): Removed.
2590         (lookupArray): Removed.
2591         (CloneableClass): Removed.
2592         (CLASSMAXSIG): Removed.
2593         Rearranged file to group related functions together.
2594         (_Jv_IsInstanceOf): Moved to natClass.cc.
2595         (abort_final): Removed.
2596         Removed some unused includes.
2597         (classFromSig): Removed.
2598         (_Jv_FindClassFromSignature): New function.
2599         (_Jv_initPrimClass): Renamed.
2600         (getClass): Removed.
2601
2602 Thu Oct 29 23:17:17 1998  Warren Levy  <warrenl@cygnus.com>
2603
2604         * java/io/FileDescriptor.java (finalize): Throws IOException
2605         instead of Throwable.
2606
2607         * java/io/FileInputStream.java: Rewritten.
2608
2609         * java/io/StreamTokenizer.java (nextToken): Unread newline character
2610         at the end of a comment.
2611
2612 1998-10-29  Tom Tromey  <tromey@cygnus.com>
2613
2614         * include/javaprims.h: Regenerated class declarations.
2615         * classes.pl (scan): Don't special-case ClassLoader.
2616
2617         * prims.cc (processClass): Removed.
2618         (_Jv_InitClass): Removed.
2619         Removed all CSTATE_ macros.
2620         (resolveConstants): Removed.
2621         (MAXDIMS): Removed.
2622         (_Jv_NewMultiArray): Cleaned up.
2623         * Makefile.in: Rebuilt.
2624         * Makefile.am (nat_headers): Added NoClassDefFoundError.h.
2625         * java/lang/Class.h (Class): Declare new methods.  processClass no
2626         longer a friend.
2627         * java/lang/Class.java (hackTrampoline): New method.
2628         (initializeClass): Declare.
2629         (hackRunInitializers): Declare.
2630         * java/lang/natClass.cc (getClassLoader): Moved into Class.h.
2631         (initializeClass): New method.
2632         (hackRunInitializers): New method.
2633         (init_name, void_signature): Moved from prims.cc.
2634         (_Jv_InitClass): New function.
2635         (isAssignableFrom): Don't call processClass.
2636         (STATE_NOTHING): New macro.
2637         (resolveConstants): New function.
2638         Include Thread.h.
2639         (ErrorClass): New define.
2640
2641         * java/lang/Class.java (getClassLoader): Declare.
2642         * java/lang/ClassLoader.java: Rewrote from scratch.
2643
2644         * java/lang/natClass.cc: Include IncompatibleClassChangeError.h,
2645         AbstractMethodError.h, IllegalAccessError.h,
2646         NoClassDefFoundError.h.
2647         * include/jvm.h (StringClass): Declare _Jv_equalUtf8Consts.
2648         * prims.cc (_Jv_equalUtf8Consts): Renamed from equalUtf8Consts; no
2649         longer static.  Changed return type.
2650         * java/lang/natFirstThread.cc (run): Use _Jv_GetMethodLocal.
2651         * java/lang/Class.h (Class): findMethodLocal no longer a friend.
2652         * prims.cc (findMethodLocal): Removed.
2653         (processClass): Use _Jv_GetMethodLocal.
2654
2655 1998-10-28  Tom Tromey  <tromey@cygnus.com>
2656
2657         * prims.cc (_Jv_LookupInterfaceMethod): Removed.
2658         * java/lang/Class.h (Class): Declare _Jv_GetMethodLocal as
2659         friend.
2660         * java/lang/natClass.cc (_Jv_GetMethodLocal): New function.
2661         (_Jv_LookupInterfaceMethod): New function (rewrote from scratch).
2662
2663         * include/jni.h: Added copyright header.
2664         * include/javaprims.h: Added copyright header.
2665         * include/java-field.h: Added copyright header.
2666         * include/java-array.h: Added copyright header.
2667         * include/cni.h: Added copyright header.
2668
2669         * include/javaprims.h: Regenerated class declarations using
2670         classes.pl; now they are complete.
2671         * classes.pl: New file.
2672
2673         * java/lang/natMath.cc: Include <config.h>.
2674         * java/lang/reflect/natField.cc: Include <config.h>.
2675         * java/util/NativeUtil.java: Removed.
2676         * Makefile.in: Rebuilt.
2677         * Makefile.am (nat_headers): Added Math.h.
2678         * java/lang/Math.h: Removed.
2679         * java/util/natGregorianCalendar.cc: Added copyright header.
2680         Include <config.h>.
2681         * java/lang/natFloat.cc: Added copyright header.
2682         * java/lang/Byte.java: Added copyright header.
2683         * java/lang/Void.java: Added copyright header.
2684         * java/lang/Short.java: Added copyright header.
2685
2686 Wed Oct 28 12:55:47 1998  Warren Levy  <warrenl@cygnus.com>
2687
2688         * include/javaprims.h (java::io): Added bunch of missing classes.
2689         
2690         * java/io/DataInputStream.java (readLine): Added a special case
2691         for handling BufferedInputStream data to reduce the likelihood
2692         of a pushback error.
2693         (skipBytes): Added code to handle negative number of skip bytes.
2694         
2695         * java/io/StreamTokenizer.java: Rewritten.
2696
2697 1998-10-28  Tom Tromey  <tromey@cygnus.com>
2698
2699         * java/util/natGregorianCalendar.cc (computeFields): Call
2700         getRawOffset as a method.
2701
2702         * include/javaprims.h (java::io): Added FilterOutputStream.
2703         * Makefile.in: Rebuilt.
2704         * Makefile.am (nat_headers): Added PrintStream.h,
2705         FilterOutputStream.h.
2706         * java/lang/natFirstThread.cc: Include System.h, Modifier.h,
2707         PrintStream.h.
2708         (die): New function.
2709         (run): Die if `main' not found, is not public, or is not static.
2710
2711         * boehm.cc (_Jv_MarkObj): Use new field names.
2712         * include/java-field.h (JvGetFirstInstanceField): Use new field
2713         names.
2714         (JvNumInstanceFields): Likewise.
2715         * java/lang/natClass.cc (isAssignableFrom): Use new field names.
2716         (getInterfaces): Likewise.
2717         * prims.cc (CLASS_CONSTANTS): Removed.
2718         (CLASS_CONST_SIZE): Likewise.
2719         (CLASS_CONST_TAG): Likewise.
2720         (CLASS_CONST_DATA): Likewise.
2721         (CLASS_CONST_UTF8): Likewise.
2722         (WORD2UTF): Likewise.
2723         (CLASS_CLASS): Likewise.
2724         (CLASS_PRIM_SIG): Likewise.
2725         (CLASS_ARRAY_CACHE): Likewise.
2726         (HASH_CHARS): Likewise.
2727         (hashClassName): Likewise.
2728         Many changes to use new field names.
2729         * java/lang/Class.h (Class): Renamed fields to track compiler.
2730
2731 1998-10-27  Tom Tromey  <tromey@cygnus.com>
2732
2733         * java/lang/natClass.cc: Use #pragma implementation.
2734         (getComponentType): Moved into header.
2735         (getModifiers): Likewise.
2736         (getName): Likewise.
2737         (getSuperclass): Likewise.
2738         (isArray): Likewise.
2739         (isPrimitive): Likewise.
2740         * include/jvm.h (_Jv_FindClass): Declare.
2741         * java/lang/natFirstThread.cc (run): Updated for new Class.h.
2742         * java/lang/natSystem.cc (arraycopy): Updated for new Class.h.
2743         * include/javaprims.h: Use _Jv_Method, not JvMethod.
2744         * java/lang/Class.h: Rewrote from scratch.
2745         * prims.cc: Many changes to work with new Class.h.
2746         * include/java-field.h (CLASS_FIELDS): Removed.
2747         (CLASS_SFIELDS): Likewise.
2748         (CLASS_IFIELDS): Likewise.
2749         (CLASS_NFIELDS): Likewise.
2750         (CLASS_NIFIELDS): Likewise.
2751         (CLASS_NSFIELDS): Likewise.
2752         (CLASS_FSIZE): Likewise.
2753         (JvGetFirstInstanceField): Rewrote.
2754         (JvNumInstanceFields): Likewise.
2755
2756         * java/lang/Object.h: Added copyright comment.
2757
2758 Wed Oct 28 00:32:23 1998  Per Bothner  <bothner@cygnus.com>
2759
2760         * java/text:  New package directory.
2761         * java/text/FieldPosition.java:  New class.
2762         * java/text/ParsePosition.java:  New class. 
2763         * java/text/ParseException.java:  New Exception class.
2764         * java/text/Format.java:  New class.
2765         * java/text/NumberFormat.java:  New (empty placeholder) class.
2766         * java/text/DateFormatSymbols.java:  New class (no Locales support).
2767         * java/text/DateFormat.java:  New Format class (incomplete).
2768         * java/text/SimpleDateFormat.java:  New DateFormat class.
2769         
2770         * include/javaprims.h (java::test):  Added new package and classes.
2771         * java/util/Calendar.java (clone):  New method.
2772         * java/util/Date.java (toString):  Added non-native implementation.
2773         (parse):  Made public instead of synchronized.
2774         * java/util/natDate.cc (toString):  Removed.
2775         * java/util/natGregorianCalendar.cc (computeFields):
2776         Use gmtime (or gmtime_r) if no zone offset (the default, for now!).
2777
2778 1998-10-27  Tom Tromey  <tromey@cygnus.com>
2779
2780         * boehm.cc (_Jv_MarkObj): Correctly mark a class' interfaces.
2781
2782         * prims.cc (lookupArray): Added explanatory comment.
2783         * boehm.cc (_Jv_MarkObj): Correctly scan methods and fields of
2784         class.  Mark the class of each object.
2785         (_Jv_MarkArray): Mark the object's class.
2786
2787         * configure: Rebuilt.
2788         * configure.in: Create java-gc.h.
2789         * include/boehm-gc.h: New file.
2790         * include/no-gc.h: New file.
2791         * java/lang/Class.h (Class): Declare JV_MARKOBJ_DECL as friend, if
2792         defined.
2793         * java/lang/Object.h: Include java-gc.h.
2794         (Object): Declare JV_MARKOBJ_DECL and JV_MARKARRAY_DECL as
2795         friends, if defined.
2796         * boehm.cc (_Jv_MarkObj): Renamed from mark_obj; changed
2797         signature.
2798         (_Jv_MarkArray): Renamed from mark_array; changed signature.
2799
2800 1998-10-26  Tom Tromey  <tromey@cygnus.com>
2801
2802         * java/lang/natCharacter.cc (isSpaceChar): Look for line and
2803         paragraph separators, not numbers.
2804
2805         * java/io/Writer.java (write): Removed write(char) to avoid
2806         ambiguity.
2807         * java/util/Properties.java: Rewrote from scratch.
2808         * include/javaprims.h (java::io): Added PrintWriter,
2809         BufferedWriter, PushbackReader.
2810
2811 Mon Oct 26 13:13:28 1998  Anthony Green  <green@cygnus.com>
2812
2813         * java/lang/System.java: exit() is a static method.
2814
2815 1998-10-26  Tom Tromey  <tromey@cygnus.com>
2816
2817         * java/lang/natString.cc (_Jv_NewStringUTF): Use
2818         _Jv_strLengthUtf8.
2819         (_Jv_NewStringUtf8Const): Likewise.
2820         * include/jvm.h (_Jv_strLengthUtf8): Declare.
2821         * prims.cc (_Jv_strLengthUtf8): Renamed from strLengthUtf8.
2822
2823         * java/lang/Object.h (Object): Add mark_array as friend function.
2824         * prims.cc (_Jv_NewPrimArray): Use _Jv_AllocObj, not
2825         _Jv_AllocBytes, to ensure that header is marked.
2826         * boehm.cc (mark_obj): Push sync_info field for all objects, not
2827         just Objects.
2828         (mark_array): Push sync_info field for array.
2829
2830 1998-10-24  Tom Tromey  <tromey@cygnus.com>
2831
2832         * java/lang/String.java (String): Updated for StringBuffer
2833         change.
2834         * java/util/BitSet.java: Renamed field (data->bits) to conform to
2835         serialization spec.
2836         * java/lang/StringBuffer.java: Renamed fields to conform to
2837         serialization spec: buffer->value, next->count, copy->shared.
2838
2839 Wed Oct 21 18:24:57 1998  Per Bothner  <bothner@cygnus.com>
2840
2841         * java/util/TimeZone.java:  New class.
2842         * java/util/SimpleTimeZone.java:  New class.
2843         * java/util/Locale.java:  New file.
2844         * java/util/Calendar.java:  Make almost complete.
2845         * java/util/GregorianCalendar.java
2846         * java/util/natGregorianCalendar.cc:  New file.
2847         * java/util/Date.java:  Re-written from scratch.
2848         * java/util/natDate.cc (setTime):  Removed - no longer native.
2849         * include/javaprims.h (java::util):  Add new classes.
2850         * Makefile.am (nat_files):  Add java/util/natGregorianCalendar.o.
2851         (nat_headers);  Add TimeZone.h, Calendar.h, GregorianCalendar.h.
2852
2853 Sat Oct 24 22:58:25 1998  Warren Levy  <warrenl@cygnus.com>
2854
2855         * java/io/natFileDescriptorPosix.cc (read): Zero extend jbyte b before
2856         returning it as a jint.
2857
2858 1998-10-23  Tom Tromey  <tromey@cygnus.com>
2859
2860         * prims.cc (arg_vec, main_group, main_thread): New globals.
2861         (JvRunMain): Use them.
2862
2863 Fri Oct 23 17:10:12 1998  Warren Levy  <warrenl@cygnus.com>
2864
2865         * java/io/DataInputStream.java: Rewritten.
2866
2867         * java/io/DataOutputStream.java (writeUTF): OR secondary and
2868         tertiary bytes with 0x80 per spec.
2869
2870 1998-10-23  Tom Tromey  <tromey@cygnus.com>
2871
2872         * java/lang/String.java (init): Changed name of `copy' argument.
2873         * java/lang/natString.cc (init): Inverted sense of `copy'
2874         argument.
2875
2876         * java/lang/Object.h (Object): Declare mark_obj as a friend.
2877         * java/lang/Class.h (Class): Declare mark_obj as a friend.
2878         * boehm.cc (ObjectClass): New define.
2879         (ClassClass): Likewise.
2880         (mark_obj): Special-case Object and Class.
2881
2882         * prims.cc (_Jv_NewPrimArray): Pass correct args to memset.
2883
2884         * java/util/BitSet.java: Rewrote from scratch.
2885
2886         * prims.cc (lookupArray): Removed useless cast.
2887
2888         * java/lang/natObject.cc: Use `#pragma implementation'.
2889
2890         * java/lang/String.java (init): Added `copy' argument.
2891         (String): Look in StringBuffer to find char array.
2892         * java/lang/natString.cc (init): Added `copy' argument.
2893         * java/lang/StringBuffer.java: Rewrote from scratch.
2894
2895         * java/lang/Compiler.java: Rewrote from scratch.
2896         * java/lang/Throwable.java: Don't use NativeLang.
2897         * include/javaprims.h (java::lang): Don't mention NativeLang.
2898         * java/lang/Process.java: Rewrote from scratch.
2899         * java/lang/SecurityManager.java (classLoaderDepth): Commented
2900         out.
2901         (currentClassLoader): Likewise.
2902         (currentLoadedClass): Likewise.
2903         * java/lang/natClass.cc (getClassLoader): Commented out.
2904         * java/lang/Class.java (getClassLoader): Commented out.
2905         * java/lang/Compiler.java: Removed.
2906         * java/lang/NativeLang.java: Removed.
2907
2908         * java/lang/natFirstThread.cc (run): Use _Jv_makeUtf8Const.
2909         * include/jvm.h (StringClass): Declare _Jv_makeUtf8Const.
2910         * prims.cc (_Jv_makeUtf8Const): Renamed from makeUtf8Const.
2911         (_Jv_hashUtf8String): Now static.
2912         * include/java-field.h (getNameUtf8Const): Use `_Jv_Utf8Const' as
2913         name of return type.
2914
2915         * java/lang/Class.h (Class): Declare checkMemberAccess.
2916         * Makefile.in: Rebuilt.
2917         * Makefile.am (nat_headers): Added Member.h.
2918         * java/lang/natClass.cc: Include Member.h.
2919         (getDeclaredClasses): Call checkMemberAccess.
2920         * java/lang/Class.java (checkMemberAccess): Call
2921         SecurityManager.checkMemberAccess.
2922
2923 Fri Oct 23 08:01:54 1998  Anthony Green  <green@cygnus.com>
2924
2925         * java/lang/SecurityManager.java: Rewritten.
2926
2927 Thu Oct 22 17:16:10 1998  Anthony Green  <green@cygnus.com>
2928
2929         * java/applet/Applet.java, java/applet/AppletContext.java,
2930         java/applet/AppletStub.java, java/applet/AudioClip.java,
2931         java/awt/AWTError.java, java/awt/AWTException.java,
2932         java/awt/BorderLayout.java, java/awt/Button.java,
2933         java/awt/Canvas.java, java/awt/CardLayout.java,
2934         java/awt/Checkbox.java, java/awt/CheckboxGroup.java,
2935         java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
2936         java/awt/Color.java, java/awt/Component.java,
2937         java/awt/Container.java, java/awt/Dialog.java,
2938         java/awt/Dimension.java, java/awt/Event.java,
2939         java/awt/FileDialog.java, java/awt/FlowLayout.java,
2940         java/awt/Font.java, java/awt/FontMetrics.java,
2941         java/awt/Frame.java, java/awt/Graphics.java,
2942         java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
2943         java/awt/GridLayout.java, java/awt/Image.java,
2944         java/awt/Insets.java, java/awt/Label.java,
2945         java/awt/LayoutManager.java, java/awt/List.java,
2946         java/awt/MediaTracker.java, java/awt/Menu.java,
2947         java/awt/MenuBar.java, java/awt/MenuComponent.java,
2948         java/awt/MenuContainer.java, java/awt/MenuItem.java,
2949         java/awt/Panel.java, java/awt/Point.java, java/awt/Polygon.java,
2950         java/awt/Rectangle.java, java/awt/Scrollbar.java,
2951         java/awt/TextArea.java, java/awt/TextComponent.java,
2952         java/awt/TextField.java, java/awt/Toolkit.java,
2953         java/awt/Window.java, java/awt/image/ColorModel.java,
2954         java/awt/image/CropImageFilter.java,
2955         java/awt/image/DirectColorModel.java,
2956         java/awt/image/FilteredImageSource.java,
2957         java/awt/image/ImageConsumer.java,
2958         java/awt/image/ImageFilter.java,
2959         java/awt/image/ImageObserver.java,
2960         java/awt/image/ImageProducer.java,
2961         java/awt/image/IndexColorModel.java,
2962         java/awt/image/MemoryImageSource.java,
2963         java/awt/image/PixelGrabber.java,
2964         java/awt/image/RGBImageFilter.java, java/awt/peer/ButtonPeer.java,
2965         java/awt/peer/CanvasPeer.java,
2966         java/awt/peer/CheckboxMenuItemPeer.java,
2967         java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
2968         java/awt/peer/ComponentPeer.java,
2969         java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
2970         java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
2971         java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
2972         java/awt/peer/MenuBarPeer.java,
2973         java/awt/peer/MenuComponentPeer.java,
2974         java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
2975         java/awt/peer/PanelPeer.java, java/awt/peer/ScrollbarPeer.java,
2976         java/awt/peer/TextAreaPeer.java,
2977         java/awt/peer/TextComponentPeer.java,
2978         java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java,
2979         java/net/ContentHandler.java, java/net/ContentHandlerFactory.java,
2980         java/net/DatagramPacket.java, java/net/DatagramSocket.java,
2981         java/net/DefaultSocketImpl.java, java/net/InetAddress.java,
2982         java/net/MalformedURLException.java, java/net/NativeNet.java,
2983         java/net/ProtocolException.java, java/net/ServerSocket.java,
2984         java/net/Socket.java, java/net/SocketException.java,
2985         java/net/SocketImpl.java, java/net/SocketImplFactory.java,
2986         java/net/URL.java, java/net/URLConnection.java,
2987         java/net/URLEncoder.java, java/net/URLStreamHandler.java,
2988         java/net/URLStreamHandlerFactory.java,
2989         java/net/UnknownHostException.java,
2990         java/net/UnknownServiceException.java: Removed.
2991
2992 1998-10-22  Tom Tromey  <tromey@cygnus.com>
2993
2994         * prims.cc (_Jv_AllocObject): Register finalizer if class'
2995         finalizer is not Object.finalize.
2996         (internalAddClass): Don't set `final' member of class.
2997         * java/lang/Object.h: Updated _JvObjectPrefix comment to mention
2998         other places that know about finalize() location.
2999         * java/lang/Class.h (Class): Removed `final' field.
3000
3001         * aclocal.m4, configure: Rebuilt.
3002         * acinclude.m4 (LIB_AC_PROG_CXX): Unconditionally use
3003         AC_CHECK_PROGS; otherwise the CXX cache variable might not be
3004         set.
3005         * configure.in (AC_OUTPUT): Pass CXX to config.status.
3006         * Makefile.in: Rebuilt.
3007         * Makefile.am (AM_MAKEFLAGS): Added CXX, CXXFLAGS.
3008
3009 1998-10-21  Tom Tromey  <tromey@cygnus.com>
3010
3011         * java/lang/Object.java (finalize): Move to be first method in
3012         class.
3013
3014         * configure: Rebuilt.
3015         * configure.in (GCINCS): Include contents of boehm-cflags file.
3016
3017 Tue Oct 20 13:11:04 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
3018
3019         * java/lang/ArrayIndexOutOfBoundsException.java
3020         (ArrayIndexOutOfBoundsException): Fixed string literal.
3021         * java/lang/StringIndexOutOfBoundsException.java
3022         (StringIndexOutOfBoundsException): Fixed string literal.
3023
3024 1998-10-20  Andrew Haley  <aph@viagra.cygnus.co.uk>
3025
3026         * natFileDescriptorEcos.cc added.
3027         * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.  
3028
3029 1998-10-20  Andrew Haley  <aph@viagra.cygnus.co.uk>
3030
3031         * acconfig.h: test for __int32_t and __uint32_t added.
3032         * include/config.h.in: test for __int32_t and __uint32_t added.
3033         * java/lang/fdlibm.h: test for __int32_t and __uint32_t added.
3034         * java/lang/mprec.h: test for __int32_t and __uint32_t added.
3035         * configure.in: test for __int32_t and __uint32_t added.
3036         * configure: test for __int32_t and __uint32_t added.
3037         
3038         * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.  
3039
3040         * configure.in: Test for --enable ecos and link
3041         natFileDescriptor.cc to natFileDescriptorEcos.cc or
3042         natFileDescriptorPosix.cc
3043         
3044         * java/lang/dtoa.c: #include <stdio.h> moved inside #ifdef DEBUG.
3045         
3046 Mon Oct 19 18:13:58 1998  Warren Levy  <warrenl@cygnus.com>
3047
3048         * java/io/ByteArrayInputStream.java (skip): Ensure that arg passed
3049         in isn't negative.
3050
3051         * java/io/CharArrayReader.java (close): Synchronize on lock
3052         object per Reader contract.
3053         (read): Synchronize on lock obj.  Verify that reader wasn't closed.
3054         (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
3055         (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
3056         Ensure that arg passed in isn't negative.
3057
3058         * java/io/FilterReader.java (FilterReader): Use the lock obj when
3059         constructing the superclass.
3060
3061         * java/io/PushbackReader.java (close): Synchronize on lock
3062         object per Reader contract.
3063         (read): Synchronize on lock obj.  Verify that reader wasn't closed.
3064         (ready): Synchronize on lock obj.  Throw IOException if reader
3065         wasn't closed.
3066         (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
3067         (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
3068         Ensure that arg passed in isn't negative.
3069         (unread): Synchronize on lock obj.  Verify that reader wasn't closed.
3070
3071         * java/io/StringReader.java: Created.
3072         
3073 Sun Oct 18 02:19:11 1998  Warren Levy  <warrenl@cygnus.com>
3074
3075         * java/io/CharArrayReader.java (mark): Removed synchronized modifier
3076         to match JCL.
3077         (read): Removed synchronized modifier to match JCL.
3078         (reset): Removed synchronized modifier to match JCL.
3079         (skip): Removed synchronized modifier to match JCL.
3080
3081 Sun Oct 18 02:01:54 1998  Warren Levy  <warrenl@cygnus.com>
3082
3083         * java/io/PushbackReader.java (PushbackReader): Made
3084         constructors public.
3085
3086 1998-10-17  Tom Tromey  <tromey@cygnus.com>
3087
3088         * java/io/PushbackInputStream.java (PushbackInputStream): Made
3089         constructors public.
3090
3091 1998-10-16  Anthony Green  <green@cygnus.com>
3092
3093         * aclocal.m4, configure: Rebuilt.
3094         * acinclude.m4 (LIBJAVA_CONFIGURE): Changed for new
3095         configure.host.
3096         * configure.host: Rewrote.
3097         * Makefile.in: Rebuilt.
3098         * Makefile.am (AM_CXXFLAGS): Added LIBJAVA_CXXFLAGS.
3099         (AM_CFLAGS): New macro.
3100         ($(c_files)): Use COMPILE macro.
3101         (EXTRA_libjava_a_SOURCES): Added dummy file to work around
3102         automake problem(s).
3103
3104 Fri Oct 16 16:36:28 1998  Warren Levy  <warrenl@cygnus.com>
3105
3106         * java/io/ByteArrayInputStream.java (mark): Removed temp. comment.
3107
3108         * java/io/CharArrayReader.java: Created.
3109
3110 Fri Oct 16 15:17:01 1998  Warren Levy  <warrenl@cygnus.com>
3111
3112         * java/io/PushbackInputStream.java (PushbackInputStream): Changed
3113         size check to allow 0 per JCL.
3114
3115         * java/io/PushbackReader.java: Created.
3116
3117 1998-10-16  Tom Tromey  <tromey@cygnus.com>
3118
3119         * java/io/natFileDescriptor.cc: Conditionalize <unistd.h>,
3120         <sys/time.h> includes. 
3121         * java/io/natFile.cc: Conditionalize <unistd.h> include.
3122         * include/no-threads.h: Conditionalize <unistd.h> include on
3123         HAVE_UNISTD_H.
3124
3125 Fri Oct 16 14:39:51 1998  Andrew Haley  <aph@madras.cygnus.co.uk>
3126
3127         * include/no-threads.h: Don't include <unistd.h> unless HAVE_SLEEP
3128         is defined.
3129
3130 Thu Oct 15 19:27:54 1998  Warren Levy  <warrenl@cygnus.com>
3131
3132         * java/io/FilterReader.java: Created.
3133
3134 Thu Oct 15 17:49:43 1998  Warren Levy  <warrenl@cygnus.com>
3135
3136         * java/io/PushbackInputStream.java: Rewritten.
3137
3138         * java/io/BufferedInputStream.java (BufferedInputStream): Check
3139         that size passed to constructor is legal.
3140         (read): Check that args passed in are legal.
3141         (skip): Rewritten to get rid of the temporary buffer.
3142         (refill): Added marklimit check to grow the buffer.
3143
3144         * java/io/ByteArrayInputStream.java (read): Optimized invalid args
3145         check.
3146         (bytesAvail): Removed.
3147         (read): Changed bytesAvail to Math.min.
3148         (skip): Changed bytesAvail to Math.min.
3149
3150         * java/io/InputStream.java (read): Got rid of extraneous exceptions
3151         from the throws clause.
3152         (skip): Rewritten to use a temporary buffer.
3153
3154 Thu Oct 15 19:42:55 1998  Andrew Haley  <aph@madras.cygnus.co.uk>
3155
3156         * prims.cc: (JvConvertArgv): Check added for argc < 0; possible on
3157         some target OSes
3158
3159         * java/lang/dtoa.c: (print): Made #ifdef DEBUG only.
3160
3161         * java/lang/strtod.c: (_strtod_r): Don't use HUGE_VAL: it's faster
3162         to write the double one word at a time.
3163
3164 Tue Oct 13 14:41:47 1998  Warren Levy  <warrenl@cygnus.com>
3165
3166         * java/io/BufferedInputStream.java:  Rewritten.
3167
3168 1998-10-12  Tom Tromey  <tromey@cygnus.com>
3169
3170         * jni.cc: Include config.h and stddef.h.
3171
3172         * java/lang/Class.h (_dispatchTable): Removed again.
3173         Removed all ACC_* defines again.
3174
3175 Fri Oct  9 17:08:34 1998  Per Bothner  <bothner@cygnus.com>
3176
3177         * Makefile.am (nat_files):  Add netField.o.
3178         (libjava_a_SOURCES):  Add jni.cc.
3179         (java/lang/reflect/Field.h):  New rule.
3180         * Makefile.in:  Re-generated.
3181         * include/javaprims.h:  Add some extra class and typedefs.
3182         * include/jni.h:  New file.
3183         * jni.cc:  New file.
3184
3185         * include/java-field.h:  New file.
3186         * include/jvm.h:  #include <java-field.h>.
3187         * boehm.cc:  #include <java-field.h>.
3188         * java/lang/Class.h (JvField, inline numbers):  Moved to java-field.h.
3189         * java/lang/reflect/Member.java:  New class.
3190         * java/lang/reflect/Field.java:  New class.  (Very incomplete.)
3191         * java/lang/reflect/natField.cc:  New file.  (Very incomplete.)
3192
3193 Sun Oct 11 00:34:44 1998  Anthony Green  <green@cygnus.com>
3194
3195         * Makefile.in, aclocal.m4, configure, test/Makefile.in,
3196         testsuite/Makefile.in: Rebuilt.
3197         * Makefile.am, acinclude.m4, configure.in: Add multilib support.
3198         * configure.host: Created.
3199
3200 1998-10-10  Tom Tromey  <tromey@cygnus.com>
3201
3202         * java/lang/natObject.cc (sync_init): Always allocate a new
3203         sync_info.
3204
3205 1998-10-09  Tom Tromey  <tromey@cygnus.com>
3206
3207         * java/io/ByteArrayInputStream.java (mark): Renamed from
3208         `mark_FIXME'.
3209
3210         * java/io/FileOutputStream.java (finalize): Removed.
3211         * java/io/FileDescriptor.java (finalize): New method.
3212
3213 Thu Oct  8 17:59:43 1998  Warren Levy  <warrenl@cygnus.com>
3214
3215         * ByteArrayInputStream.java: Corrected status comment.
3216
3217 Thu Oct  8 17:22:49 1998  Warren Levy  <warrenl@cygnus.com>
3218
3219         * ByteArrayInputStream.java, FilterInputStream.java: Rewritten.
3220
3221 1998-10-08  Tom Tromey  <tromey@cygnus.com>
3222
3223         * prims.cc (lookupArray): Use static array to initialize list of
3224         interfaces.
3225
3226 Thu Oct  8 12:45:03 1998  Anthony Green  <green@cygnus.com>
3227
3228         * prims.cc (lookupArray): Initialize the msize for new
3229         array classes.
3230
3231 Wed Oct  7 12:13:59 1998  Anthony Green  <green@cygnus.com>
3232
3233         * configure: Rebuilt.
3234         * configure.in: Check for fsync and sleep.
3235         * acconfig.h (HAVE_SLEEP, HAVE_FSYNC): Added.
3236
3237         * include/no-threads.h (_Jv_CondWait): Wrap sleep() use with
3238         HAVE_SLEEP. Include config.h.
3239
3240         * java/io/natFileDescriptor.cc (NO_FSYNC_MESSAGE): Added.
3241         * java/io/natFileDescriptor.cc (sync): Wrap fsync() use
3242         with HAVE_FSYNC.
3243
3244 1998-10-08  Tom Tromey  <tromey@cygnus.com>
3245
3246         * java/io/natFile.cc: Don't include SecurityManager.h.
3247         (performList): Renamed.
3248         (performMkdir): Likewise.
3249         (performRenameTo): Likewise.
3250         (performDelete): Likewise.
3251         Include <stdlib.h>.
3252         * java/io/File.java (performDelete): Renamed from natDelete.
3253         (list): Now written in Java.
3254         (performList): New method.
3255         (performMkdir): New method.
3256         (mkdir): Now written in Java.
3257         (performRenameTo): New method.
3258         (renameTo): Now written in Java.
3259
3260 1998-10-06  Tom Tromey  <tromey@cygnus.com>
3261
3262         * Makefile.in: Rebuilt.
3263         * Makefile.am (ETAGS_ARGS): New macro.
3264         (TAGS_DEPENDENCIES): Likewise.
3265
3266 Tue Oct  6 22:04:44 PDT 1998 Anthony Green  <green@cygnus.com>
3267
3268         * Makefile.in: Rebuilt.
3269         * Makefile.am: Use -classpath option with javac.
3270         
3271 Tue Oct  6 18:51:31 1998  Tom Tromey  <tromey@cygnus.com>
3272
3273         * java/io/FileOutputStream.java (finalize): Call
3274         super.finalize().
3275
3276 Tue Oct  6 16:02:45 1998  Anthony Green  <green@cygnus.com>
3277
3278         * java/lang/mprec.h: Remove unused _mprec_log10 which conflicts
3279         with newlib's libm.
3280         * java/lang/mprec.c: Ditto.
3281
3282         * java/lang/mprec.h: Include math.h for HUGE_VAL when
3283         cross-compiling.
3284
3285 Tue Oct  6 14:27:00 1998  Warren Levy  <warrenl@cygnus.com>
3286
3287         * java/io/InputStream.java (skip): Make local var i a long.
3288
3289 Mon Oct  5 09:44:24 1998  Tom Tromey  <tromey@cygnus.com>
3290
3291         * java/lang/natObject.cc (clone): Use memcpy, not memmove.
3292         * prims.cc (lookupArray): Use memcpy, not memmove.
3293         * include/config.h.in: Rebuilt.
3294         * acconfig.h (HAVE_MEMCPY): Added.
3295         * configure: Rebuilt.
3296         * configure.in: Check for memcpy again.
3297
3298         * java/io/RandomAccessFile.java (RandomAccessFile): Use
3299         String.compareTo, not ==.
3300
3301         * java/lang/Class.h (Class): Use _Jv_DispatchTable.
3302         (_PRIMITIVE_DTABLE): Use _Jv_DispatchTable.
3303         * java/lang/natObject.cc (struct _dispatchTable): Removed.
3304         * include/jvm.h (struct _Jv_DispatchTable): New structure.
3305         * prims.cc (lookupArray): Removed dead code.  Copy Object's dtable
3306         into new array's dtable.
3307         (_Jv_AllocObject): Use _Jv_DispatchTable.
3308         (_Jv_NewPrimArray): Likewise.
3309         (_Jv_NewObjectArray): Likewise.
3310
3311 Fri Oct  2 18:57:14 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
3312
3313         * prims.cc (_Jv_ThrowBadArrayIndex): Construct a string with the
3314         offending index value.
3315         (_Jv_NewPrimArray): Throw NegativeArraySizeException when
3316         appropriate.
3317         * include/jvm.h (_Jv_ThrowBadArrayIndex): Added declaration.
3318         * java/lang/Throwable.java: (Throwable): fixed argument to this().
3319
3320 Fri Oct  2 15:58:23 1998  Warren Levy  <warrenl@cygnus.com>
3321
3322         * java/io/DataInput.java, java/io/InputStream.java: Rewritten.
3323         
3324         * java/io/OutputStream.java (write): Use off and len parameters to
3325         output partial byte array.
3326         
3327         * java/io/BufferedReader.java, java/io/FileReader.java,
3328         java/io/InputStreamReader.java, java/io/LineNumberReader.java,
3329         java/io/OutputStreamWriter.java, java/io/PrintWriter.java,
3330         java/io/Reader.java, java/io/UnsupportedEncodingException.java,
3331         java/io/Writer.java: Added COPYRIGHT-TBD comment.
3332
3333         * include/javaprims.h (java::lang): Added
3334         ExceptionInInitializerError, IllegalStateException,
3335         NoSuchFieldException, and UnsupportedOperationException.
3336
3337 Fri Oct  2 01:05:38 1998  Tom Tromey  <tromey@cygnus.com>
3338
3339         * java/lang/natObject.cc (CloneableClass): Is a Class, not a
3340         Class*.
3341
3342         * include/java-array.h (__JArray): Added clone method.
3343         * prims.cc (CloneableClass): New define.
3344         (lookupArray): Initialize array class to indicate that it
3345         implements Cloneable.
3346
3347         * java/lang/Class.h: Removed all ACC_* defines.
3348         * prims.cc: Include Modifier.h.
3349         (_Jv_LookupInterfaceMethod): Use methods in
3350         java.lang.reflect.Modifier, not ACC_ defines.
3351
3352         * java/lang/Class.h (Class): Declare getClasses,
3353         getDeclaredClasses, getDeclaringClass, getModifiers, 
3354         * java/lang/Class.java: Rewrote from scratch.
3355
3356         * include/javaprims.h (java::lang): Added reflect and
3357         reflect::Modifier.
3358         * Makefile.in: Rebuilt.
3359         * Makefile.am (nat_headers): Added Modifier.h.
3360
3361         * prims.cc (_Jv_IsInstanceOf): Return false if class is
3362         primitive.
3363
3364 Fri Oct 2 06:49:00 1998  Anthony Green  <green@cygnus.com>
3365
3366         * java/lang/natString.cc (_Jv_StringFindSlot): Use JvAssert
3367         instead of test and abort.
3368
3369         * java/lang/natString.cc (_Jv_NewStringUtf8Const): Add cast to
3370         remove compiler warning.
3371
3372 Fri Oct  2 12:33:44 1998  Andrew Haley  <aph@korai.cygnus.co.uk>
3373
3374         * java/lang/natDouble.cc: zero terminate string.
3375         * strtod.c: Set errno if no digits are found in fraction.
3376
3377 Thu Oct  1 11:48:28 1998  Tom Tromey  <tromey@cygnus.com>
3378
3379         * java/lang/reflect/Modifier.java: New file.
3380
3381         * java/lang/VirtualMachineError.java: Rewrote from scratch.
3382         * java/lang/VerifyError.java: Rewrote from scratch.
3383         * java/lang/UnsatisfiedLinkError.java: Rewrote from scratch.
3384         * java/lang/UnknownError.java: Rewrote from scratch.
3385         * java/lang/StackOverflowError.java: Rewrote from scratch.
3386         * java/lang/OutOfMemoryError.java: Rewrote from scratch.
3387         * java/lang/InternalError.java: Rewrote from scratch.
3388         * java/lang/IllegalAccessError.java: Rewrote from scratch.
3389         * java/lang/ExceptionInInitializerError.java: New file.
3390         * java/lang/Error.java: Rewrote from scratch.
3391         * java/lang/ClassFormatError.java: Rewrote from scratch.
3392         * java/lang/ClassCircularityError.java: Rewrote from scratch.
3393         * java/lang/AbstractMethodError.java: Rewrote from scratch.
3394         * java/lang/NoClassDefFoundError.java: Rewrote from scratch.
3395         * java/lang/NoSuchFieldError.java: Rewrote from scratch.
3396         * java/lang/LinkageError.java: Rewrote from scratch.
3397         * java/lang/IncompatibleClassChangeError.java: Rewrote from
3398         scratch.
3399         * java/lang/NoSuchMethodError.java: Rewrote from scratch.
3400
3401         * java/lang/natObject.cc (_Jv_FinalizeObject): New function.
3402         * java/lang/Object.h (Object): Declare _Jv_FinalizeObject as a
3403         friend.
3404         * include/cni.h (JvAllocObject): Moved from prims.cc.
3405         Include Class.h.
3406         * prims.cc (JvAllocObject): Moved to cni.h.
3407         (_Jv_AllocObject): Use _Jv_FinalizeObject.
3408         (finalize_name): Removed.
3409
3410 Wed Sep 30 12:09:34 1998  Tom Tromey  <tromey@cygnus.com>
3411
3412         * java/lang/Class.h (Class): Added size() method.
3413         * prims.cc (_Jv_MonitorEnter): Removed.
3414         (_Jv_MonitorExit): Removed.
3415         * java/lang/Object.h (JvSyncInfo): Removed.
3416         * Makefile.in: Rebuilt.
3417         * Makefile.am (nat_headers): Added Cloneable.h,
3418         CloneNotSupportedException.h.
3419         * java/lang/Object.h: Rewrote.
3420         * java/lang/natObject.cc: Rewrote from scratch.
3421         * java/lang/Object.java: Rewrote from scratch.
3422
3423         * java/io/natFile.cc: Conditionally include <dirent.h>.
3424         (list): If no <dirent.h>, always return NULL.
3425         * configure: Rebuilt.
3426         * configure.in: Check for dirent.h.
3427
3428         * prims.cc (lookupArray): Don't use sprintf.
3429
3430         * java/util/Hashtable.java (containsKey): Use `abs' to compute
3431         initial index.
3432         (get): Likewise.
3433         (put): Likewise.
3434         (rehash): Likewise.
3435         (remove): Likewise.
3436
3437         * java/util/Hashtable.java (hsize): Renamed from size to avoid
3438         name conflict with method.
3439
3440         * include/javaprims.h (java::util): Added HashtableEntry.
3441
3442 Tue Sep 29 16:48:01 1998  Warren Levy  <warrenl@cygnus.com>
3443
3444         * java/util/Hashtable.java: Rewritten.
3445
3446 Tue Sep 29 00:28:42 1998  Tom Tromey  <tromey@cygnus.com>
3447
3448         * java/io/natFileDescriptor.cc (write): Correctly test `write'
3449         return value.
3450         (write): Likewise.
3451
3452         * java/lang/natThread.cc (join): Fixed assertion to refer to `nt',
3453         not `curr_nt'.
3454
3455         * posix-threads.cc (_Jv_CondWait): Now returns int.
3456         * include/javaprims.h (java::lang): Added
3457         IllegalMonitorStateException.
3458         * Makefile.in: Rebuilt.
3459         * Makefile.am (nat_headers): Added IllegalMonitorStateException.h.
3460         * include/no-threads.h (_Jv_CondDestroy): Removed.
3461         (_Jv_MutexDestroy): Removed.
3462         (_Jv_CondWait): Now returns int.
3463         (_Jv_CondNotify): Likewise.  Added mutex argument.
3464         (_Jv_CondNotifyAll): Likewise.
3465         (_Jv_MutexLock): Always succeed.
3466         (_Jv_MutexUnlock): Likewise.
3467         * include/posix-threads.h (_Jv_HaveCondDestroy): Define.
3468         (_Jv_HaveMutexDestroy): Define.
3469         (_Jv_CondNotify): Now returns int.  Added mutex argument.
3470         (_Jv_CondNotifyAll): Likewise.
3471         * include/quick-threads.h (_Jv_CondDestroy): Removed.
3472         (_Jv_MutexDestroy): Removed.
3473         (_Jv_CondWait): Now returns int.
3474         (_Jv_CondNotify): Likewise.  Added mutex argument.
3475         (_Jv_CondNotifyAll): Likewise.
3476         * java/lang/natObject.cc (finalize_sync_info): New function.
3477         (init_mutex): Initialize `init' and register finalizer if
3478         required.
3479         (CHECK): New macro.
3480         (init_mutex): Use it.
3481         (notify): Use it.
3482         (notifyAll): Use it.
3483         (wait): Use it.
3484         (notify): Throw IllegalMonitorStateException on failure.
3485         (notifyAll): Likewise.
3486         (wait): Likewise.  Also, throw InterruptedException if
3487         appropriate.
3488         Include cni.h, Thread.h, IllegalMonitorStateException.h,
3489         InterruptedException.h, IllegalArgumentException.h.
3490         * java/lang/Object.h (struct JvSyncInfo): Added `init' member.
3491
3492         * java/lang/natString.cc: Renamed all `JvPriv' functions.
3493         * java/lang/natRuntime.cc: Renamed all `JvPriv' functions.
3494         * java/lang/Object.h: Renamed all `JvPriv' functions (and types).
3495         * java/lang/natObject.cc: Renamed all `JvPriv' functions.
3496         * java/lang/natThread.cc: Renamed all `JvPriv' functions.
3497         * quick-threads.cc: Renamed all `JvPriv' functions.
3498         * prims.cc: Renamed all `JvPriv' functions.
3499         * posix-threads.cc: Renamed all `JvPriv' functions.
3500         * nogc.cc: Renamed all `JvPriv' functions.
3501         * no-threads.cc: Renamed all `JvPriv' functions.
3502         * boehm.cc: Renamed all `JvPriv' functions.
3503         * include/quick-threads.h: Renamed all `JvPriv' functions.
3504         * include/posix-threads.h: Renamed all `JvPriv' functions.
3505         * include/no-threads.h: Renamed all `JvPriv' functions.
3506         * include/jvm.h: Renamed all `JvPrivXXX' functions to `_Jv_XXX'.
3507
3508         * include/no-threads.h (JvPrivCondWait): Wrote minimal
3509         implementation.
3510         (JvPrivCondNotify): Do nothing.
3511         (JvPrivCondNotifyAll): Do nothing.
3512
3513         * prims.cc (processClass): Handle case where state is
3514         DOING_CONSTINIT.
3515
3516         * java/lang/natFirstThread.cc: Include <stdlib.h>
3517
3518         * configure: Rebuilt.
3519         * configure.in: Fixed sense of --enable-libjava-debug.
3520
3521         * java/lang/natThread.cc (join): Declare `t' outside the loop so
3522         it can be used afterward by the assertion.
3523
3524         * configure: Rebuilt.
3525         * configure.in: When cross-compiling, assume alloca.
3526
3527         * java/lang/natDouble.cc: Updated alloca magic to avoid use of
3528         __builtin_alloca (autoconf docs are wrong here).
3529
3530         * java/io/natFileDescriptor.cc (close): Set fd to -1 before
3531         closing.
3532         (available): Use `FD_ZERO' (typo fix).
3533
3534 Tue Sep 29 17:43:30 1998  Andrew Haley  <aph@tikka.cygnus.co.uk>
3535
3536         * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
3537         java/lang/natDouble.cc, java/lang/strtod.c: struct _Bigint renamed
3538         struct _Jv_Bigint.
3539         * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
3540         java/lang/natDouble.cc, java/lang/strtod.c: struct _reent renamed
3541         struct _Jv_reent.
3542
3543         * java/lang/natDouble.cc: layout changed to match GNU coding standard.
3544         
3545 Tue Sep 29 07:57:13 1998  Anthony Green  <green@cygnus.com>
3546
3547         * java/lang/natDouble.cc: Declare alloca safely.
3548
3549         * configure, include/config.h.in: Rebuilt.
3550         * configure.in: Add alloca check.
3551
3552 Tue Sep 29 00:28:42 1998  Tom Tromey  <tromey@cygnus.com>
3553
3554         * java/lang/natThread.cc (finish_): Hold mutex for interrupt
3555         condition while calling notify.
3556         (join): Remove `curr_nt' from `nt's join list, not vice versa.
3557         (interrupt): Hold mutex for interrupt condition while calling
3558         notify.
3559
3560         * java/lang/natString.cc (init): Allocate and try to read `count'
3561         characters, not `count - offset' characters.
3562
3563         * java/io/ByteArrayInputStream.java (ByteArrayInputStream):
3564         Correctly compute `count'.
3565
3566         * java/lang/Boolean.java (getBoolean): Return false if property
3567         not found.
3568
3569         * java/lang/System.java (setProperties): Set prop_init.
3570
3571 Mon Sep 28 12:39:25 1998  Tom Tromey  <tromey@cygnus.com>
3572
3573         * java/io/PrintStream.java (println): Use line.separator, not
3574         file.separator.
3575         * java/lang/System.java (out, err): Make both autoflush streams.
3576         * java/io/ByteArrayOutputStream.java (write): Increment `count'.
3577
3578         * include/config.h.in: Rebuilt.
3579         * acconfig.h (HAVE_MEMCPY): Removed.
3580         * configure: Rebuilt.
3581         * configure.in: Never define HAVE_MEMCPY.
3582
3583         * java/lang/natString.cc: Don't include OutOfMemoryError.h or
3584         Class.h.
3585         (_Jv_AllocString): Use JvAllocObject again.
3586         * java/lang/Class.h (thread): New field.
3587         (_Jv_AllocString): No longer a friend.
3588         * prims.cc (processClass): Removed dead code.  Changed to more
3589         closely follow the Java Language Specification.
3590         (processClass): Return early if already at the right state.
3591
3592         * prims.cc (JvNewStringUTF): Removed.
3593         * include/cni.h (JvNewStringUTF): New function.
3594         (_Jv_NewStringUTF): Declare as `extern "C"'.
3595         * java/lang/natString.cc (_Jv_NewStringUTF): New function.
3596
3597         * java/lang/natDouble.cc: Added copyright info and header
3598         comment.  Include <stdlib.h>.
3599         (doubleValueOf): Use alloca, not malloc.  Allocate 3 times as many
3600         bytes as are chars in string.
3601
3602 Sat Sep 26 00:19:27 1998  Tom Tromey  <tromey@cygnus.com>
3603
3604         * java/util/Hashtable.java (hkeys): Member renamed from to avoid
3605         clash with method.
3606         (hsize): Likewise.
3607
3608         * java/lang/System.java (init_properties): Now native.
3609         * java/lang/natSystem.cc (init_properties): New method.
3610         Include java/util/Properties.h.
3611
3612         * Makefile.in: Rebuilt.
3613         * Makefile.am (nat_headers): Added ByteArrayOutputStream.h,
3614         OutputStreamWriter.h, ByteArrayInputStream.h,
3615         InputStreamReader.h, Writer.h, InputStream.h, OutputStream.h,
3616         Reader.h, Vector.h, SecurityManager.h, FilenameFilter.h,
3617         SyncFailedException.h, EOFException.h, FileNotFoundException.h,
3618         Properties.h, Hashtable.h, Dictionary.h.
3619         (CFLAGS): Removed.
3620
3621         * include/javaprims.h (java::io): Added Reader, Writer,
3622         InputStreamReader, OutputStreamWriter,
3623         UnsupportedEncodingException, ByteArrayInputStream,
3624         ByteArrayOutputStream, EOFException, SyncFailedException,
3625         PushbackInputStream.
3626         (java::lang): Added Cloneable.
3627         (java::util): Added NoSuchElementException, VectorEnumeration,
3628         Dictionary, HashtableEnumeration, PropertiesEnumeration.
3629
3630         * java/io/PipedReader.java: New file.
3631
3632 Fri Sep 25 00:11:25 1998  Tom Tromey  <tromey@cygnus.com>
3633
3634         * java/lang/natCharacter.cc (getNumericValue): Use `digit' to pick
3635         up A-Z.
3636
3637         * java/io/io-defs.h: Removed.
3638
3639         * java/io/FileInputStream.java (skip): Use FileDescriptor.seek.
3640         (FileInputStream): Use new constructor.  Can throw IOException.
3641
3642         * java/lang/System.java (getProperty): Don't throw
3643         NullPointerException.
3644
3645         * java/io/RandomAccessFile.java: Rewrote from scratch.
3646
3647         * java/io/natFileDescriptor.cc: Include EOFException.h.
3648         (seek): New method.
3649         (length): New method.
3650         (getFilePointer): New method.
3651         (read): New method.
3652         (available): New method.
3653         * java/io/FileDescriptor.java (SET, CUR): New constants.
3654         (seek, length, getFilePointer, read, available): New decls.
3655
3656         * java/io/PipedWriter.java: New file.
3657         * java/io/StringWriter.java: New file.
3658         * java/io/CharArrayWriter.java: New file.
3659         * java/io/CharConversionException.java: New file.
3660         * java/io/BufferedWriter.java: New file.
3661         * java/io/FilterWriter.java: New file.
3662         * java/io/FileWriter.java: New file.
3663
3664         * java/lang/natString.cc: Include ByteArrayOutputStream.h,
3665         OutputStreamWriter.h, NullPointerException.h,
3666         ByteArrayInputStream.h, InputStreamReader.h.
3667         (getBytes): New method.
3668         (init): Throw NullPointerException.
3669         (init): New function.
3670         * java/lang/String.java (getBytes): Added missing decl.
3671         (getBytes): New method.
3672         (String): Added byte[]-based constructors.
3673         (copyValueOf): Wrote.
3674         (init): Declare variant which takes byte array and encoding.
3675         Import java.io.UnsupportedEncodingException.
3676
3677         * java/io/File.java: Rewrote from scratch.
3678         * java/io/natFileDescriptor.cc: Rewrote from scratch.
3679         * java/io/FileDescriptor.java: Rewrote from scratch.
3680         * java/io/FilenameFilter.java: Rewrote from scratch.
3681
3682 Thu Sep 24 13:30:16 1998  Tom Tromey  <tromey@cygnus.com>
3683
3684         * java/io/SyncFailedException.java: New file.
3685         * java/io/UTFDataFormatException.java: Rewrote from scratch.
3686         * java/io/InterruptedIOException.java: Rewrote from scratch.
3687         * java/io/FileNotFoundException.java: Rewrote from scratch.
3688         * java/io/EOFException.java: Rewrote from scratch.
3689         * java/io/IOException.java: Rewrote from scratch.
3690         * java/io/PrintStream.java: Rewrote from scratch.
3691         * java/io/DataOutputStream.java: Rewrote from scratch.
3692         * java/io/BufferedOutputStream.java: Rewrote from scratch.
3693         * java/io/FilterOutputStream.java: Rewrote from scratch.
3694         * java/io/ByteArrayOutputStream.java: Rewrote from scratch.
3695         * java/io/PipedOutputStream.java: Rewrote from scratch.
3696         * java/io/FileOutputStream.java: Rewrote from scratch.
3697         * java/io/OutputStream.java: Rewrote from scratch.
3698         * java/io/DataOutput.java: Rewrote from scratch.
3699
3700 Mon Sep 28 22:59:54 1998  Per Bothner  <bothner@cygnus.com>
3701
3702         * prims.cc (_Jv_CheckCast):  Add missing ! operator.
3703
3704 Mon Sep 28 15:50:06 1998  Anthony Green  <green@cygnus.com>
3705
3706         * configure.in: Add --enable-libjava-debug
3707
3708         * Makefile.am (nat_headers): Add java/lang/Float.h and 
3709         java/lang/Double.h
3710
3711         * acconfig.h: Add DEBUG and HAVE_MEMCPY.
3712
3713         * Makefile.in, configure, include/config.h.in: Rebuilt.
3714
3715 Mon Sep 28 17:05:58 1998  Andrew Haley  <aph@korai.cygnus.co.uk>
3716
3717         * java/lang/Float.java: Rewritten
3718         * java/lang/Double.java: Rewritten
3719         * java/lang/natFloat.cc: toString() added.
3720         * java/lang/natDouble.cc: toString() added.
3721         * java/lang/natDouble.cc: doubleValueOf() added.
3722         * java/lang/dtoa.c, java/lang/mprec.c, java/lang/mprec.h, 
3723         java/lang/strtod.c: added.
3724         * ieeefp.h: __sparc added.
3725         * Makefile.am: java/lang/Float.h and java/lang/Double.h added.
3726         
3727 Thu Sep 24 13:30:16 1998  Tom Tromey  <tromey@cygnus.com>
3728
3729         * include/javaprims.h (java::lang): Added
3730         CloneNotSupportedException.
3731
3732         * java/lang/Object.java (clone): No longer native.  Implemented.
3733         * java/lang/natObject.cc (clone): Removed.
3734
3735 Wed Sep 23 12:03:38 1998  Tom Tromey  <tromey@cygnus.com>
3736
3737         * prims.cc: Don't make definitions `extern "C"'.
3738         (_Jv_RegisterClass): Renamed from registerClass.
3739         * include/jvm.h (_Jv_ThrowBadArrayIndex): Declare.
3740         (_Jv_NewArray): Likewise.
3741         (_Jv_NewMultiArray): Likewise.
3742         (_Jv_CheckCast): Likewise.
3743         (_Jv_LookupInterfaceMethod): Likewise.
3744         (_Jv_CheckArrayStore): Likewise.
3745         (_Jv_RegisterClass): Likewise.
3746
3747         * acconfig.h (HAVE_FMOD, HAVE_MEMCPY): Removed.
3748         * configure: Rebuilt.
3749         * configure.in: Don't check for fmod; it is provided by the fdlibm
3750         code.
3751         * prims.cc (fmod): Removed.
3752
3753         * java/lang/natString.cc (charAt): Use _Jv_uint.
3754         * java/lang/Class.h (class JvField): Use _Jv_ushort.
3755         * prims.cc (HASH_CHARS): Use _Jv_ushort.
3756         (equalUtf8Consts): Likewise.
3757         (internalAddClass): Use _Jv_uint.
3758         (processClass): Likewise.
3759         * include/javaprims.h (_Jv_ushort): Renamed from uint16.
3760         (_Jv_uint): Renamed from uint32.
3761         (struct _Jv_Utf8Const): Changed members to use new type names.
3762
3763         * configure: Rebuilt.
3764         * configure.in: Don't check for memcpy.  Require memmove and a way
3765         to get the time.
3766         * java/lang/natSystem.cc (arraycopy): Removed dead code, and
3767         #error.
3768         (currentTimeMillis): Don't use #error.
3769
3770 Tue Sep 22 18:00:16 1998  Andrew Haley  <aph@korai.cygnus.co.uk>
3771
3772         * java/lang/Math.java: static member random renamed to random_ to
3773         avoid conflict with member function of the same name.
3774         * include/javaprims.h: java.util.Random added.
3775
3776 Tue Sep 22 13:53:14 1998  Tom Tromey  <tromey@cygnus.com>
3777
3778         * include/java-chartables.h: Regenerated.
3779         * chartables.pl: End COMPACT_CHARACTER #if after fast tables
3780         printed.
3781
3782 Tue Sep 22 17:17:52 1998  Andrew Haley  <aph@tikka.cygnus.co.uk>
3783
3784         * java/lang/Math.java: Rewritten.
3785         * java/lang/natMath.cc: New file.
3786         * Files added from fdlibm:
3787           java/lang/e_acos.c, java/lang/k_sin.c, java/lang/sf_floor.c,
3788           java/lang/e_asin.c, java/lang/k_tan.c, java/lang/sf_rint.c,
3789           java/lang/e_atan2.c, java/lang/s_atan.c, java/lang/w_acos.c,
3790           java/lang/e_exp.c, java/lang/s_ceil.c, java/lang/w_asin.c,
3791           java/lang/e_fmod.c, java/lang/s_copysign.c, java/lang/w_atan2.c,
3792           java/lang/e_log.c, java/lang/s_cos.c, java/lang/w_exp.c,
3793           java/lang/e_pow.c, java/lang/s_fabs.c, java/lang/w_fmod.c,
3794           java/lang/e_rem_pio2.c, java/lang/s_floor.c, java/lang/w_log.c,
3795           java/lang/e_remainder.c, java/lang/s_rint.c, java/lang/w_pow.c,
3796           java/lang/e_scalb.c, java/lang/s_scalbn.c, java/lang/w_remainder.c,
3797           java/lang/e_sqrt.c, java/lang/s_sin.c, java/lang/w_sqrt.c,
3798           java/lang/ef_fmod.c, java/lang/s_tan.c, java/lang/wf_fmod.c,
3799           java/lang/k_cos.c, java/lang/sf_ceil.c,
3800           java/lang/k_rem_pio2.c, java/lang/sf_fabs.c,
3801           java/lang/ieeefp.h, java/lang/fdlibm.h
3802         * Makefile.am: rules added for compiling C files from fdlibm.
3803         
3804 Mon Sep 21 15:40:58 1998  Tom Tromey  <tromey@cygnus.com>
3805
3806         * chartables.pl: Minor documentation fixes.
3807
3808         * configure: Rebuilt.
3809         * configure.in: Fixed --help output for --enable-fast-character.
3810
3811 Thu Sep 17 11:03:27 1998  Tom Tromey  <tromey@cygnus.com>
3812
3813         * configure: Rebuilt.
3814         * configure.in: Recognize --enable-fast-character.
3815         * acconfig.h (COMPACT_CHARACTER): New define.
3816         * include/config.h.in: Rebuilt.
3817         * include/java-chartables.h: New file.
3818         * Makefile.in: Rebuilt.
3819         * Makefile.am (nat_files): Added natCharacter.o.
3820         * java/lang/natCharacter.cc: New file.
3821         * chartables.pl (set_attribute): New function.
3822         (@attributes, @second_attributes): New globals.
3823         ($ROMAN_START, $ROMAN_END): Likewise.
3824         (process_char): Call set_attribute when required.
3825         (print_char): Just print hex value.
3826         (print_block): Generate C++ syntax.
3827         (print_numerics): Likewise.
3828         (print_single_map): Likewise.
3829         (print_all_block): Likewise.
3830         (print_case_table): Likewise.
3831         (print_fast_tables): New function.
3832         Generate C++ code suitable for a header file.
3833         * java/lang/Character.java (table_search): Removed.
3834         (digit_value): Now native.
3835         (getNumericValue): Likewise.
3836         (getType): Likewise.
3837         Removed all automatically-generated tables.
3838         (Tamil_Digit_One): Removed.
3839         (isSpaceChar): Now native.
3840         (isTitleCase): Likewise.
3841         (isLowerCase): Likewise.
3842         (isUpperCase): Likewise.
3843         (toLowerCase): Likewise.
3844         (toTitleCase): Likewise.
3845         (toUpperCase): Likewise.
3846         (isDefined): Fixed sense of test.
3847
3848 Wed Sep 16 12:00:19 1998  Tom Tromey  <tromey@cygnus.com>
3849
3850         * java/lang/natString.cc (equalsIgnoreCase): Removed obsolete
3851         FIXME comment.
3852         (regionMatches): Likewise.
3853
3854 Tue Sep 15 14:35:12 1998  Tom Tromey  <tromey@cygnus.com>
3855
3856         * prims.cc (_Jv_AllocObject): Call _Jv_InitClass on the class.
3857
3858         * java/lang/Class.h (Object): For now, declare _Jv_AllocString as
3859         a friend.
3860         * java/lang/natString.cc (_Jv_AllocString): For now, don't call
3861         _Jv_AllocObject.
3862
3863         * java/lang/natString.cc (toUpperCase): Declare `ch' as a jchar,
3864         not a char.
3865
3866         * java/lang/natClass.cc (isAssignableFrom): Handle arrays.
3867
3868 Fri Sep 11 14:01:08 1998  Tom Tromey  <tromey@cygnus.com>
3869
3870         * prims.cc (instanceof_class): Removed.
3871         (instanceof_array): Likewise.
3872         (instanceof): Likewise.
3873         (_Jv_IsInstanceOf): Use Class::isAssignableFrom.
3874         (_Jv_CheckCast): Likewise.
3875         * java/lang/natClass.cc (isAssignableFrom): New method.
3876         * java/lang/Class.java (isAssignableFrom): Now native.
3877
3878         * include/cni.h (JvThrow): Use `extern inline'.
3879         (JvAllocObject): Likewise.
3880         (JvInitClass): Likewise.
3881
3882         * java/lang/natSystem.cc (arraycopy): Only check class of source
3883         object if not null.
3884
3885         * prims.cc (_Jv_CheckArrayStore): Wrote.
3886         (_Jv_MonitorEnter): Prefer `JvThrow'.
3887         Include ArrayStoreException.h.
3888         (_Jv_CheckCast): Indentation cleanup.
3889
3890 Thu Sep 10 18:59:29 1998  Tom Tromey  <tromey@cygnus.com>
3891
3892         * chartables.pl: New file.
3893         * java/lang/Character.java: Rewrote from scratch.
3894
3895 Fri Sep 18 18:15:58 1998  Warren Levy  <warrenl@cygnus.com>
3896
3897         * java/lang/ArithmeticException.java,
3898         java/lang/ArrayIndexOutOfBoundsException.java,
3899         java/lang/ArrayStoreException.java,
3900         java/lang/ClassCastException.java,
3901         java/lang/ClassNotFoundException.java,
3902         java/lang/CloneNotSupportedException.java,
3903         java/lang/Exception.java, java/lang/IllegalAccessException.java,
3904         java/lang/IllegalArgumentException.java,
3905         java/lang/IllegalMonitorStateException.java,
3906         java/lang/IllegalThreadStateException.java,
3907         java/lang/IndexOutOfBoundsException.java,
3908         java/lang/InstantiationException.java,
3909         java/lang/InterruptedException.java,
3910         java/lang/NegativeArraySizeException.java,
3911         java/lang/NoSuchMethodException.java,
3912         java/lang/NullPointerException.java,
3913         java/lang/NumberFormatException.java,
3914         java/lang/RuntimeException.java, java/lang/SecurityException.java,
3915         java/lang/StringIndexOutOfBoundsException.java: Rewritten.
3916
3917         * java/lang/IllegalStateException.java,
3918         java/lang/NoSuchFieldException.java,
3919         java/lang/UnsupportedOperationException.java: Created.
3920
3921 Fri Sep 18 15:01:42 1998  Warren Levy  <warrenl@cygnus.com>
3922
3923         * java/lang/Integer.java, java/lang/Long.java: Rewritten.
3924         * java/lang/Byte.java, java/lang/Short.java (decode): Uncommented.
3925
3926 Fri Sep 11 16:49:19 1998  Per Bothner  <bothner@cygnus.com>
3927
3928         * prims.cc (JvRunMain):  No longer need to call _Jv_InitClass.
3929
3930 Thu Sep 10 12:23:55 1998  Warren Levy  <warrenl@cygnus.com>
3931
3932         * Makefile.am (nat_headers): Added StringIndexOutOfBoundsException.h.
3933
3934         * Makefile.in: Rebuilt.
3935
3936         * include/javaprims.h (java::lang): Added
3937         StringIndexOutOfBoundsException.
3938
3939         * java/lang/String.java: Added header comment and FIXME comment for 
3940         missing constructors/methods.
3941         (endsWith): Adjusted offset into string to look at just the last chars.
3942         Commented out undocumented method.
3943
3944         * java/lang/natString.cc: Added includes for
3945         ArrayIndexOutOfBoundsException.h & StringIndexOutOfBoundsException.h.
3946         (String::init): Throw StringIndexOutOfBoundsException.
3947         (String::charAt): Throw StringIndexOutOfBoundsException.
3948         (String::substring): Throw StringIndexOutOfBoundsException.
3949         (String::getChars): Throw ArrayIndexOutOfBoundsException.
3950         (String::getBytes): Throw ArrayIndexOutOfBoundsException.
3951         (String::compareTo): Return difference/offset between chars/strings.
3952
3953 Tue Sep  8 13:22:33 1998  Warren Levy  <warrenl@cygnus.com>
3954
3955         * java/lang/Boolean.java (TYPE): Added comment.
3956         
3957         * java/lang/Byte.java (decode): Added - commented out until dependent
3958         code for Integer is written.
3959         (compareTo): JDK 1.2 methods written.
3960         (hashCode): Added comment to note that values have been verified.
3961         
3962         * java/lang/Short.java (decode): Added - commented out until dependent
3963         code for Integer is written.
3964         (compareTo): JDK 1.2 methods written.
3965         (hashCode): Added comment to note that values have been verified.
3966
3967         * java/lang/Comparable.java: Created - JDK 1.2 interface.
3968
3969 Fri Sep  4 10:36:35 1998  Tom Tromey  <tromey@cygnus.com>
3970
3971         * include/javaprims.h (java::lang): Added VirtualMachineError,
3972         OutOfMemoryError.
3973         * Makefile.in: Rebuilt.
3974         * Makefile.am (nat_headers): Added OutOfMemoryError.h,
3975         VirtualMachineError.h.
3976         * prims.cc (_Jv_NewPrimArray): Throw OutOfMemoryError.
3977         (lookupArray): Likewise.
3978         (makeUtf8Const): Likewise.
3979         (_Jv_AllocObject): Likewise.
3980         (_Jv_NewObjectArray): Likewise.
3981         Include OutOfMemoryError.h.
3982
3983         * java/io/natFileDescriptor.cc (newstr): Removed.  Changed callers
3984         to use JvNewStringLatin1.
3985
3986         * java/io/io-defs.h: Include java/lang/IOException.h.
3987         * Makefile.in: Rebuilt.
3988         * Makefile.am (nat_headers): Added
3989         ArrayIndexOutOfBoundsException.h,
3990         ClassFormatError.h,ClassNotFoundException.h,
3991         ClassCircularityError.h, ClassCastException.h,
3992         IncompatibleClassChangeError.h, AbstractMethodError.h,
3993         IllegalAccessError.h, LinkageError.h, Error.h,
3994         NegativeArraySizeException.h, IOException.h.
3995         * include/cni.h (SignalError): Removed declaration.
3996         * java/util/natDate.cc (setTime): Use JvFail, not sorry.
3997         * java/lang/natObject.cc (clone): Use JvFail, not sorry.
3998         * java/lang/natClass.cc (getInterfaces): Use JvFail, not sorry.
3999         (newInstance): Likewise.
4000         (forName): Likewise.
4001         * java/io/natFileDescriptor.cc (open_read_write): Use JvFail, not
4002         sorry.
4003         (read): Use JvThrow, not SignalError.
4004         (read): Likewise.
4005         (write): Likewise.
4006         (skip): Likewise.
4007         (close): Likewise.
4008         (open_read): Likewise.
4009         (open_write): Likewise.
4010         (ftell): Likewise.
4011         (fseek): Likewise.
4012         (newstr): New function.
4013         * java/io/natFile.cc (isDirectoryUnchecked): Use JvFail, not
4014         sorry.
4015         (lastModifiedUnchecked): Likewise.
4016         (lengthUnchecked): Likewise.
4017         * include/javaprims.h (sorry): Removed declaration.
4018         (java::lang): Added ArrayIndexOutOfBoundsException, LinkageError,
4019         ClassFormatError, ClassNotFoundException, ClassCircularityError,
4020         ClassCastException, IncompatibleClassChangeError,
4021         AbstractMethodError, IllegalAccessError, NegativeArraySizeException.
4022         * prims.cc (instanceof_array): Use JvFail, not sorry.
4023         (sorry): Removed.
4024         Include ArrayIndexOutOfBoundsException.h,
4025         ClassFormatError.h,ClassNotFoundException.h,
4026         ClassCircularityError.h, ClassCastException.h,
4027         IncompatibleClassChangeError.h, AbstractMethodError.h,
4028         IllegalAccessError.h, NegativeArraySizeException.h.
4029         (_Jv_ThrowBadArrayIndex): Implemented.
4030         (JvNewStringUTF): Use JvFail, not sorry.
4031         (_Jv_FindClass): Likewise.
4032         (_Jv_NewArray): Likewise.
4033         (throwException): Removed.
4034         (getClass): Use JvThrow.
4035         (processClass): Likewise.
4036         (_Jv_NewObjectArray): Likewise.
4037         (_Jv_NewMultiArray): Likewise.
4038         (_Jv_CheckCast): Likewise.
4039         (_Jv_LookupInterfaceMethod): Likewise.
4040         (SignalError): Removed.
4041         (getClass): Use _Jv_NewStringUtf8Const to create String.
4042
4043         * java/lang/natSystem.cc (arraycopy): Throw
4044         ArrayIndexOutOfBoundsException, not IndexOutOfBoundsException.
4045
4046         * Makefile.in: Rebuilt.
4047         * Makefile.am (GCJH): Renamed.  Now use `gcjh'.  Changed all
4048         users.
4049         * include/java-array.h: Mention gcjh, not gjavah.
4050
4051         * java/io/natFile.cc (existsUnchecked): Use JvGetStringUTFRegion.
4052         (canReadUnchecked): Likewise.
4053         (canWriteUnchecked): Likewise.
4054         (isFileUnchecked): Likewise.
4055         * java/io/natFileDescriptor.cc: Don't include cni.h.
4056
4057         * java/lang/Thread.java (run__): Declare.
4058         * java/lang/natThread.cc (run__): New method, to avoid compiler
4059         warning.
4060         (start): Use run__, not run_.
4061
4062         * java/io/io-defs.h: Include cni.h and jvm.h.
4063
4064 Thu Sep  3 18:20:08 1998  Per Bothner  <bothner@cygnus.com>
4065
4066         Re-implement java.lang.String, using "COMPACT_STRINGS" representation.
4067         * prims.cc (JvAllocString, JvNewString, JvNewStringlatin1):  Moved
4068         to natString.cc (with suitable renaming, inlines etc).
4069         (javaString2CString):  Removed.  Subsumed by _Jv_GetStringUTFRegion.
4070         * java/lang/Class.h:  Renamed Utf8Const to _Jv_Utf8Const.
4071         * java/lang/String.h:  Removed - now generated using gjavah.
4072         * java/lang/String.java:  Re-written from scratch. Many native methods.
4073         * java/lang/natDouble.cc, java/util/natDate.cc:  #include <cni.h>.
4074         * java/lang/natString.cc:  Many functions re-written for "compact
4075         strings" representation, or native java.lang.String methods added.
4076         (Utf8Const2JavaString):  Renamed to _Jv_NewStringUtf8Const.
4077         (_Jv_GetStringUTFLength, _Jv_GetStringUTFRegion):  New methods.
4078         * java/lang/natClass.cc (getName):  Use new _Jv_NewStringUtf8Const.
4079         * java/io/natFileDescriptor.cc:  Use new JvGetStringUTFRegion.
4080         * include/cni.h:  Add inline method.
4081         * include/java-array.h (jobjectArrayjchar):  gjavah bug work-around.
4082         * include/javaprims.h:  Moved some stuff frm String.h.
4083         * include/jvm.h (UTF8_GET, Utf8Const, StringClass):  Moved here.
4084         * Makefile.am (nat_header):  Added Character.h and String.h.
4085         (String.h):  Add new rule.
4086
4087 Thu Sep  3 10:28:16 1998  Tom Tromey  <tromey@cygnus.com>
4088
4089         * no-threads.cc: Include config.h, cni.h, jvm.h.  Don't include
4090         java-assert.h.
4091         * posix-threads.cc: Include cni.h, jvm.h.
4092         * quick-threads.cc: Include cni.h, jvm.h.
4093         * nogc.cc: Include cni.h, not javaprims.h.
4094         * java/lang/natFirstThread.cc: Include cni.h, jvm.h.
4095         * java/lang/natThread.cc: Rearranged #include ordering.  Don't
4096         include java-assert.h.
4097         * java/lang/natSystem.cc: Include cni.h.  Don't include
4098         java-assert.h.
4099         * java/lang/natRuntime.cc: Include cni.h.  Don't include
4100         java-assert.h.
4101         * prims.cc: Rearranged #include ordering.  Don't include
4102         java-array.h or java-assert.h.
4103         * boehm.cc: Include config.h, cni.h.
4104         * exception.cc: Include config.h, cni.h.
4105         * include/jvm.h: Include java-assert.h.
4106         * include/cni.h: Include java/lang/Object.h.  Don't include
4107         java-threads.h or java-array.h.
4108
4109 Thu Sep  3 16:03:08 1998  Warren Levy  <warrenl@cygnus.com>
4110
4111         * java/lang/Boolean.java: Rewritten.
4112
4113 Thu Sep  3 10:28:16 1998  Tom Tromey  <tromey@cygnus.com>
4114
4115         * java/lang/natFirstThread.cc (main_func): New typedef.
4116         (run): Use main_func, not JvPrivThreadStartFunc.
4117         * include/no-threads.h (JvPrivThreadStartFunc): Use correct
4118         argument type.
4119         * include/posix-threads.h (JvPrivThreadStartFunc): Use correct
4120         argument type.
4121         * include/quick-threads.h (JvPrivThreadStartFunc): Use correct
4122         argument type.
4123
4124         Can't throw Java exceptions with C++ `throw':
4125         * quick-threads.cc (qthrow): Use _Jv_Throw, not throw.
4126         * java/lang/natThread.cc (join): Use _Jv_Throw, not throw.
4127         (setPriority): Likewise.
4128         (sleep): Likewise.
4129         (start): Likewise.
4130         (stop): Likewise.
4131         * java/lang/natSystem.cc (arraycopy): Use _Jv_Throw, not throw.
4132         * prims.cc (_Jv_MonitorEnter): Use _Jv_Throw, not throw.
4133
4134         Can't catch Java exceptions from C++:
4135         * java/lang/natThread.cc (finish_): New method.
4136         (run_): Removed.
4137         * java/lang/Thread.java (run_): Rewrote in Java.
4138         (finish_): New native method.
4139
4140 Wed Sep  2 17:30:39 1998  Warren Levy  <warrenl@cygnus.com>
4141
4142         * java/lang/Cloneable.java, java/lang/Number.java: Rewritten.
4143
4144         * include/javaprims.h (java::io): Added Serializable.
4145
4146 Wed Sep  2 15:22:00 1998  Warren Levy  <warrenl@cygnus.com>
4147
4148         * java/util/EmptyStackException.java,
4149         java/util/NoSuchElementException.java: Rewritten.
4150         
4151         * java/util/ConcurrentModificationException.java,
4152         java/util/MissingResourceException.java,
4153         java/util/TooManyListenersException.java: Created.
4154
4155 Wed Sep  2 13:36:57 1998  Tom Tromey  <tromey@cygnus.com>
4156
4157         * include/cni.h (JvThrow): New function.
4158         * include/javaprims.h (_Jv_Throw): Declare.
4159
4160 Wed Sep  2 14:07:48 1998  Warren Levy  <warrenl@cygnus.com>
4161
4162         * java/util/Observable.java: Rewritten.
4163
4164 Wed Sep  2 13:36:57 1998  Tom Tromey  <tromey@cygnus.com>
4165
4166         * prims.cc (_Jv_MonitorExit): Assert that object is non-null.
4167         (_Jv_MonitorEnter): Throw NullPointerException if object is null.
4168         Include NullPointerException.h.
4169
4170 Tue Sep  1 12:07:35 1998  Tom Tromey  <tromey@cygnus.com>
4171
4172         * java/lang/natSystem.cc (arraycopy): Removed overlapping-copy
4173         assignability checks.  Don't bother using memcpy.
4174
4175         * quick-threads.cc (JvPrivThreadStart): Don't call coop_start.
4176         (started): Removed.
4177         * include/quick-threads.h (JvPrivThreadWait): New function.
4178         * include/no-threads.h (JvPrivThreadWait): New function.
4179         * include/posix-threads.h (JvPrivThreadWait): New function.
4180         * prims.cc (JvRunMain): Call JvPrivThreadWait.
4181
4182         * java/lang/natSystem.cc (arraycopy): Do nothing if count is 0.
4183
4184         * java/lang/natSystem.cc (arraycopy): Multiply both src and dst
4185         offsets by size of type that is being copied.
4186
4187         * java/lang/natThread.cc (start): Don't pass `object' argument to
4188         JvPrivThreadStart.
4189         * no-threads.cc (JvPrivThreadStart): Removed `object' argument.
4190         * posix-threads.cc (JvPrivThreadStart): Removed `object'
4191         argument.
4192         * quick-threads.cc (JvPrivThreadStart): Removed `object' argument;
4193         always pass thread as object.
4194         * include/quick-threads.h, include/posix-threads.h,
4195         include/no-threads.h (JvPrivThreadStart): Removed `object'
4196         argument.
4197
4198 Mon Aug 31 19:11:53 1998  Warren Levy  <warrenl@cygnus.com>
4199
4200         * java/util/Dictionary.java: Rewritten.
4201
4202 Mon Aug 31 14:35:55 1998  Tom Tromey  <tromey@cygnus.com>
4203
4204         * include/quick-threads.h (JvPrivThreadInitData): Use 0, not NULL.
4205         (JvPrivThreadDestroy): Likewise.
4206         
4207 Mon Aug 31 12:56:01 1998  Warren Levy  <warrenl@cygnus.com>
4208
4209         * java/lang/natRuntime.cc (exit): Changed final call to ::exit.
4210
4211 Thu Aug 27 12:24:40 1998  Tom Tromey  <tromey@cygnus.com>
4212
4213         * java/lang/natSystem.cc: Rewrote from scratch.
4214         * java/lang/System.java: Rewrote from scratch.
4215         * java/lang/Class.h (Class): Declare isAssignableFrom.
4216         * include/javaprims.h (java::lang): Added ArrayStoreException,
4217         IndexOutOfBoundsException.
4218         * Makefile.in: Rebuilt.
4219         * Makefile.am (nat_headers): Added ArrayStoreException.h,
4220         IndexOutOfBoundsException.h.
4221         * java/lang/natObject.cc (hashCode): Use _Jv_HashCode.
4222         * include/jvm.h (_Jv_HashCode): New function.
4223
4224         * java/lang/natThread.cc (suspend): Call checkAccess.
4225         (resume): Likewise.
4226         * java/lang/Thread.java (setDaemon): Call checkAccess.
4227
4228 Thu Aug 27 12:24:40 1998  Tom Tromey  <tromey@cygnus.com>
4229
4230         * java/lang/Runtime.java: Rewrote from scratch.
4231         * java/lang/natRuntime.cc: Rewrote from scratch.
4232
4233         * nogc.cc (JvPrivGCTotalMemory): New function.
4234         (JvPrivGCFreeMemory): Likewise.
4235         (total): New global.
4236         (JvPrivAllocObj): Increment total.
4237         (JvPrivAllocArray): Likewise.
4238         (JvPrivAllocBytes): Likewise.
4239         * include/jvm.h: Declare JvPrivGCTotalMemory, JvPrivGCFreeMemory.
4240         * boehm.cc (JvPrivGCTotalMemory): New function.
4241         (sum_blocks): Likewise.
4242         (JvPrivGCFreeMemory): Likewise.
4243
4244 Wed Aug 26 12:30:32 1998  Tom Tromey  <tromey@cygnus.com>
4245
4246         * include/javaprims.h (java::lang): Added FirstThread.
4247         * java/lang/natFirstThread.cc: New file.
4248         * java/lang/FirstThread.java: New file.
4249         * prims.cc (main_signature): Removed.
4250         (main_name): Removed.
4251         #include FirstThread.h.
4252         * Makefile.in: Rebuilt.
4253         * Makefile.am (TFRIEND): Removed.
4254         (java/lang/Thread.h): Likewise.
4255         (FTFRIEND): New macro.
4256         (java/lang/FirstThread.h): New target.
4257         (nat_files): Added natFirstThread.o.
4258         (nat_headers): Added FirstThread.h.
4259         * include/jvm.h (_Jv_StartFirstThread): Don't declare.
4260         * java/lang/natThread.cc (_Jv_StartFirstThread): Removed.
4261
4262         * java/lang/Thread.java (setName): Throw IllegalArgumentException
4263         if name is null.
4264         (Thread): Likewise.
4265
4266         * java/lang/natThread.cc (start): Synchronize the thread.
4267         (stop): Synchronize the thread.
4268
4269         * java/lang/ThreadDeath.java: Rewrote from scratch.
4270
4271         * Makefile.in: Rebuilt.
4272         * Makefile.am (TGFRIEND): New macro.
4273         (java/lang/ThreadGroup.h): New target.
4274         ($(nat_files) prims.o boehm.o nogc.o): Native files depend on the
4275         native headers.
4276         ($(javao_files) $(nat_files) prims.o boehm.o nogc.o): Removed.
4277
4278         * nogc.cc: Include config.h.
4279
4280         * java/lang/ThreadGroup.java: Rewrote from scratch.
4281
4282 Tue Aug 25 00:12:54 1998  Tom Tromey  <tromey@cygnus.com>
4283
4284         * java/lang/Thread.java (checkAccess): Only call in to security
4285         manager if it exists.
4286         (Thread): Don't check access when creating the first thread.  Add
4287         this thread to the appropriate ThreadGroup.
4288
4289         * java/lang/natThread.cc (run_): Call uncaughtException method on
4290         the ThreadGroup.
4291
4292         * java/lang/Runnable.java: Rewrote from scratch.
4293         * java/lang/Thread.java: Updated copyright comment to correct
4294         form.
4295
4296 Wed Aug 26 15:16:18 1998  Warren Levy  <warrenl@cygnus.com>
4297
4298         * java/util/Random.java: Rewritten.
4299
4300 Wed Aug 26 14:25:39 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
4301
4302         * prims.cc (_Jv_NewMultiArray): Need one more slot to store
4303         trailing 0 in array[].
4304
4305 Wed Aug 26 12:21:06 1998  Anthony Green  <green@cygnus.com>
4306
4307         * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT, 
4308         and RUNTESTFLAGS from AM_MAKEFLAGS.
4309         (SUBDIRS): Conditionally include testsuite.
4310         * Makefile.in: Rebuilt.
4311
4312 Tue Aug 25 18:14:53 1998  Anthony Green  <green@cygnus.com>
4313
4314         * java/lang/Object.h: Include java-assert.h.
4315
4316 Tue Aug 25 17:33:57 1998  Anthony Green  <green@cygnus.com>
4317
4318         * Makefile.am: Add testsuite directory.
4319         * configure.in: Build testsuite/Makefile.
4320         * Makefile.in, configure: Rebuilt.
4321         
4322 Tue Aug 25 00:12:54 1998  Tom Tromey  <tromey@cygnus.com>
4323
4324         * prims.cc (JvRunMain): Use _Jv_StartFirstThread.
4325         * include/jvm.h (_Jv_StartFirstThread): Declare.
4326
4327         * include/javaprims.h (java::lang): Added Exception,
4328         RuntimeException.
4329
4330         * Makefile.in: Rebuilt.
4331         * Makefile.am (nat_headers): Added NullPointerException.h,
4332         InterruptedException.h, IllegalArgumentException.h, Exception.h,
4333         Throwable.h, RuntimeException.h, IllegalThreadStateException.h.
4334         (java/lang/Thread.h): New target.
4335         (TFRIEND): New macro
4336
4337         * include/java-assert.h (JvFail): Use 0 and not NULL.
4338
4339         * posix-threads.cc (JvPrivThreadStart): Use getPriority() method
4340         instead of assuming we are a friend of Thread.
4341         * quick-threads.cc (JvPrivThreadStart): Use isDaemon() method
4342         instead of assuming we are a friend of Thread.
4343
4344 Mon Aug 24 15:58:36 1998  Tom Tromey  <tromey@cygnus.com>
4345
4346         * java/lang/natThread.cc: Rewrote from scratch.
4347         * java/lang/Thread.java: Rewrote from scratch.
4348         * prims.cc (JvRunMain): Use new Thread constructor.
4349         * include/javaprims.h (java::lang): Added InterruptedException.
4350         * Makefile.in: Rebuilt.
4351         * Makefile.am (nat_headers): Added java/lang/Thread.h.
4352         * java/lang/Thread.h: Removed.
4353         * quick-threads.cc (JvPrivThreadStart): Added `data' argument.
4354         * no-threads.cc (JvPrivThreadStart): Added JvPrivThread_t
4355         argument.
4356         * posix-threads.cc (JvPrivThreadJoin): Removed.
4357         (JvPrivThreadInitData): Don't initialize join_mutex or join_cond.
4358         (really_start): Don't notify join_cond.
4359         (JvPrivThreadStart): Added `data' argument.
4360         * include/no-threads.h (JvPrivThreadInterrupt): Removed.
4361         (JvPrivThreadJoin): Likewise.
4362         Use JvFail instead of sorry.
4363         (JvPrivThreadSuspend): Removed.
4364         (JvPrivThreadResume): Removed.
4365         * include/quick-threads.h (JvPrivThreadInterrupt): Removed.
4366         (JvPrivThreadJoin): Likewise.
4367         (JvPrivThreadSuspend): Use JvFail.
4368         (JvPrivThreadResume): Likewise.
4369         (JvPrivThreadSuspend): Removed.
4370         (JvPrivThreadResume): Likewise.
4371         * include/posix-threads.h (JvPrivThreadInterrupt): Removed.
4372         (JvPrivThread_t): Removed join_mutex, join_cond.
4373         Use JvFail instead of sorry.
4374         (JvPrivThreadSuspend): Removed.
4375         (JvPrivThreadResume): Likewise.
4376
4377 Tue Aug 25 12:50:13 1998  Warren Levy  <warrenl@cygnus.com>
4378
4379         * java/util/Observer.java: Rewritten
4380         * java/util/Enumeration.java: Rewritten
4381
4382 Tue Aug 25 11:33:54 1998  Warren Levy  <warrenl@cygnus.com>
4383
4384         * java/util/StringTokenizer.java: Rewritten
4385         * java/util/Stack.java: Added COPYRIGHT-TBD comment
4386         * java/util/Vector.java: Added COPYRIGHT-TBD comment
4387         * java/io/Serializable.java: Added COPYRIGHT-TBD comment
4388         
4389 Fri Aug 21 10:14:22 1998  Tom Tromey  <tromey@cygnus.com>
4390
4391         * include/java-assert.h (JvFail): Call _Jv_Abort even when DEBUG
4392         not defined.
4393
4394         * no-threads.cc (JvPrivThreadStart): Use JvAssert.
4395         Include java-assert.h.
4396         * include/java-assert.h: New file.
4397         * prims.cc (_Jv_Abort): New function.
4398         Include java-assert.h, not assert.h.
4399         (_Jv_MonitorExit): Use JvAssert.
4400         (resolveConstants): Likewise.
4401         (processClass): Likewise.
4402         (JvRunMain): Assert that method is found.
4403
4404         * configure: Rebuilt.
4405         * configure.in: Check for test subdir.
4406         * Makefile.in: Rebuilt.
4407         * Makefile.am (SUBDIRS): Conditional on TESTSUBDIR.
4408
4409         * prims.cc (JvRunMain): Use NORM_PRIORITY.
4410         * java/lang/Thread.h (Thread): Added NORM_PRIORITY.
4411
4412         * prims.cc (resolveConstants): Removed unused variables.
4413         (processClass): Likewise.
4414
4415         * include/quick-threads.h (JvPrivThreadCurrent): Use
4416         coop_getspecific.
4417         * quick-threads.cc (destroy_data): New function.
4418         (JvPrivInitThreads): Create key.
4419         (JvPrivThreadKey): New global.
4420         (JvPrivThreadStart): Use coop_setspecific.
4421
4422         * include/quick-threads.h, include/posix-threads.h,
4423         include/no-threads.h, no-threads.cc, quick-threads.cc,
4424         posix-threads.cc, nogc.cc, boehm.cc: Added copyright comment.
4425
4426 Thu Aug 20 10:57:30 1998  Tom Tromey  <tromey@cygnus.com>
4427
4428         * include/no-threads.h (JvPrivThreadInitData): Don't set
4429         JvPrivOnlyThread.
4430
4431         * include/quick-threads.h (JvPrivCondWait): coop function now
4432         takes microseconds.
4433         (JvPrivThreadJoin): Likewise.
4434
4435         * java/lang/Thread.h (Thread): Updated declaration of
4436         JvPrivThreadStart.
4437         * include/quick-threads.h, include/posix-threads.h: Updated
4438         declaration of JvPrivThreadStart.
4439         * include/no-threads.h (JvPrivThreadStart): Changed definition
4440         into declaration.
4441         * no-threads.cc (JvPrivThreadStart): Removed `data' argument.
4442         * quick-threads.cc (JvPrivThreadStart): Removed `data' argument.
4443         * posix-threads.cc (JvPrivThreadStart): Removed `data' argument.
4444
4445 Wed Aug 19 14:53:59 1998  Tom Tromey  <tromey@cygnus.com>
4446
4447         * quick-threads.cc (qthrow): New function.
4448         (JvPrivInitThreads): New function.
4449         (started): New global.
4450         (JvPrivThreadStart): Call coop_start if required.
4451         * include/quick-threads.h (JvPrivThreadCancel): Implement.
4452         (JvPrivThreadDestroy): Likewise.
4453         (JvPrivInitThreads): Removed.
4454         * include/posix-threads.h (JvPrivThreadCancel): Added error
4455         argument.
4456         * java/lang/natThread.cc (stop_): Pass exception to
4457         JvPrivThreadCancel.
4458
4459 Tue Aug 18 12:58:22 1998  Tom Tromey  <tromey@cygnus.com>
4460
4461         * include/javaprims.h (java::lang): Added
4462         IllegalArgumentException, IllegalThreadStateException, Math,
4463         NullPointerException, ThreadDeath.
4464         (java::util): Added Enumeration.
4465
4466         * Makefile.in: Rebuilt.
4467         * Makefile.am (nat_headers): Added java/lang/ThreadGroup.h.
4468
4469         * java/lang/ThreadGroup.java (ThreadGroup): No-args constructor
4470         now public.
4471         (threadsv): Renamed from threads to avoid clash in C++ header.
4472         (groupsv): Likewise.
4473         * include/no-threads.h (JvPrivThreadStart): Removed.
4474         * no-threads.cc (JvPrivThreadStart): New function.
4475         * java/lang/Thread.java (Thread): New constructor for internal use.
4476         * java/lang/Thread.h (Thread): Declare JvRunMain as friend.
4477         (Thread): Declare constructor.
4478         * prims.cc (JvRunMain): Create the initial Thread and
4479         ThreadGroup.
4480         Include <java/lang/Thread.h> and <java/lang/ThreadGroup.h>.
4481         * posix-threads.cc (JvPrivThreadStart): Added `thread' argument.
4482         Removed `daemon' argument.
4483
4484         * prims.cc (JvRunMain): Call _Jv_InitializeSyncMutex.
4485         * java/lang/Object.h (Object): Declare _Jv_InitializeSyncMutex as
4486         a friend.
4487         * java/lang/natObject.cc (_Jv_InitializeSyncMutex): New function.
4488
4489         * Makefile.in: Rebuilt.
4490         * Makefile.am (INCLUDES): Include THREADINCS.
4491
4492         * configure: Rebuilt.
4493         * configure.in: Recognize `qt' as a threads package.
4494
4495 Thu Aug 20 12:42:32 1998  Warren Levy  <warrenl@cygnus.com>
4496
4497         * java/util/Stack.java (pop): Null out topmost node for robustness.
4498
4499 Thu Aug 20 12:30:30 1998  Warren Levy  <warrenl@cygnus.com>
4500
4501         * java/util/Stack.java: Rewritten.
4502         * java/util/Vector.java (isEmpty): Simplified expression.
4503
4504 Wed Aug 19 18:02:19 1998  Warren Levy  <warrenl@cygnus.com>
4505
4506         * prims.cc (_Jv_NewObjectArray): Renamed from JvNewObjectArray.
4507         (soft_anewarray): Removed, _Jv_NewObjectArray used instead.
4508
4509         * include/java-array.h (JvNewObjectArray): Created inline to
4510         _Jv_NewObjectArray.
4511
4512         * java/lang/Class.h (_Jv_NewObjectArray): Renamed from
4513         JvNewObjectArray.
4514         
4515 Wed Aug 19 14:12:02 1998  Warren Levy  <warrenl@cygnus.com>
4516
4517         * java/util/Vector.java: Rewritten.
4518         * java/io/Serializable.java: Created.
4519
4520 Fri Aug 14 10:31:54 1998  Tom Tromey  <tromey@cygnus.com>
4521
4522         * java/lang/Float.java (NEGATIVE_INFINITY, POSITIVE_INFINITY):
4523         Infinity is 1/0, not 1/1.
4524
4525         * boehm.cc (JvPrivAllocArray): Use GC_generic_malloc.
4526
4527         * configure: Rebuilt.
4528         * configure.in: Removed duplicate AC_ARG_WITH.
4529
4530 Thu Aug 13 14:51:47 1998  Warren Levy  <warrenl@cygnus.com>
4531
4532         * prims.cc (_Jv_ThrowBadArrayIndex): Renamed from
4533         soft_badarrayindex.
4534         (_Jv_InitClass): Renamed from soft_initialise_class.
4535         (_Jv_NewMultiArray): Renamed from soft_multianewarray.
4536         (_Jv_CheckCast): Renamed from soft_checkcast.
4537         (_Jv_LookupInterfaceMethod): Renamed from soft_lookupinterfacemethod.
4538         (_Jv_CheckArrayStore): Renamed from soft_checkarraystore.
4539         (JvRunMain): Call JvInitClass instead of soft_initialise_class.
4540         * include/cni.h (JvInitClass): New function.
4541         (_Jv_InitClass): Renamed from soft_initialise_class.
4542
4543 Wed Aug 12 10:07:04 1998  Tom Tromey  <tromey@cygnus.com>
4544
4545         * configure: Rebuilt.
4546         * configure.in (CXX): Don't set.
4547         * Makefile.in: Rebuilt.
4548         * Makefile.am (AM_CXXFLAGS): New macro.
4549
4550         * Makefile.in: Rebuilt.
4551         * Makefile.am ($(javao_files) $(nat_files) prims.o boehm.o
4552         nogc.o): New target.
4553
4554         * boehm.cc (mark_obj): Update PUSH_CONTENTS call for new Boehm
4555         GC.
4556         (mark_array): Likewise.
4557
4558 Tue Aug 11 11:44:53 1998  Per Bothner  <bothner@cygnus.com>
4559
4560         * java/lang/Class.h (JvMethod):  Removed some unused fields.
4561         (JvField.info):  Removed unused idx union variant.
4562
4563 Mon Aug 10 15:00:14 1998  Tom Tromey  <tromey@cygnus.com>
4564
4565         * prims.cc (makeUtf8Const): Mask off high bits of hash value to
4566         match compiler.
4567
4568 Mon Aug  3 16:13:54 1998  Per Bothner  <bothner@cygnus.com>
4569
4570         * configure.in, configure (CXX):  Add -fvtable-thunks.
4571
4572 Thu Jul 30 14:34:47 1998  Per Bothner  <bothner@cygnus.com>
4573
4574         * java/lang/Object.java (finalize):  Move first.
4575         * java/lang/Object.h (_JvObjectPrefix):  New dummy base class.
4576         (Object):  Re-arrange order to match Object.java.
4577
4578 Tue Jul 28 21:42:16 1998  Per Bothner  <bothner@cygnus.com>
4579
4580         * prims.cc (hashUtf8String):  Fix - use new JavaSoft specification.
4581         * java/lang/natString.cc (hashChars):  Likewise.
4582
4583         * prims.cc (RuntimeClass):  New macro.
4584         (JvRunMain):  Do soft_initialise_class of RuntimeClass before exit.
4585
4586 Mon Jul 27 22:20:10 1998  Tom Tromey  <tromey@cygnus.com>
4587
4588         * Makefile.in: Rebuilt.
4589         * Makefile.am (AM_MAKEFLAGS): New macro.
4590
4591 Fri Jul 24 11:21:24 1998  Tom Tromey  <tromey@cygnus.com>
4592
4593         * nogc.cc: Include <javaprims.h>.
4594
4595         * Makefile.in: Rebuilt.
4596         * Makefile.am (GJAVAH): gjavah no longer in java subdir.
4597
4598 Thu Jul 23 11:38:40 1998  Tom Tromey  <tromey@cygnus.com>
4599
4600         * exception.cc (terminate): Removed.
4601         (unexpected): Removed.
4602
4603         * configure: Rebuilt.
4604         * configure.in: Handle case where target subdir is ".".
4605
4606         * configure: Rebuilt.
4607         * configure.in: Compute COMPPATH based on --with-target-subdir
4608         option.  Added --with-target-subdir and --with-cross-host.  Use
4609         --with-cross-host to determine when a cross compiler is in use.
4610
4611         * Makefile.in: Rebuilt.
4612         * Makefile.am (GJAVAH): Include COMPPATH.
4613         * configure: Rebuilt.
4614         * configure.in: Subst COMPPATH.
4615
4616 Mon Jul 20 16:13:43 1998  Tom Tromey  <tromey@cygnus.com>
4617
4618         * prims.cc (lockMutex): Removed.
4619         (unlockMutex): Likewise.
4620         (processClass): Lock the class using a JvSynchronize object.
4621
4622 Fri Jul 17 11:27:48 1998  Tom Tromey  <tromey@cygnus.com>
4623
4624         * java/lang/natString.cc (gc_calloc_fixed): Removed.
4625         (gc_free_fixed): Removed.
4626         (rehash): Use JvPrivAllocBytes, not gc_calloc_fixed; don't bother
4627         freeing old value of strhash.
4628
4629         * exception.cc (_Jv_type_matcher): Cast first argument to
4630         _Jv_IsInstanceOf.
4631
4632 Thu Jul 16 14:51:44 1998  Tom Tromey  <tromey@cygnus.com>
4633
4634         * include/java-array.h (jstringArray): New type.
4635         * java/lang/natSystem.cc (setProperty): Removed.
4636         (initProperties): Directly call JvNewStringLatin1 for arguments.
4637         * java/util/natDate.cc: Include java/util/Date.h, not
4638         java-util.h.
4639         (setTime): Removed.
4640         * java/io/FileDescriptor.java (available): No longer static.
4641         * java/lang/natDouble.cc (Double): Removed class definition.
4642         * include/javaprims.h (java::lang::Number): Declare.
4643         (java::lang::NumberFormatException): Likewise.
4644         (java::io::FilenameFilter): Likewise.
4645         (java::lang::Character): Likewise.
4646         (java::lang::Error): Likewise.
4647         (java::lang::SecurityManager): Likewise.
4648         (java::util::Vector): Likewise.
4649         (java::io::FileNotFoundException): Likewise.
4650         (java::io::IOException): Likewise.
4651         (java::lang::NativeLang): Likewise.
4652         (java::lang::UnsatisfiedLinkError): Likewise.
4653         (java::util::StringTokenizer): Likewise.
4654         (java::io::InputStream, java::io::OutputStream): Likewise.
4655         (java::io::PrintStream, java::lang::SecurityException): Likewise.
4656         (java::util::Hashtable): Likewise.
4657         * Makefile.in: Rebuilt.
4658         * Makefile.am (nat_headers): Added java/lang/Double.h,
4659         java/lang/Number.h, java/lang/System.h, java/lang/Runtime.h.
4660         (MOSTLYCLEANFILES): Added nat_headers.
4661         * include/jvm.h: Moved many defines, declarations, and functions
4662         to java/lang/Class.h.
4663         (struct JvSyncInfo): Moved to java/lang/Object.h.
4664         (UTF8_GET): Moved to java/lang/String.h.
4665
4666 Wed Jul 15 09:02:31 1998  Tom Tromey  <tromey@cygnus.com>
4667
4668         * java/io/io-defs.h: Don't include java-io.h.
4669         * include/java-io.h: Removed.
4670         * include/javaprims.h: Include java::io.
4671
4672 Tue Jul 14 17:04:26 1998  Tom Tromey  <tromey@cygnus.com>
4673
4674         * include/java-io.h (File): Removed
4675         (FileDescriptor): Likewise.
4676
4677         * java/io/io-defs.h: Include java/io/File.h and
4678         java/io/FileDescriptor.h.
4679
4680         * Makefile.in: Rebuilt.
4681         * Makefile.am (GJAVAH): New macro.
4682         (.class.h): New rule.
4683         (SUFFIXES): Added .h.
4684         (nat_headers): New macro.
4685         ($(nat_headers)): New target.
4686         (BUILT_SOURCES): Added nat_headers.
4687
4688         * include/java-util.h: Removed.
4689
4690 Fri Jul  3 10:17:14 1998  Tom Tromey  <tromey@cygnus.com>
4691
4692         * include/java-io.h: Changed to avoid java-lang.h.
4693         * java/lang/natThread.cc: Include java/lang/Thread.h, not
4694         java-lang.h.
4695         * java/lang/natSystem.cc: Include java/lang/System.h, not
4696         java-lang.h.
4697         * java/lang/natString.cc: Include java/lang/String.h, not
4698         java-lang.h.
4699         * java/lang/natRuntime.cc: Include java/lang/Runtime.h, not
4700         java-lang.h.
4701         * java/lang/natClass.cc: Include java/lang/Class.h, not
4702         java-lang.h.
4703         * java/lang/natDouble.cc: Include java/lang/Object.h, not
4704         java-lang.h.
4705         * java/lang/natObject.cc: Include java/lang/Object.h, not
4706         java-lang.h.
4707         * exception.cc: Don't include java-lang.h.
4708         * posix-threads.cc: Include java/lang/Thread.h, not java-lang.h.
4709         * no-threads.cc: Include java/lang/Thread.h, not java-lang.h.
4710         * nogc.cc: Don't include java-lang.h.
4711         * boehm.cc: Include java/lang/Class.h, not java-lang.h.
4712         * prims.cc (processClass): Don't use `init_type'; just cast to
4713         type directly.
4714         Include java/lang/Class.h and jvm.h, not java-lang.h.
4715         (JvAllocObject): Wrote single-argument version.
4716         (PrimClass): Inherit from Class.
4717         (initPrimClass): Removed.
4718         * include/java-lang.h: Removed.
4719         * include/jvm.h: Declare struct _dispatchTable.
4720         * include/cni.h: Don't declare _Jv_MonitorEnter,
4721         _Jv_MonitorExit, struct _dispatchTable.
4722         * include/javaprims.h: Moved all typedefs here, from cni.h.
4723         * java/lang/Class.h: New file.
4724         * include/java-array.h: New file.
4725         * java/lang/Object.h: New file.
4726
4727         * prims.cc (classFromSig): Now static.
4728
4729 Wed Jul  1 12:28:48 1998  Tom Tromey  <tromey@cygnus.com>
4730
4731         * include/cni.h: Don't mention soft_new.
4732         * include/java-lang.h (Object): Don't mention soft_new.  Mention
4733         _Jv_NewPrimArray, not newPrimArray.
4734         * prims.cc (soft_new): Removed.
4735         (_Jv_NewArray): Renamed from soft_newarray.
4736         (soft_anewarray): Use JvNewObjectArray.
4737         (newArray): Likewise.
4738         (newRefArray): Removed.
4739         (_Jv_NewPrimArray): Renamed from newPrimArray.
4740         (equalUtf8Consts): Now static.
4741         (soft_instanceof): Removed.
4742         * java/lang/natDouble.cc (doubleToString): Now static.
4743
4744         * java/lang/natDouble.cc (java_lang_Double_doubleToLongBits,
4745         java_lang_Double_longBitsToDouble, java_lang_Double_toString):
4746         Removed.
4747
4748 Tue Jun 30 10:54:57 1998  Tom Tromey  <tromey@cygnus.com>
4749
4750         * include/java-lang.h: Renamed functions to _Jv_MonitorEnter and
4751         _Jv_MonitorExit.
4752         * include/cni.h: Renamed functions to _Jv_MonitorEnter and
4753         _Jv_MonitorExit.
4754         * include/no-threads.h (JvPrivMutexLock): Always return -1.
4755         (JvPrivMutexUnlock): Likewise.
4756         * prims.cc (_Jv_MonitorEnter): Renamed from soft_monitorenter.
4757         Return value now jint.
4758         (_Jv_MonitorExit): Renamed from soft_monitorexit.  Return value
4759         now jint.
4760
4761         * Makefile.in: Rebuilt.
4762         * Makefile.am: Don't allow `jV' names.
4763         (maintainer-check): Depend on libjava.a.
4764         * exception.cc (_Jv_eh_free): Renamed from __jV_eh_free.
4765
4766         * Makefile.in: Rebuilt.
4767         * Makefile.am (NM): New macro.
4768         (maintainer-check): New target.
4769
4770         * include/posix-threads.h (_MIT_POSIX_THREADS): Removed.
4771
4772         * configure: Rebuilt.
4773         * configure.in: Use --enable-threads, not --enable-gc.  Fix
4774         documentation for --enable-threads.  Changed option to work like
4775         identical option in gcc/configure.
4776
4777 Mon Jun 29 10:44:29 1998  Tom Tromey  <tromey@cygnus.com>
4778
4779         * boehm.cc (mark_array): Use JvGetArrayLength.
4780
4781 Thu Jun 25 11:56:21 1998  Per Bothner  <bothner@cygnus.com>
4782
4783         * exception.cc:  New file (mostly written by Andrew MacLeod),
4784         exception handling support.
4785         * Makefile.am (libjava_a_SOURCES), Makefile.in:  Add exception.cc.
4786         Remove -fexceptions - it is now the default.
4787
4788         * prims.cc (JvIsInstanceOf):  Renamed to _Jv_IsInstanceOf.
4789         (JvAllocObject):  Renamed to _Jv_AllocObject.
4790         (soft_athrow):  Removed.  Replaced by _Jv_Throw in exception.cc.
4791         (loadClass):  Renamed to _Jv_FindClass.
4792         * include/cni.h (JvIsInstanceOf, JvAllocObject).  Make into
4793         inline methods that call _Jv_IsInstanceOf and _Jv_AllocObject.
4794         * include/java-lang.h (JvGetArrayLength):  New CNI function.
4795         * include/jvm.h (_Jv_FindClass):  Added declaration.
4796
4797         * java/lang/natString.cc:  More implementation if COMPACT_STRINGS.
4798
4799 Wed Jun 24 16:41:30 1998  Per Bothner  <bothner@cygnus.com>
4800
4801         * java/lang/natClass.cc (getName):  Add implementation.
4802         * java/lang/Throwable.java (printStackTrace): Handle missing backtrace.
4803
4804 Tue Jun 23 15:56:24 1998  Tom Tromey  <tromey@cygnus.com>
4805
4806         * Makefile.in: Rebuilt.
4807         * Makefile.am (.class.o): Added -fexceptions.
4808
4809 Mon Jun 15 14:54:06 1998  Tom Tromey  <tromey@cygnus.com>
4810
4811         * configure: Rebuilt.
4812         * configure.in: Don't check for __nanosleep.
4813         * posix-threads.cc (nanosleep): Never define.
4814
4815 Sun Jun 14 22:37:23 1998  Tom Tromey  <tromey@cygnus.com>
4816
4817         * posix-threads.cc (JvPrivCondWait): Fixed computation of
4818         timespec.
4819
4820 Thu Jun 11 10:51:44 1998  Tom Tromey  <tromey@cygnus.com>
4821
4822         * java/lang/natThread.cc (enumerate): Uncommented.
4823         * java/lang/Thread.java (interrupted_): Renamed from `interrupt_'.
4824         (interrupt): Call it.
4825
4826 Wed Jun 10 15:57:16 1998  Tom Tromey  <tromey@cygnus.com>
4827
4828         * configure: Rebuilt.
4829         * configure.in (GCLIBS): Use `-lgc' so gjavac can recognize it.
4830
4831 Mon Jun  8 12:04:11 1998  Tom Tromey  <tromey@cygnus.com>
4832
4833         * include/no-threads.h (JvPrivThreadInterrupt): New method.
4834         * include/java-lang.h (Thread): Added `interrupted_' method.
4835         * java/lang/Thread.java (interrupted_): New method.
4836         * java/lang/natThread.cc (join): Possibly throw interrupted
4837         exception after join finishes.
4838         (interrupted_): New method.
4839         * posix-threads.cc (JvPrivThreadInitData): Initialize join_mutex,
4840         join_cond.
4841         (JvPrivThreadJoin): New function.
4842         (really_start): Notify all threads waiting for this thread.
4843         (struct starter): Added `data' member.
4844         (JvPrivThreadStart): Set it.
4845         * include/posix-threads.h (JvPrivThread_t): Added join_mutex,
4846         join_cond.
4847         (JvPrivThreadJoin): No longer inline.
4848         (JvPrivThreadInterrupt): New function.
4849
4850         * include/no-threads.h (JvPrivThreadSleep): Removed.
4851         * posix-threads.cc (JvPrivThreadSleep): Removed.
4852
4853 Fri Jun  5 13:51:25 1998  Tom Tromey  <tromey@cygnus.com>
4854
4855         * configure: Rebuilt.
4856         * configure.in (THREADOBJS): Initialize to no-threads.o in
4857         no-threads case.
4858         * posix-threads.cc (key): New global.
4859         (JvPrivInitThreads): New function.
4860         (really_start): Set thread-specific data to point to object.
4861         (JvPrivThreadStart): Added `daemon' argument.
4862         (JvPrivThreadSleep): Added `data' argument.
4863         * include/posix-threads.h (JvPrivInitThreads): Removed
4864         implementation.
4865         (JvPrivThreadCurrent): New function.
4866         * include/no-threads.h (JvPrivThreadInitData): Initialize
4867         JvPrivOnlyThread.  Added `thread' argument.
4868         (JvPrivThreadCurrent): New function.
4869         (JvPrivThreadStart): Added `daemon' argument.
4870         * no-threads.cc: New file.
4871         * java/lang/natThread.cc (init_data): New function.
4872         (isAlive): Removed.
4873         (start): Set `alive' member.
4874         (stop_): Clear `alive' member.
4875         (destroy): Likewise.
4876         (currentThread): Implemented.
4877         (start): Pass `daemon' argument to JvPrivThreadStart.
4878         (sleep): Rewrote.
4879         * include/java-lang.h (Thread): Added `alive', `tsync' members.
4880         (Thread): Added `init_data' method.
4881         * java/lang/Thread.java (alive, data): New instance variables.
4882         (init_data): New private method.
4883         (isAlive): No longer native.
4884
4885 Thu Jun  4 14:09:32 1998  Tom Tromey  <tromey@cygnus.com>
4886
4887         * include/java-lang.h (JvRunMain): Declare.
4888         * include/jvm.h (JvPrivInitGC): Revert to C++ linkage.
4889         * prims.cc (JvRunMain): New function.
4890         (main_signature, main_name): New globals.
4891
4892         * boehm.cc (mark_array): Use `elements' function and not
4893         operator[] on jarray.
4894
4895         * posix-threads.cc: Include <config.h>.  Define nanosleep if
4896         required.
4897
4898         * configure: Rebuilt.
4899         * configure.in: Check for _nanosleep.
4900
4901         * configure: Rebuilt.
4902         * configure.in: Check for pthread_mutexattr_settype.
4903
4904         * include/cni.h (class JvSynchronize): New class.
4905         * java/lang/Thread.java (sleep): Throws InterruptedException.
4906         (join): Throws InterruptedException.
4907         (resume): Not native.
4908         (resume_): New method.
4909         (start): Now synchronized.
4910         (stop_): New method.
4911         (Thread): Synchronize when accessing threadNumber.
4912         (misc): Removed.
4913         * java/lang/natThread.cc (throwException): New macro.
4914         (sleep): Throw InterruptedException.
4915         (resume_): Renamed.
4916         (stop_): Renamed.
4917         * include/java-lang.h (Runtime): Added interrupted().
4918
4919         * boehm.cc (call_finalizer): Correctly initialize jobj.
4920         * include/java-lang.h (Runtime): Added getRuntime() and exit().
4921
4922         * java/lang/natSystem.cc (currentTimeMillis): Use #elif, not
4923         `#elseif'.
4924
4925         * configure: Rebuilt.
4926         * configure.in: Added support for --disable-threads.
4927         * include/no-threads.h: New file.
4928
4929         * acconfig.h (HAVE_PTHREAD_MUTEXATTR_INIT): New macro.
4930
4931         * Makefile.in: Rebuilt.
4932         * Makefile.am (EXTRA_libjava_a_SOURCES): Added posix-threads.cc.
4933         (libjava_a_DEPENDENCIES): Added THREADOBJS.
4934         (libjava_a_LIBADD): Added THREADOBJS.
4935         * configure: Rebuilt.
4936         * configure.in: Added --with-threads option.
4937         * posix-threads.cc: New file.
4938         * include/posix-threads.h: New file.
4939         * include/java-lang.h (Object): Added static member sync_mutex,
4940         member sync_info, method init_mutex.
4941         (struct JvSyncInfo): New struct.
4942         Include "java-threads.h".
4943         * prims.cc (soft_monitorenter): Wrote.
4944         (soft_monitorexit): Likewise.
4945         * java/lang/natObject.cc (init_mutex): New method.
4946         (notify): Wrote.
4947         (notifyAll): Wrote.
4948         (wait): Wrote.
4949         (sync_mutex): Define.
4950         Include "java-threads.h".
4951
4952 Tue Jun  2 15:24:33 1998  Per Bothner  <bothner@cygnus.com>
4953
4954         * include/java-lang.h (JvPrivInitGC):  Make extern "C".
4955         * include/jvm.h (JvConvertArgv, JvNewObjectArray):  Likewise.
4956
4957 Mon Jun  1 11:21:34 1998  Per Bothner  <bothner@cygnus.com>
4958
4959         * include/cni.h (jbyte etc):  Re-define using __java_byte etc.
4960         Added extern "Java" in places to tell G++ Object is a "Java" type.
4961         Other minor renaming and fixes.
4962         * include/java-io.h (FileDescriptor):  Add friend class declarations.
4963         G++ no longer allows non-Java types in method parameters and results
4964         of Java classes.  Converted most offending methods to friends.
4965         * java/lang/natDouble.cc (Double::toString):  Rename to doubleToString.
4966         * java/lang/natSystem.cc (setProperty):  Make friend.
4967         * java/lang/natString.cc, include/java-lang.h (String):  Rename
4968         methods findInternSlot to __JvStringFindSlot and __JvStringGetSlot.
4969         * include/java-lang.h (JArray):  Remove getData and eoprator[].
4970         Add elements friend function instead.
4971         * java/lang/natSystem.cc (arraycopy):  Use elements function.
4972         * java/io/natFileDescriptor.cc (read, write):  Likewise.
4973         * include/java-lang.h (Object):  Remove unused make method.
4974         (System::setProperty(char*,char*)): Turn into friend function.
4975         (Class):  Rename newObject by JvAllocObject.
4976         * prims.cc:  Update to use JvAllocObject, and elements.
4977
4978         * java/lang/natDouble.cc:  Fix double -> jdouble.
4979
4980 Wed May 20 16:50:06 1998  Per Bothner  <bothner@cygnus.com>
4981
4982         * Makefile.am (INCLUDES):  Add -Iinclude (to get config.h).
4983
4984 Mon May 18 13:46:02 1998  Tom Tromey  <tromey@cygnus.com>
4985
4986         * java/lang/natRuntime.cc (finalize_on_exit): Define.
4987         * include/java-lang.h (Runtime): finalize_on_exit and
4988         runFinalizersOnExit now static.
4989         * java/lang/Runtime.java (runFinalizersOnExit): Now static, to
4990         match JDK 1.2b3.
4991         (finalize_on_exit): Now static.
4992
4993         * boehm.cc (mark_obj): Get class using getClass() method on
4994         object.
4995         (_dispatchTable): Removed.
4996
4997 Mon May 11 15:26:52 1998  Tom Tromey  <tromey@cygnus.com>
4998
4999         * java/io/natFileDescriptor.cc (open_read): Only call open if
5000         HAVE_OPEN defined.
5001         (open_write): Likewise.
5002
5003         * Makefile.in: Rebuilt.
5004         * Makefile.am ($(nat_files)): Depend on config.h.
5005
5006 Thu May  7 16:22:00 1998  Tom Tromey  <tromey@cygnus.com>
5007
5008         * prims.cc (ObjectClass): Now a macro; updated for new class name
5009         mangling scheme.
5010         (StringClass): Likewise.
5011         (ClassClass): Likewise.
5012
5013 Wed May  6 00:26:44 1998  Tom Tromey  <tromey@cygnus.com>
5014
5015         * java/io/natFileDescriptor.cc (available): Do nothing unless
5016         HAVE_SELECT defined.
5017         * java/util/natDate.cc (setTime): Conditional on
5018         HAVE_GETTIMEOFDAY.
5019         (toString): Conditional on HAVE_TIME.
5020         * aclocal.m4, configure: Rebuilt.
5021         * acinclude.m4: New file.
5022         * configure.in: Don't actually call AM_EXEEXT.  Call
5023         AC_CANONICAL_HOST.  Use LIB_AC_PROG_CC and LIB_AC_PROG_CXX.  Added
5024         --with-target-subdir option.  Check for select and open
5025         functions.
5026
5027 Tue May  5 00:10:45 1998  Tom Tromey  <tromey@cygnus.com>
5028
5029         * boehm.cc (JvPrivRegisterFinalizer): Changed interface.
5030         (call_finalizer): Likewise.
5031         * nogc.cc (JvPrivRegisterFinalizer): Changed interface.
5032         * prims.cc (newObject): Pass actual method pointer to
5033         JvPrivRegisterFinalizer.
5034         * include/jvm.h (JvPrivFinalizerFunc): New typedef.
5035         (JvPrivRegisterFinalizer): Changed interface.
5036
5037         * Makefile.in: Rebuilt.
5038         * Makefile.am (MOSTLYCLEANFILES): New macro.
5039         (CLEANFILES): Removed javao_files.
5040
5041 Fri May  1 22:52:24 1998  Tom Tromey  <tromey@cygnus.com>
5042
5043         * nogc.cc: New file.
5044         * Makefile.in: Rebuilt.
5045         * Makefile.am (INCLUDES): Use GCINCS, not paths to boehm-gc.
5046         (EXTRA_libjava_a_SOURCES): New macro.
5047         (libjava_a_SOURCES): Removed boehm.cc.
5048         (libjava_a_DEPENDENCIES): Added GCOBJS.
5049         (libjava_a_LIBADD): Likewise.
5050         * configure: Rebuilt.
5051         * configure.in: Added code for --enable-gc=TYPE.
5052
5053 Thu Apr 30 14:54:00 1998  Tom Tromey  <tromey@cygnus.com>
5054
5055         * boehm.cc (mark_array): Don't further dereference pointer from
5056         array.
5057
5058         * boehm.cc: Include <boehm-config.h>, not <private/config.h>.
5059         * Makefile.in: Rebuilt.
5060         * Makefile.am (INCLUDES): Removed -I for boehm-gc/include; added
5061         one for boehm-gc build directory.
5062
5063 Wed Apr 29 09:45:19 1998  Tom Tromey  <tromey@cygnus.com>
5064
5065         * include/java-lang.h (finalize_on_exit): New instance variable in
5066         java::lang::Runtime.
5067         (runFinalizersOnExit): New method.
5068         * java/lang/Runtime.java (finalize_on_exit): New instance
5069         variable.
5070         (runAllFinalizers_): New private method.
5071         (runFinalizersOnExit): New method.
5072         * boehm.cc (JvPrivRunFinalizers): New function.
5073         (JvPrivRunAllFinalizers): Likewise.
5074         (JvPrivRunGC): Likewise.
5075         * java/lang/natRuntime.cc: Include "jvm.h".
5076         (gc): Call JvPrivRunGC.
5077         (runFinalization): Call JvPrivRunFinalizers.
5078         (runFinalizersOnExit): New method.
5079         (exit_): Call JvPrivRunAllFinalizers if required.
5080         * include/jvm.h: Declare JvPrivRunFinalizers,
5081         JvPrivRunAllFinalizers, JvPrivRunGC.
5082
5083 Tue Apr 28 15:06:50 1998  Tom Tromey  <tromey@cygnus.com>
5084
5085         * boehm.cc (JvPrivRegisterFinalizer): New function.
5086         (call_finalizer): Likewise.
5087         * include/jvm.h: Declare JvPrivRegisterFinalizer.
5088         * prims.cc (finalize_name): New global.
5089         (newObject): Just call other newObject.
5090         (newObject): Register finalizer if it exists.
5091
5092 Mon Apr 27 12:47:03 1998  Tom Tromey  <tromey@cygnus.com>
5093
5094         * prims.cc (gc_malloc): Removed.
5095         (makeUtf8Const): Use JvPrivAllocBytes.
5096         (lookupArray): Likewise.
5097         (newPrimArray): Likewise.
5098         (JvNewObjectArray): Use JvPrivAllocArray.
5099         (newObject): Use JvPrivAllocObj.
5100         (newObject): Likewise.
5101         Changed Method -> JvMethod everywhere.
5102         Changed Field -> JvField everywhere.
5103         * include/java-lang.h (Object): Changed type of `fields' to
5104         JvField*.
5105         (jmethodID, jfieldID): New typedefs.
5106         (Object): JvGetFirstInstanceField and JvNumInstanceFields now
5107         friends.
5108         * include/jvm.h (struct JvMethod): Renamed from Method, and moved
5109         from java-lang.h.
5110         (METHOD_NATIVECODE): Moved from java-lang.h.
5111         (class JvField): New class.
5112         (JvGetFirstInstanceField): New function.
5113         (JvFieldIsRef): Likewise.
5114         (JvGetObjectField): Likewise.
5115         (JvNumInstanceFields): Likewise.
5116
5117 Thu Apr 23 16:42:11 1998  Tom Tromey  <tromey@cygnus.com>
5118
5119         * boehm.cc: New file.
5120         * Makefile.in: Rebuilt.
5121         * Makefile.am (libjava_a_SOURCES): Added boehm.cc.
5122         (INCLUDES): Added -I options to find boehm-gc files.
5123
5124 Wed Apr 29 15:11:37 1998  Tom Tromey  <tromey@cygnus.com>
5125
5126         * configure: Rebuilt.
5127         * configure.in (CXX): Put -fno-rtti here and not in CXXFLAGS.
5128
5129         * Makefile.in: Rebuilt.
5130         * Makefile.am (nat_files): New macro.
5131         (libjava_a_DEPENDENCIES): Use it.
5132         (libjava_a_LIBADD): Likewise.
5133         ($(nat_files)): New static pattern rule.
5134         (class_files): Run separate find to find .class files.
5135         (javao_files): Compute based on class_files.
5136         (BUILT_SOURCES): New macro.
5137
5138 Thu Apr 23 16:42:11 1998  Tom Tromey  <tromey@cygnus.com>
5139
5140         * Makefile.am (java_files): New macro.
5141         (class_files): Likewise.
5142         (javao_files): Likewise.
5143         (libjava_a_DEPENDENCIES): Include $(javao_files).
5144         (libjava_a_LIBADD): Likewise.
5145         (classes.stamp): Depend on $(java_files); only recompile changed
5146         files.
5147         (here): New macro.
5148         (CLEANFILES): Don't run find; use macros.  Don't mention
5149         libjava.a.
5150         (.class.o): New target.
5151         (compiled.stamp): Removed.
5152
5153 Thu Apr 23 14:17:43 1998  Per Bothner  <bothner@cygnus.com>
5154
5155         * java/io/{Reader,InputStreamReader,FileReader,BufferedReader,
5156         LineNumberReader}>java:  Newly-implemented standard classes.
5157
5158 Thu Apr 23 14:02:04 1998  Tom Tromey  <tromey@cygnus.com>
5159
5160         * Makefile.in: Rebuilt.
5161         * Makefile.am (compiled.stamp): Use $(CC), not $(GCC).
5162
5163         * Makefile.in: Rebuilt.
5164         * Makefile.am (hack): New macro.
5165         (libjava_a_LIBADD): Use $(hack) to work around automake oddity.
5166
5167 Wed Apr 22 16:49:57 1998  Tom Tromey  <tromey@cygnus.com>
5168
5169         * include/config.h.in: New file.
5170         * include/config.h: Removed.
5171         * acconfig.h: New file.
5172         * Makefile.am (AR, ARFLAGS, JAVAC, GCC, CXX, CXXFLAGS): Removed.
5173         (lib_LIBRARIES, libjava_a_SOURCES, libjava_a_DEPENDENCIES,
5174         libjava_a_LIBADD): New macros.
5175         (INCLUDES): New macro.
5176         (prims.o): Removed.
5177         (.cc.o): Removed.
5178         (SUFFIXES): Removed.
5179         (all): Removed.
5180         (libjava.a): Removed.
5181
5182         * configure: Rebuilt.
5183         * configure.in: Call AC_PROG_CC, AC_PROG_CXX, AC_PROG_RANLIB.
5184         Look for headers and functions we require.  Create
5185         include/config.h.
5186
5187 Mon Apr 20 22:25:00 1998  Per Bothner  <bothner@cygnus.com>
5188
5189         * prims.cc (instance_class, instanceof, JvIsInstanceOf, JvConvertArgv,
5190         soft_instanceof, newObject, JbNewObjectArray, soft_checkcast,
5191         soft_lookupinterfacemethod):  New functions.
5192         (PrimClass):  Actually initialize the primitive classes.
5193         (Utf8Const2JavaString):  Moved to java/lang/natString.cc.
5194
5195         * include/java-util.h:  Removed java::util definition.
5196         * include/cni.h:  Moved java::util here and added Properties.
5197         Added more function prototypes.
5198         * include/java-lang.h:  Added mroe methods and friend declarations.
5199         * include/config.h (HAVE_GETTIMEOFDAY, HAVE_TIME):  Added.
5200         * include/jvm.h (strLengthUtf8):  Add declaration.
5201         
5202         * java/lang/{Integer,Long,Boolean,Character,Float,Double}.java (TYPE):
5203         New static field.
5204         * java/lang/{Byte,Short,Void}.java:  New classes.
5205         * java/lang/Character.java (isJavaIdentifierStart,
5206         JavaIdentifierPart):  New static methods.
5207         * java/lang/Number.java (byteValue, shortValue):  New methods.
5208
5209         * java/lang/String.java (intern, hashCode):  Make native.
5210         * java/lang/natString.cc:  New file.  Handle the string pool.
5211         * Makefile.am:  Build natString.o.  Use CXXFLAGS.
5212
5213         * java/lang/Class.java (isArray, isPrimitive, getComponentType,
5214         isInstance, isAssignableFrom), java/lang/natClass.cc:  New methods.
5215         * java/lang/Throwable.java (<init>):  Don't fillInStackTrace yet.
5216         * java/lang/System.java (setProperty):  New private method.
5217         (initProperties):  Take argument, and make native.
5218         * java/lang/natSystem.cc:  Implement (preliminary) initProperties.
5219         (currentTimeMillis):  Make more robust.
5220
5221         * java/io/{Writer,PrintWriter,OutputStreamWriter}.java:  New classes.
5222         * java/io/UnsupportedEncodingException.java:  New exception class.
5223
5224         * java/io/DataInputStream.java:  Don't use a PushbackInputStream.
5225         * java/io/FilterOutputStream.java:  Add missing 'extends OutputStream'.
5226         
5227 Fri Apr 10 11:52:10 1998  Per Bothner  <bothner@cygnus.com>
5228
5229         * Makefile.am (CXXFLAGS, JC1FLAGS):  New macro.
5230         * prims.cc:  Added bunch of stuff.
5231         * include/cni.h:  Added various definitions.
5232         * include/java-lang.h:  Added Method, various friends, some macros.
5233
5234         * include/config.h:  Added HAVA_MEMMOVE and HAVE_MEMCPY.
5235         * java/lang/System.java (arraycopy):  Make native.
5236
5237 Sun Apr  5 23:58:51 1998  Per Bothner  <bothner@cygnus.com>
5238
5239         * java/lang/{netObject.cc,natClass.cc,natDouble.cc,natRuntime.cc,
5240         natSystem.cc,natThread.cc}:  Native (C++) methods for various classes.
5241         * java/lang/ClassLoader.java (defineClass):  Now takes extra argument.
5242         * java/lang/Double.java (toString, doubleToLongBits, longBitsToDouble):
5243         Make native.
5244         * java/lang/Runtime.java:  Declare methods as native instead of
5245         using NativeLang.
5246         * java/lang/SecurityManager.java (getClassContext):  Just throw Error.
5247         * java/lang/System.java:  Comment out some stuff, for now.
5248         * java/lang/Thread.java:  Re-write.  Use native methods.
5249         * java/lang/NativeLang.java:  Remove most of it.
5250         
5251         * java/util/natDate.cc:  Native (C++) methods for Date.
5252         * java/util/{Calendar.java,GregorianCalendar.java}:  New classes.
5253         * java/util/Date.java:  Complete re-write.
5254
5255         * java/io/io-defs.h:  New header file.
5256         * java/io/FileDescriptor.java:  Add a bunch of private methods,
5257         mostly moved from NativeIO.java and natNativeIO.cc.
5258         * java/io/{natFile.cc,java/io/natFileDescriptor.cc}:  New native code.
5259         * java/io/File.java:  Use new code.
5260         * java/io/{FileInputStream.java.FileOutputStream.java,
5261         RandomAccessFile.java}:  Use new private FileDescriptor methods.
5262         * java/io/NativeIO.java:  Removed, no longer used.
5263
5264         * java/io/StreamTokenizer.java (numericChars):  Make char array.
5265
5266         * include/*.h:  Various header files used by the C++ native code.
5267
5268         * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in:
5269         New autoconf+automake-based setup.
5270         * prims.cc:  New file for Java "primitives".
5271