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