OSDN Git Service

* resolve.cc (ncode): Set args_raw_size. Compute jni_cif and
[pf3gnuchains/gcc-fork.git] / libjava / ChangeLog
1 2000-02-15  Tom Tromey  <tromey@cygnus.com>
2
3         * resolve.cc (ncode): Set args_raw_size.  Compute jni_cif and
4         jni_arg_types.
5         (init_cif): Added `rtype_p' argument.
6         * include/java-interp.h (class _Jv_MethodBase): Added
7         args_raw_size.
8         (class _Jv_InterpMethod): Removed args_raw_size.
9         (class _Jv_JNIMethod): Added jni_cif and jni_arg_types fields.
10         * jni.cc (call): Pass JNIEnv and (for static methods only) the
11         class pointer as well as the ordinary arguments.
12
13         * jni.cc (mangled_name): Skip leading `(' in signature.
14
15         * jni.cc (add_char): Added missing `else'.
16
17         * jni.cc (_Jv_JNI_AttachCurrentThread): Return error if malloc
18         fails.
19
20 2000-02-15  Bryce McKinlay  <bryce@albatross.co.nz>
21
22         * NEWS: Updated.
23
24         * java/lang/natRuntime.cc (_load): Include library path with
25         exception message.
26
27         * java/lang/natSystem.cc (init_properties): set java.lang.classpath 
28         property.
29
30         * java/lang/natThread.cc (dumpStack): Removed.
31         * java/lang/Thread.java (dumpStack): Implemented.
32
33 2000-02-15  Tom Tromey  <tromey@cygnus.com>
34
35         * java/lang/natRuntime.cc (_load): On Unix, prefix library name
36         with `lib' for loadLibrary.  Fixes PR gcj/150.
37
38 2000-02-14  Warren Levy  <warrenl@cygnus.com>
39
40         * gnu/gcj/math/MPN.java(findLowestBit): Made methods public.
41
42         * java/math/BigInteger.java(BigInteger(int,int,java.util.Random):
43           New constructor.
44         (min): Implemented.
45         (max): Implemented.
46         (modPow): Rewritten to not use the naive, slow, brute force approach.
47         (isProbablePrime): Implemented.
48         (testBit): Implemented.
49         (flipBit): Implemented.
50         (getLowestSetBit): Implemented.
51
52 2000-02-16  Anthony Green  <green@redhat.com>
53
54         * configure.host: Use the same options for i386 and i486 as we do
55         for i586 and i686.
56
57 2000-02-12  Tom Tromey  <tromey@cygnus.com>
58
59         * java/io/File.java (createTempFile): Use low bits from counter,
60         not high bits.
61
62 Fri Feb 11 19:48:08 2000  Anthony Green  <green@cygnus.com>
63
64         * THANKS: More thanks.
65
66 2000-02-11  Tom Tromey  <tromey@cygnus.com>
67
68         * interpret.cc (continue1): Use STOREA, not STOREI, to implement
69         astore instruction.  From Hans Boehm.
70
71 2000-02-11  Warren Levy  <warrenl@cygnus.com>
72
73         * java/math/BigInteger.java(BigInteger(String, int)): New constructor.
74         (BigInteger(String)): New constructor.
75         (not): Rewritten using version from Kawa's BitOps class.
76         (valueOf): New private methods from Kawa's BitOps class.
77         (swappedOp): ditto.
78         (bitOp): ditto.
79         (setBitOp): ditto.
80         (and): Implemented.
81         (or): Implemented.
82         (xor): Implemented.
83         (andNot): Implemented.
84         (clearBit): Implemented.
85         (setBit): Implemented.
86         (bitCount): Implemented.
87         (toByteArray): Implemented.
88
89 2000-02-11  Tom Tromey  <tromey@cygnus.com>
90
91         * java/io/File.java (nextValue): Now synchronized.
92
93 2000-02-10  Tom Tromey  <tromey@cygnus.com>
94
95         * java/io/natFileDescriptorPosix.cc (open): Recognize EXCL flag.
96         * java/io/FileDescriptor.java (EXCL): New static field.
97         * java/io/File.java (tmpdir): New static field.
98         (createTempFile): New method.
99         (nextValue): New method.
100         * java/lang/natSystem.cc (init_properties): Set java.io.tmpdir
101         property.
102
103         * include/jni.h (JNI_FALSE): Renamed from JNI_TRUE; oops.
104         (jboolean): Declare as an attributed int, not a bool.
105         (_Jv_func): Declare differently for C.
106
107         * gnu/gcj/jni/natNativeThread.cc: New file.
108         * gnu/gcj/jni/NativeThread.java: New file.
109         * java/lang/Thread.java (data): Now a RawData.
110         * include/jvm.h (_Jv_GetCurrentJNIEnv, _Jv_SetCurrentJNIEnv):
111         Declare.
112         * Makefile.in: Rebuilt.
113         * Makefile.am (java/lang/Thread.h): New target.
114         (ordinary_java_source_files): Added NativeThread.java.
115         (nat_source_files): Added natNativeThread.cc.
116         * java/lang/natThread.cc: Include <jni.h>
117         (struct natThread): Added `jni_env' field.
118         (_Jv_GetCurrentJNIEnv): New function.
119         (_Jv_SetCurrentJNIEnv): Likewise.
120         (initialize_native): Initialize jni_env.
121         Include RawData.h.
122         * jni.cc (ThreadGroupClass): New define.
123         (_Jv_JNI_InvokeFunctions): New structure.
124         (JNI_GetCreatedJavaVMs): New function.
125         (the_vm): New global.
126         (JNI_GetDefaultJavaVMInitArgs): New function.
127         Include NativeThread.h.
128         (NativeThreadClass): New define.
129         (_Jv_JNI_EnsureLocalCapacity): Return JNI_ERR, not -1.
130         (_Jv_JNI_DestroyJavaVM): New function.
131         (_Jv_JNI_AttachCurrentThread): New function.
132         (_Jv_JNI_DetachCurrentThread): New function.
133         (_Jv_JNI_GetEnv): New function.
134         (JNI_CreateJavaVM): New function.
135         (_Jv_JNI_GetJavaVM): New function.
136         (_Jv_JNIFunctions): Added entry for GetJavaVM.
137         * include/jni.h (JavaVMAttachArgs): New structure.
138         (JNI_EDETACHED): New define.
139         (JNI_EVERSION): Likewise.
140         (JavaVM): Define properly.
141         (struct JNIInvokeInterface): New structure.
142         (class _Jv_JavaVM): New class.
143         (JNI_OnLoad, JNI_OnUnload): Declare.
144         (JNI_GetDefaultJavaVMInitArgs, JNI_CreateJavaVM,
145         JNI_GetCreatedJavaVMs): Declare.
146         (JavaVMInitArgs): New typedef.
147         (JavaVMOption): Likewise.
148         (JNI_ERR): New define.
149         (JNI_OK): Likewise.
150
151 2000-02-10  Andrew Haley  <aph@cygnus.com>
152
153         * interpret.cc: Don't include fdlibm.h.
154         Replace #if with #ifdef throughout.
155         Declare extern __ieee754_fmod.
156         (continue1): Remove op_getfield, op_getstatic, op_putfield,
157         op_putstatic insns.
158         * resolve.cc (_Jv_PrepareClass): Use imeth as method pointer.
159         Search class hierarchy for superclass vtable.
160
161         * java/lang/natClassLoader.cc (_Jv_UnregisterClass): Don't fall
162         off the end of a pointer list.
163
164         * java/lang/natThread.cc (stop): Don't abort, throw an exception
165         instead.
166         (suspend): Ditto.
167         
168 2000-02-09  Tom Tromey  <tromey@cygnus.com>
169
170         * java/lang/natRuntime.cc (_load): Call add_library.
171         (loadLibraryInternal): Likewise.
172
173         * gnu/gcj/convert/natIconv.cc (Input_iconv::finalize): Call
174         iconv_close when handle is not NULL.  Thanks to Andrew Haley.
175         (Output_iconv::finalize): Likewise.
176
177 2000-02-08  Tom Tromey  <tromey@cygnus.com>
178
179         * java/util/Properties.java (setProperty): New method.
180         (store): New method.
181
182 2000-02-07  Tom Tromey  <tromey@cygnus.com>
183
184         * java/lang/Runtime.java (_load): Declare.
185         (load, loadLibrary): Wrote in terms of _load.
186         * java/lang/natRuntime.cc (load): Call JNI_OnLoad if it appears in
187         library.
188         (loadLibrary): Likewise.
189         Include <jni.h>.
190         (_load): New method.
191         (loadLibrary, load): Removed.
192
193         * jni.cc (ThrowableClass): New define.
194         (_Jv_JNI_Throw): Check argument.
195         (_Jv_JNI_ThrowNew): Likewise.
196         (wrap_value): Don't wrap object if it is NULL.
197         (_Jv_JNI_DefineClass): Use wrap_value.
198         (_Jv_JNI_FindClass): Likewise.
199         (_Jv_JNI_GetSuperclass): Likewise.
200         (_Jv_JNI_ExceptionOccurred): Likewise.
201         (_Jv_JNI_AllocObject): Likewise.
202         (_Jv_JNI_GetObjectClass): Likewise.
203         (_Jv_JNI_NewString): Likewise.
204         (_Jv_JNI_NewStringUTF): Likewise.
205         (_Jv_JNI_NewObjectArray): Likewise.
206         (_Jv_JNI_GetObjectArrayElement): Likewise.
207         (_Jv_JNI_NewPrimitiveArray): Likewise.
208         (_Jv_JNI_ToReflectedField): Likewise.
209         (_Jv_JNI_ToReflectedMethod): Likewise.
210         (_Jv_JNI_AllocObject): Check argument.
211         (_Jv_JNI_NewObjectV): Likewise.
212         (_Jv_JNI_NewObject): Likewise.
213         (_Jv_JNI_NewObjectA): Likewise.
214         (_Jv_JNI_GetObjectClass): Likewise.
215         (_Jv_JNI_GetField): Likewise.
216         (_Jv_JNI_SetField): Likewise.
217
218         * interpret.cc (PUSHL): Don't use expression statement.
219         (PUSHD): Likewise.
220         (LOADL): Likewise.
221         (STOREL): Likewise.
222
223         * jni.cc (add_char): Conditional on INTERPRETER.
224         (mangled_name): Likewise.
225         (call): Likewise.
226         * include/java-interp.h (class _Jv_MethodBase): Conditional on
227         INTERPRETER.
228         (class _Jv_JNIMethod): Likewise.
229
230 2000-02-04  Warren Levy  <warrenl@cygnus.com>
231
232         * Makefile.am: Added MPN.java and BigInteger.java.
233         * Makefile.in: Rebuilt.
234         * gnu/gcj/math/MPN.java: New file.  From Kawa by Per Bothner
235         <per@bothner.com>.
236         * java/math/BigInteger.java: New file.  Based primarily on
237         Kawa's IntNum.java by Per Bothner <per@bothner.com>.
238
239 2000-02-04  Tom Tromey  <tromey@cygnus.com>
240
241         * defineclass.cc (handleMethodsBegin): Allocate _Jv_MethodBase
242         pointers.
243         (handleMethodsEnd): Fixed error messages.  Create a _Jv_JNIMethod
244         if the method is native.
245         * resolve.cc (ncode): Don't handle native methods.
246         (_Jv_JNIMethod::ncode): New method.
247         (_Jv_PrepareClass): Handle native methods.
248         * jni.cc (call): Renamed from _Jv_JNI_conversion_call.
249         Include AbstractMethodError.h.
250         (add_char): New function.
251         (mangled_name): Likewise.
252         * include/java-interp.h (class _Jv_JNIMethod): New class.
253         (class _Jv_MethodBase): New class.
254         (class _Jv_InterpMethod): Derive from _Jv_MethodBase.
255         (_Jv_InterpClass): Changed `interpreted_methods' field to type
256         `_Jv_MethodBase'.
257
258         * include/jvm.h (_Jv_FindSymbolInExecutable): Declare.
259         * java/lang/natRuntime.cc (libraries_size, libraries_count,
260         libraries): New globals.
261         (add_library): New function.
262         (_Jv_FindSymbolInExecutable): New function.
263
264         * java/lang/natClassLoader.cc (initiated_classes, loaded_classes):
265         Now static.
266
267 2000-02-04  Andrew Haley  <aph@cygnus.com>
268
269         * java/lang/Throwable.java (CPlusPlusDemangler): New class.
270         (printStackTrace): Use a CPlusPlusDemangler to demangle names.
271         * java/lang/natThrowable.cc (printRawStackTrace): Rename
272         printStackTrace to printRawStackTrace.
273
274 2000-02-03  Tom Tromey  <tromey@cygnus.com>
275
276         * java/util/Calendar.java (toString): New method.
277         * java/util/SimpleTimeZone.java (clone): New method.
278         (toString): New method.
279         * java/util/TimeZone.java (clone): New method.
280         * java/text/SimpleDateFormat.java (clone): New method.
281         * java/text/NumberFormat.java (clone): New method.
282         (equals): New method.
283         * java/text/Format.java (clone): New method.
284         * java/text/DateFormatSymbols.java (DateFormatSymbols): New
285         constructor.
286         (clone): New method.
287         * java/text/DateFormat.java (clone): New method.
288         * java/text/Collator.java (clone): New method.
289
290 2000-02-03  Tom Tromey  <tromey@cygnus.com>
291
292         * java/io/PipedOutputStream.java (write(byte[], int, int)): New
293         method.
294
295 2000-02-01  Tom Tromey  <tromey@cygnus.com>
296
297         * include/java-interp.h (_Jv_JNI_conversion_call): Declare.
298         * resolve.cc (ncode): Use _Jv_JNI_conversion_call when
299         constructing the closure if the function is native.
300         * jni.cc (_Jv_JNI_conversion_call): Now returns `void'.  No longer
301         a template function, #if'd out, or static.
302         Include <java-interp.h>.
303
304         * include/jni.h (class _Jv_JNIEnv): Corrected calls using `...'.
305
306         * include/jni.h (class _Jv_JNIEnv): Added all C++ inline methods.
307
308         * jni.cc (_Jv_JNI_PopLocalFrame): Leave loop when `n == NULL'.
309         (_Jv_JNI_conversion_call): _Jv_JNI_PopLocalFrame will never leave
310         `locals == NULL'.
311         (wrap_value): New function.
312         (_Jv_JNI_CallAnyMethodV): Use it.
313         (_Jv_JNI_CallAnyMethodA): Likewise.
314         (_Jv_JNI_GetField): Use wrap_value; removed specialized version.
315         (_Jv_JNI_GetStaticField): Likewise.
316
317         * jni.cc (_Jv_JNI_GetField): Specialize for jobject.
318         (_Jv_JNI_GetStaticField): Likewise.
319
320 2000-01-31  Tom Tromey  <tromey@cygnus.com>
321
322         * prims.cc (_Jv_MallocUnchecked): New function.
323         (main_init): Call _Jv_JNI_Init.
324         * include/jvm.h (_Jv_MallocUnchecked): Declare.
325         (_Jv_JNI_Init): Declare.
326         * jni.cc: Include Hashtable.h, OutOfMemoryError.h, Integer.h,
327         <string.h>.
328         (_Jv_JNI_NewGlobalRef): New function.
329         (_Jv_JNI_DeleteGlobalRef): New function.
330         (_Jv_JNI_DeleteLocalRef): New function.
331         (_Jv_JNI_conversion_call): Initialize and clear local reference
332         frame.
333         (_Jv_JNI_NewLocalRef): New function.
334         (struct _Jv_JNI_LocalFrame): New structure.
335         (_Jv_JNI_PushLocalFrame): New function.
336         (_Jv_JNI_EnsureLocalCapacity): New function.
337         (FRAME_SIZE): New define.
338         (_Jv_JNI_GetStringChars): Mark string, not characters.
339         (_Jv_JNI_ReleaseStringChars): Unmark string, not characters.
340         (_Jv_JNI_GetPrimitiveArrayElements): Mark array, not elements.
341         (_Jv_JNI_ReleasePrimitiveArrayElements): Unmark array, not
342         elements.
343         (_Jv_JNI_DefineClass): Make return value a local ref.
344         (_Jv_JNI_FindClass): Likewise.
345         (_Jv_JNI_GetSuperclass): Likewise.
346         (_Jv_JNI_ExceptionOccurred): Likewise.
347         (_Jv_JNI_AllocObject): Likewise.
348         (_Jv_JNI_GetObjectClass): Likewise.
349         (_Jv_JNI_CallAnyMethodV): Likewise.
350         (_Jv_JNI_NewString): Likewise.
351         (_Jv_JNI_NewStringUTF): Likewise.
352         (_Jv_JNI_NewObjectArray): Likewise.
353         (_Jv_JNI_GetObjectArrayElement): Likewise.
354         (_Jv_JNI_ToReflectedField): Likewise.
355         (_Jv_JNI_ToReflectedMethod): Likewise.
356         (_Jv_JNIFunctions): Updated table for new functions.
357         (_Jv_JNI_Init): New function.
358         (mark_for_gc): Wrote.
359         (unmark_for_gc): Wrote.
360         * include/jni.h (struct JNINativeInterface): Removed name from
361         PopLocalFrame parameter.
362         (class _Jv_JNIEnv): Added `locals' field.
363
364 Mon Jan 31 00:43:15 2000  Anthony Green  <green@redhat.com>
365
366         * gnu/gcj/convert/natIconv.cc (read): Minor fixes.
367         (write): Ditto.
368
369 2000-01-30  Tom Tromey  <tromey@cygnus.com>
370
371         * include/config.h.in: Rebuilt.
372         * acconfig.h (HAVE_ICONV): Define.
373         * configure: Rebuilt.
374         * configure.in: Check for `iconv' function.
375         * gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try iconv if
376         no specific encoder exists.
377         * gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try iconv if
378         no specific encoder exists.
379         * Makefile.in: Rebuilt.
380         * Makefile.am (convert_source_files): Mention Input_iconv.java and
381         Output_iconv.java.
382         (nat_source_files): Added natIconv.cc.
383         * gnu/gcj/convert/natIconv.cc: New file.
384         * gnu/gcj/convert/Input_iconv.java: New file.
385         * gnu/gcj/convert/Output_iconv.java: New file.
386
387 2000-01-28  Tom Tromey  <tromey@cygnus.com>
388
389         * Makefile.in: Rebuilt.
390         * Makefile.am (LIBFFIINCS): Added MULTIBUILDTOP.
391
392 2000-01-26  Tom Tromey  <tromey@cygnus.com>
393
394         * gcj/method.h (JvNumMethods): Moved from Class.h.
395         (JvGetFirstMethod): Likewise.
396         * java/lang/Class.h (Object): Updated decl of
397         _Jv_JNI_ToReflectedField.
398         (Object): Added _Jv_JNI_ToReflectedMethod as a friend.
399         * Makefile.in: Rebuilt.
400         * Makefile.am (java/lang/reflect/Field.h): Added `jboolean'
401         argument of _Jv_JNI_ToReflectedField.
402         (java/lang/reflect/Constructor.h): Added _Jv_JNI_ToReflectedMethod
403         as a friend.
404         (java/lang/reflect/Method.h): Likewise.
405         * include/jni.h (class _Jv_JNIEnv): Added `klass' member.  Use
406         __GCJ_JNI_IMPL__.
407         (jweak): New typedef.
408         (struct JNINativeInterface): Correctly declare remaining entries.
409         * jni.cc: Include Class.h, ClassLoader.h.
410         (_Jv_JNI_FindClass): New function.
411         (_Jv_JNI_DefineClass): New function.
412         (_Jv_JNI_conversion_call): New function.
413         (_Jv_JNI_FindClass): Use current class loader to find class.
414         (_Jv_JNI_ExceptionCheck): New function.
415         (_Jv_JNI_FromReflectedField): Now static.
416         (MethodClass): New define.
417         (_Jv_JNI_FromReflectedMethod): New function.
418         (_Jv_JNI_ToReflectedMethod): Likewise.
419         Include Method.h.
420         (_Jv_JNI_IsAssignableFrom): Renamed.
421         (_Jv_JNI_GetStringRegion): New function.
422         Include StringIndexOutOfBoundsException.h.
423         (_Jv_JNI_GetStringUTFRegion): New function.
424         (_Jv_JNIFunctions): Updated for new functions.
425         (_Jv_JNI_GetPrimitiveArrayCritical): New function
426         (_Jv_JNI_ReleasePrimitiveArrayCritical): Likewise.
427         (_Jv_JNI_GetStringCritical): New function.
428         (_Jv_JNI_ReleaseStringCritical): Likewise.
429         (get_throwable): Removed.
430         (GCJ_JV_JNIENV_FRIEND): Removed.
431         (__GCJ_JNI_IMPL__): Define.
432         Include method.h.
433
434         * resolve.cc (get_ffi_type_from_signature): Handle case where
435         boolean is an int.
436
437 Tue Jan 25 08:51:16 2000  Tom Tromey  <tromey@ferrule.cygnus.com>
438
439         * interpret.cc (run): Don't call println.
440         Don't include PrintStream.h.
441
442         * gcj/field.h (struct _Jv_Field): Use "jshort" as type for
443         nameIndex.  Use "jint" as type for boffset.
444         * java/lang/Class.h (struct _Jv_Method): Made accflags a
445         _Jv_ushort.
446         (Class): Likewise.  Also changed type of method_count,
447         vtable_method_count, size_in_bytes, field_count,
448         static_field_count, interface_count.
449         * gcj/array.h (__JArray): Made `length' a const jsize, not an
450         int.
451
452 2000-01-21  Tom Tromey  <tromey@cygnus.com>
453
454         * java/lang/reflect/natConstructor.cc (newInstance): Use
455         _Jv_CallAnyMethodA.
456         * include/jvm.h: Declare _Jv_CallAnyMethodA.
457         * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Renamed
458         from _Jv_CallNonvirtualMethodA.  Changed interface; overloaded.
459         Include <jni.h>.
460         (COPY): Removed.
461         (invoke): Use _Jv_CallAnyMethodA.
462         (VAL): Redefined.
463         * java/lang/Class.h (Class): Declare JvGetFirstStaticField,
464         JvNumStaticFields, JvNumMethods, and JvGetFirstMethod as friend
465         functions.
466         (struct _Jv_Method): Added getNextMethod method.
467         (JvNumMethods): New function.
468         (JvGetFirstMethod): Likewise.
469         * gcj/field.h (JvGetFirstStaticField): New function.
470         (JvNumStaticFields): Likewise.
471         (getNextField): Renamed from getNextInstanceField.
472         (struct _Jv_Field): New method getClass.
473         * jni.cc: Wrote many new functions.
474         * include/jni.h (JNI_TRUE): Define.
475         (JNI_FALSE): Likewise.
476         (jobject, jclass, jstring, jarray, jthrowable, jobjectArray,
477         jbyteArray, jshortArray, jintArray, jlongArray, jbooleanArray,
478         jcharArray, jfloatArray, jdoubleArray): New typedefs.
479         (jfieldID, jmethodID): Likewise.
480         (JNI_COMMIT, JNI_ABORT): New defines.
481         (JNINativeMethod): New struct.
482         (struct JNINativeInterface): Correctly declared more entries.
483         (class _Jv_JNIEnv): Added `ex' member.
484         (JNI_VERSION_1_1): New define.
485         (JNI_VERSION_1_2): Likewise.
486
487         * boehm.cc (_Jv_MarkObj): Use getNextField, not
488         getNextInstanceField.
489
490 2000-01-20  Tom Tromey  <tromey@cygnus.com>
491
492         * resolve.cc (StringClass): Removed.
493         * defineclass.cc (StringClass): Removed.
494
495 2000-01-19  Bryce McKinlay  <bryce@albatross.co.nz>
496
497         * NEWS: updated.
498
499 2000-01-19  Tom Tromey  <tromey@cygnus.com>
500
501         * interpret.cc (PC_REGISTER_ASM): Removed.
502
503         * java/lang/natThrowable.cc: Don't use `#pragma implementation'.
504         From Bryce McKinlay.
505
506         * All files: Updated copyright to reflect Cygnus purchase.
507
508 2000-01-18  Bryce McKinlay <bryce@albatross.co.nz>
509
510         * configure: Rebuilt.
511         * configure.in: Recognize --disable-interpreter.
512
513 2000-01-18  Andrew Haley  <aph@cygnus.com>
514
515         * name-finder.cc (lookup): Check for dladdr function.
516         acconfig.h (HAVE_DLADDR): Add.
517         configure.in: Check for HAVE_DLADDR
518         configure: Rebuilt.
519         include/config.h.in:  Rebuilt.
520
521 2000-01-17  Andrew Haley  <aph@cygnus.com>
522
523         * prims.cc (_Jv_RunMain): Set the name of this executable.
524
525 2000-01-17  Tom Tromey  <tromey@cygnus.com>
526
527         * java/lang/natThrowable.cc (fillInStackTrace): Return `this' even
528         when backtrace can't be computed.
529
530         * configure: Rebuilt.
531         * configure.in: Fixed typo in AC_CONFIG_SUBDIRS call.
532
533         * java/lang/Runtime.java (loadLibraryInternal): Declare.
534         * java/lang/natClassLoader.cc (_Jv_FindClass): Removed dead copy.
535         (_Jv_FindClassInCache): Likewise.
536         (_Jv_FindClass): Don't conditionalize body on INTERPRETER.
537         (findSystemClass): Try to load class from compiled module.
538         Include Runtime.h.
539         * java/lang/natRuntime.cc (load): Use UTF-8 copy of filename.
540         (loadLibrary): Likewise.
541         (lt_preloaded_symbols): Define.
542         (loadLibraryInternal): New method.
543         * include/config.h.in: Rebuilt.
544         * acconfig.h (USE_LTDL): Added.
545         * Makefile.am (SUBDIRS): Added $(DIRLTDL).
546         (INCLUDES): Added $(INCLTDL).
547         (libgcj_la_DEPENDENCIES): Added $(LIBLTDL).
548         (libgcj_la_LIBADD): Likewise.
549         * aclocal.m4, configure: Rebuilt.
550         * configure.in: Added libltdl support.
551
552 2000-01-15  Tom Tromey  <tromey@cygnus.com>
553
554         * prims.cc (_Jv_PrimClass): Use `JV_STATE_NOTHING', not `0'.
555
556 2000-01-14  Andrew Haley  <aph@cygnus.com>
557
558         * java/lang/natThrowable.cc: New file.
559
560         * java/lang/Throwable.java (fillInStackTrace): Make native.
561         (printStackTrace): Call native method to do this.
562         (Throwable): Call fillInStackTrace.
563         (stackTrace): New variable.
564         
565         * include/jvm.h: Add _Jv_ThisExecutable functions.
566         
567         * prims.cc: (_Jv_execName): New variable.
568         (catch_segv): Call fillInStackTrace.
569         (catch_fpe): Ditto.
570         (_Jv_ThisExecutable): New functions.
571         (JvRunMain): Set the name of this executable.
572
573         * Makefile.am: Add java/lang/natThrowable.cc.
574         Add name-finder.cc.
575         * Makefile.in: Rebuilt.
576
577         * acconfig.h: Add HAVE_PROC_SELF_EXE.
578
579         * configure.in: Force link with __frame_state_for in
580         FORCELIBGCCSPEC.  Add new checks for backtrace.
581         * include/config.h.in: Rebuilt.
582
583         * name-finder.cc: New file.
584         * include/name-finder.h: New file.
585
586 2000-01-16  Anthony Green  <green@cygnus.com>
587
588         * java/lang/StringBuffer.java (StringBuffer): Don't special case
589         null argument.
590
591 2000-01-16  Jeff Sturm  <jsturm@sigma6.com>
592
593         * java/io/StreamTokenizer.java (nextToken): Avoid unread(TT_EOF).
594
595 2000-01-13  Tom Tromey  <tromey@cygnus.com>
596
597         * java/lang/natClassLoader.cc (_Jv_FindClass): Register `loader',
598         not system loader, as initiating loader.
599
600 2000-01-11  Tom Tromey  <tromey@cygnus.com>
601
602         * java/lang/natSystem.cc (getpwuid_adaptor): New adaptor for
603         HP/UX.  From David Scott Urban.
604
605 2000-01-10  Jeff Sturm  <jsturm@sigma6.com>
606
607         * java/lang/natMath.cc (pow): Cast args to `double', not
608         `jdouble'.
609         (atan2): Likewise.
610         (IEEEremainder): Likewise.
611         * java/lang/mprec.h: Don't wrap includes in `extern "C"'.
612         * java/lang/fdlibm.h: Don't wrap includes in `extern "C"'.
613
614 2000-01-09  Anthony Green  <green@cygnus.com>
615
616         * java/lang/natString.cc (init): Test for overflow condition
617         during out of bounds check.
618         (getChars): Throw StringIndexOutOfBoundsException, not
619         ArrayIndexOutOfBoundsException.
620         (getBytes): Ditto.
621         (regionMatches): Obey case option during string comparison.
622
623         * configure.host (ligcj_interpreter): New variable.  Enable
624         interpreter by default on IA-32.
625         * configure.in:  Examine libgcj_interpreter.
626         * configure: Rebuilt.
627
628 2000-01-07  Tom Tromey  <tromey@cygnus.com>
629
630         * mauve-libgcj: Don't disable ClassTest.
631
632         * java/lang/natClass.cc (getClasses): Wrote.
633
634 2000-01-06  Tom Tromey  <tromey@cygnus.com>
635
636         * java/lang/natClass.cc (_getConstructors): Correctly check
637         whether method name is the init name.
638         (getMethod): Look at accflags on method in `klass', not `this'.
639
640 2000-01-05  Tom Tromey  <tromey@cygnus.com>
641
642         * java/lang/natClass.cc (getMethod): Compute offset relative to
643         `klass's methods table, not `this's table.
644
645         * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA):
646         In unwrapping/widening case, check whether `k' is null, not
647         whether it is primitive.  Initialize `num' from `argelts', not
648         `paramelts'.  Correct create and pass arguments to ffi_call.
649         Don't let presence of `this' argument affect index used to look in
650         argument arrays.
651         (COPY): Set appropriate element in `values' vector.
652
653         * java/lang/natClass.cc: Include <gcj/method.h>.
654
655         * java/lang/Class.h (_getMethods): Correctly declare as private,
656         not public.
657
658         * java/lang/Class.h (_getMethods): Declare.
659         * java/lang/Class.java (_getMethods): Declare.
660         * java/lang/natClass.cc (getDeclaringClass): Always return NULL.
661         (getDeclaredClasses): Always return empty array.
662         (_getMethods): New method.
663         (getMethods): Wrote.
664         (getDeclaredMethod): Return `rmethod'.
665         (finit_name): New global.
666         (getDeclaredMethods): Check for finit_name.
667         (_getMethods): Likewise.
668         (getMethod): Only return public methods.
669
670         * java/lang/reflect/natMethod.cc (get_ffi_type): Test size of
671         jboolean and select correct ffi type on that basis.
672         (_Jv_CallNonvirtualMethodA): Handle `void' return type.
673         Constructor call always has `void' return type.
674
675 2000-01-04  Tom Tromey  <tromey@cygnus.com>
676
677         * java/lang/Class.h (getSignature): Updated.
678         * java/lang/Class.java (getSignature): Updated.
679         * java/lang/natClass.cc (getSignature): Added `is_constructor'
680         argument.
681         (getConstructor): Ensure constructor is public.
682         (_getConstructors): Check for public-ness of constructor when
683         `declared' is false, not when it is true.
684
685 2000-01-04  Warren Levy  <warrenl@cygnus.com>
686
687         * java/net/natPlainDatagramSocketImpl.cc (peek): Removed unnecesary
688         comment.
689         (receive): Set the sender's address in the DatagramPacket.
690
691 2000-01-04  Tom Tromey  <tromey@cygnus.com>
692
693         * java/lang/reflect/natConstructor.cc (newInstance): Pass
694         declaring class as return_type argument to
695         _Jv_CallNonvirtualMethodA.
696         * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In
697         constructor case, create object and use it as `this' argument.
698         * java/lang/Class.h (_getConstructors): Declare.
699         (_getFields): Declare.
700         * java/lang/Class.java (getConstructors): Wrote.
701         (_getConstructors): New native method.
702         (getDeclaredConstructors): Wrote.
703         (_getFields): Declare new native method.
704         * java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Removed
705         incorrect comment.
706         (getMethod): Work correctly when class is primitive.
707         (getDeclaredMethods): Likewise.  Compute offset using `method',
708         not `mptr'.
709         (getDeclaredMethod): Likewise.
710         (getConstructor): Wrote.
711         (ConstructorClass): New define.
712         (getDeclaredConstructor): Wrote.
713         (_getConstructors): New method.
714         (_getFields): New method.
715         (getFields): Wrote.
716
717         * Makefile.in: Rebuilt.
718         * Makefile.am (AM_CXXFLAGS): Added -D_GNU_SOURCE.
719
720         * prims.cc: Remove `#pragma implementation'.
721         * gcj/array.h: Remove `#pragma interface'.
722
723         * prims.cc (_Jv_equaln): New function.
724         * java/lang/Class.java (getSignature): Declare.
725         * resolve.cc (_Jv_LookupDeclaredMethod): Moved to natClass.cc.
726         * java/lang/natClass.cc (_Jv_LookupDeclaredMethod): Moved from
727         resolve.cc.
728         (getSignature): New method.
729         (getDeclaredMethod): Wrote.
730         (getMethod): Wrote.
731         Include StringBuffer.h.
732         * java/lang/Class.h (Class): Added _Jv_FromReflectedConstructor
733         as a friend.  Unconditionally declare _Jv_LookupDeclaredMethod as
734         a friend.
735         (getSignature): Declare.
736         * include/jvm.h (_Jv_GetTypesFromSignature): Declare.
737         (_Jv_equaln): Declare.
738         (_Jv_CallNonvirtualMethodA): Declare.
739         * Makefile.in: Rebuilt.
740         * Makefile.am (nat_source_files): Added natConstructor.cc.
741         (java/lang/reflect/Constructor.h): New target.
742         * java/lang/reflect/natConstructor.cc: New file.
743         * java/lang/reflect/Constructor.java (newInstance): Now native.
744         (declaringClass): Renamed from decl_class.
745         (offset): Renamed from index.
746         (getType): New native method.
747         (getModifiers): Now native.
748         (getParameterTypes): Call getType if required.
749         (hashCode): Include hash code from declaring class.
750         (modifiers): Removed.
751         (toString): Call getType if required.
752         * gcj/method.h (_Jv_FromReflectedConstructor): New function.
753         * java/lang/reflect/natMethod.cc (hack_call): New method.
754         Removed `#if 0' around FFI code.
755         Include <gnu/gcj/RawData.h>.
756         (invoke): Use _Jv_CallNonvirtualMethodA.  Throw
757         IllegalArgumentException when argument object and class disagree.
758         (_Jv_GetTypesFromSignature): New function.
759         (getType): Use it.
760         (ObjectClass): New define.
761         (_Jv_CallNonvirtualMethodA): New function.
762         * java/lang/reflect/Method.java (hack_trampoline): New method.
763         (hack_call): New native method.
764
765 1999-12-21  Per Bothner  <per@bothner.com>
766
767         * java/lang/natClass.cc (getDeclaredMethods): Correctly compute
768         offset in new Method.
769
770 1999-12-22  Bryce McKinlay  <bryce@albatross.co.nz>
771
772         * java/lang/natObject.cc (notify): Throw message with
773         IllegalMonitorStateException.
774         (notifyAll): Ditto.
775         (wait): Ditto.
776         * java/lang/Thread.java (isInterrupted): Don't clear interrupt_flag.
777         (isInterrupted_): New function, which does clear interrupt_flag.
778         (interrupt): Use `isInterrupted_'.
779         * java/lang/natThread.cc (interrupt): Add comment.
780         (join): Set `prev' in joiner loop.
781         Change various calls to `isInterrupted' to use `isInterrupted_'.
782         * posix-threads.cc (_Jv_CondWait): Allways use pthread_cond_timedwait
783         on linux. Set result to 0 on an interrupt. Test interrupted status
784         of java Thread object directly. 
785         FLAG_INTERRUPTED: removed.
786         (_Jv_ThreadStart): Throw OutOfMemoryError if pthread_create fails.
787         (_Jv_ThreadInterrupt): Don't set FLAG_INTERRUPTED.
788         (_Jv_InitThreads): Don't block SIGINT.
789         (_Jv_ThreadWait): Don't configure SIGINT handler.
790
791 1999-12-21  Tom Tromey  <tromey@cygnus.com>
792
793         * mauve-libgcj: Added java.lang.reflect.Modifier.toString12.
794
795 1999-12-20  Tom Tromey  <tromey@cygnus.com>
796
797         * java/lang/reflect/Modifier.java (STRICT): New constant.
798         (isStrict): New method.
799         (toString): Added `strict'.
800
801 1999-12-23  Anthony Green  <green@cygnus.com>
802
803         * configure: Rebuilt.
804         * configure.in (LIBDATASTARTSPEC): Force data_start in with
805         linker trick.
806
807 1999-12-19  Anthony Green  <green@cygnus.com>
808
809         * libgcjdata.c: New file.
810         * libgcj.spec.in: Use @LIBDATASTARTSPEC@ in startfile.
811         * configure: Rebuilt.
812         * configure.in (LIBDATASTARTSPEC): Force data with a known name
813         into the program.
814         * Makefile.in: Rebuilt.
815         * Makefile.am: Build libgcjdata.a.
816
817         * libgcj.spec.in: Use @FORCELIBGCCSPEC@ in startfile.
818         * configure: Rebuilt.
819         * configure.in (FORCELIBGCCSPEC): Force important parts of libgcc
820         into every program.
821
822 1999-12-17  Tom Tromey  <tromey@cygnus.com>
823
824         * java/lang/reflect/Method.java (toString): Call getType if
825         required.  Partial fix for PR libgcj/111.  From Per Bothner.
826
827         * java/lang/natPosixProcess.cc (startProcess): Don't use sprintf.
828
829 1999-12-16  Bryce McKinlay  <bryce@albatross.co.nz>
830
831         * java/lang/Boolean.java (Boolean(String)): Set `value' to false on a 
832         null String constructor parameter.
833         * java/net/natPlainSocketImpl.cc: Remove unneccessary sprintf calls
834         for exception messages.
835         BooleanClass: declare.
836         (setOption): Use BooleanClass instead of Class.forName() for
837         instanceof test.
838         (bind): Cast 4th parameter of setsockopt to `char *' for
839         compatibility with older Solaris headers.
840         * java/net/natPlainDatagramSocketImpl.cc: Remove unneccessary
841         sprintf calls for exception messages.
842         BooleanClass, IntegerClass: declare.
843         (setOption): Use BooleanClass and IntegerClass, not Class.forName()
844         for instanceof test.
845
846 1999-12-15  Tom Tromey  <tromey@cygnus.com>
847
848         * java/lang/natSystem.cc (init_properties): Don't set user.name or
849         user.home if NO_GETUID defined.  Only set user.dir if getcwd
850         exists.
851
852         * include/config.h.in: Rebuilt.
853         * acconfig.h (NO_GETUID): New define.
854         * configure.in: Rebuilt.
855         * configure.in: Define NO_GETUID in cross case.  Check for getcwd
856         in native case.
857
858 1999-12-08  Tom Tromey  <tromey@cygnus.com>
859
860         * include/posix-threads.h (_Jv_PthreadCheckMonitor): Handle case
861         where no recursive mutexes exist.  Fixes PR libgcj/117.
862
863 1999-12-05  Anthony Green  <green@cygnus.com>
864
865         * include/jvm.h: Declare many functions with
866         __attribute__((__malloc__)).
867         * gcj/javaprims.h: Ditto.
868
869 Thu Dec  2 17:26:47 1999  Anthony Green  <green@cygnus.com>
870
871         * THANKS: Giving credit where credit is due.
872
873 1999-12-02  Bryce McKinlay  <bryce@albatross.co.nz>
874
875         * java/net/ServerSocket.java (ServerSocket): Bind to any interface 
876         if bindAddr is null.
877         * java/lang/natString.cc (equalsIgnoreCase): return false if
878         anotherString is null.
879         * java/lang/Boolean.java (valueOf): return FALSE if argument is
880         null.
881
882 1999-11-30  Tom Tromey  <tromey@cygnus.com>
883
884         * posix-threads.cc (_Jv_MutexInit): Use _Jv_PthreadGetMutex to get
885         mutex to initialize.  Initialize `count' if required.
886         Fixes PR libgcj/98.
887
888 1999-11-27  Per Bothner  <per@bothner.com>
889
890         * exception.cc:  Remove prototype declarations for malloc and free.
891         These clash with recent versions of glibc, which specifies `throws ()'
892         when __cplusplus is defined.  Instead, #include <stdlib.h>.
893
894 1999-11-24  Tom Tromey  <tromey@cygnus.com>
895
896         * prims.cc (_Jv_NewObjectArray): Use
897         _Jv_GetArrayElementFromElementType.
898         (_Jv_NewPrimArray): Likewise.
899         * java/lang/natObject.cc (clone): Use
900         _Jv_GetArrayElementFromElementType instead of sizeof.
901         * java/lang/natSystem.cc (arraycopy): Use
902         _Jv_GetArrayElementFromElementType.
903         * include/jvm.h (_Jv_GetArrayElementFromElementType): New
904         function.
905
906 1999-11-23  Bryce McKinlay  <bryce@albatross.co.nz>
907
908         * java/net/natPlainSocketImpl.cc: Fix potential buffer overruns in
909         Exception messages. PR java.net/57.
910         (bind): set SO_REUSEADDR before bind.
911         * java/net/natPlainDatagramSocketImpl.cc: Fix potential buffer
912         overruns. PR java.net/57.
913
914 1999-11-19  Tom Tromey  <tromey@cygnus.com>
915
916         * Makefile.am (DIVIDESPEC): Removed.
917         (EXCEPTIONSPEC): Removed.
918
919 1999-11-19  Andrew Haley  <aph@cygnus.com>
920
921         * Makefile.am (JCFLAGS): Add -L$(here)
922         (JC1FLAGS): Ditto.
923         * Makefile.in: Rebuild.
924
925 1999-11-18  Tom Tromey  <tromey@cygnus.com>
926
927         * java/lang/natDouble.cc: Include <config.h>.
928
929         * include/config.h.in: Rebuilt.
930         * acconfig.h (SJLJ_EXCEPTIONS): Undefine.
931         * configure.host: Force -fsjlj-exceptions on non-sparc, non-x86
932         targets.
933         * configure: Rebuilt.
934         * configure.in (EXCEPTIONSPEC): Allow -fsjlj-exceptions to be
935         requested by configure.host.  Don't put `-D' option into
936         libgcj.spec; instead, define SJLJ_EXCEPTIONS with AC_DEFINE.
937
938         * configure: Rebuilt.
939         * configure.in (EXCEPTIONSPEC): Changed `_' to `-' in
940         sjlj-exceptions.
941
942 1999-11-18  Andrew Haley  <aph@cygnus.com>
943
944         * Makefile.am: rename SJLJ_EXCEPTIONS to EXCEPTIONSPEC.
945         (AM_CFLAGS): remove SJLJ_EXCEPTIONS.
946         (JC1FLAGS): Ditto.
947         * Makefile.in: Rebuild
948         * acconfig.h: remove SJLJ_EXCEPTIONS
949         * configure.in: rename SJLJ_EXCEPTIONS to EXCEPTIONSPEC.
950         Do not AC_DEFINE SJLJ_EXCEPTIONS.
951         * libgcj.spec.in: Add EXCEPTIONSPEC to jc1.
952         * gcj/Makefile.in, include/Makefile.in: rebuild.
953         * include/config.h.in: remove SJLJ_EXCEPTIONS.
954                 
955 1999-11-18  Andrew Haley  <aph@cygnus.com>
956
957         * gij.cc (main): Rename label to prevent conflict.
958
959         * exception.cc (_Jv_type_matcher): Don't check the table if we're
960         using setjmp/longjmp exceptions: there isn't one.
961
962 1999-11-17  Andrew Haley  <aph@cygnus.com>
963
964         * exception.cc (_Jv_type_matcher): Ignore null exception tables.
965         (_Jv_Throw ): Add SJLJ_EXCEPTIONS.
966         (__sjthrow): Add declaration.
967         * Makefile.am (JCFLAGS): Add SJLJ_EXCEPTIONS
968         (JC1FLAGS): Ditto
969         (AM_CFLAGS): Ditto
970         (AM_CXXFLAGS): Ditto
971         * Makefile.in: Rebuild
972         * acconfig.h: Add SJLJ_EXCEPTIONS
973         * configure.in: Add SJLJ_EXCEPTIONS
974         * configure: Rebuild.
975         * gcj/Makefile.in: Rebuild.
976         * gcj/cni.h: Add support for sjlj-exceptions.
977         * gcj/javaprims.h: Add _Jv_Sjlj_Throw.
978         * include/Makefile.in: Rebuild.
979         * include/default-signal.h: Add support for sjlj-exceptions.
980
981 1999-11-18  Tom Tromey  <tromey@cygnus.com>
982
983         * no-threads.cc (_Jv_ThreadStart): Use JvFail and not JvAssert.
984
985         * java/lang/natClass.cc (MCACHE_SIZE): Define as a power of 2
986         minus 1.
987         (method_cache): Made larger.
988
989 1999-11-11  Tom Tromey  <tromey@cygnus.com>
990
991         * posix-threads.cc (_Jv_MutexInit): Use _Jv_PthreadGetMutex when
992         initializing mutex.  Initialize `count' when required.
993
994 1999-11-07  Anthony Green  <green@trip.cygnus.com>
995
996         * java/util/zip/ZipFile.java: Compute the offset of the ZipEntry
997         data correctly.
998
999 1999-11-05  Tom Tromey  <tromey@cygnus.com>
1000
1001         * java/lang/natThread.cc (destroy): Removed incorrect comment.
1002
1003 1999-11-05  Jeff Sturm  <jsturm@sigma6.com>
1004
1005         * boehm.cc (_Jv_GCSetInitialHeapSize): Swapped size & current.
1006         * prims.cc (parse_heap_size): Use end, not spec.  Use 1024
1007         multipler for `k'.
1008
1009 1999-11-05  Tom Tromey  <tromey@cygnus.com>
1010
1011         * java/lang/natThread.cc (stop): Removed argument name.
1012
1013         * java/lang/ThreadGroup.java (ThreadGroup(int)): No longer
1014         `private'; now has default access.
1015         * Makefile.in: Rebuilt.
1016         * Makefile.am (java/lang/ThreadGroup.h): Removed.
1017
1018 1999-11-04  Tom Tromey  <tromey@cygnus.com>
1019
1020         * java/lang/natClass.cc (method_cache_count): Removed.
1021         (_Jv_FindMethodInCache): Don't loop looking for the hash entry.
1022         (_Jv_AddMethodToCache): Don't loop.
1023
1024         * configure.in: Removed `qt' threads case.
1025         * include/quick-threads.h: Removed.
1026         * quick-threads.cc: Removed.
1027
1028         * include/quick-threads.h (_Jv_ThreadCancel): Removed.
1029         (_Jv_ThreadDestroy): Likewise.
1030         * include/no-threads.h (_Jv_ThreadCancel): Removed.
1031         (_Jv_ThreadDestroy): Likewise.
1032         * include/posix-threads.h (struct _Jv_Thread_t): Removed
1033         `exception' field.
1034         (_Jv_ThreadCancel): Removed decl.
1035         (_Jv_ThreadDestroy): Removed.
1036         * posix-threads.cc (_Jv_ThreadCancel): Removed.
1037         (throw_cleanup): Removed.
1038         (really_start): Don't push or pop cleanup.
1039         (_Jv_ThreadInitData): Don't initialize `exception' field.
1040         * java/lang/Thread.java (stop): Officially unimplemented.
1041         * java/lang/natThread.cc (stop): Officially unimplemented.
1042
1043 1999-11-02  Bryce McKinlay  <bryce@albatross.co.nz>
1044
1045         * posix-threads.cc: Don't include boehm-config.h. Include gcconfig.h 
1046         instead.
1047
1048 1999-11-02  Tom Tromey  <tromey@cygnus.com>
1049
1050         * boehm.cc: Don't include boehm-config.h.
1051
1052 1999-11-01  Tom Tromey  <tromey@cygnus.com>
1053
1054         * boehm.cc (_Jv_InitGC): Set GC_java_finalization.
1055         (sum_blocks): Removed.
1056         (_Jv_GCFreeMemory): Use GC_get_free_bytes.
1057
1058 1999-11-01  Bryce McKinlay  <bryce@albatross.co.nz>
1059
1060         * java/io/PrintStream (PrintStream): Fix illegal usage of "this" 
1061           before "super".
1062         * java/io/OutputStreamWriter (OutputStreamWriter): ditto.
1063         * java/io/InputStreamReader (InputStreamReader): ditto.
1064
1065 1999-10-22  Tom Tromey  <tromey@cygnus.com>
1066
1067         * Makefile.in: Rebuilt.
1068         * Makefile.am (java/lang/ClassLoader.h): New target.
1069         * java/lang/natClassLoader.cc (_Jv_FindClass): Removed reference
1070         to `redirect'.
1071
1072         * include/java-props.h (_Jv_Compiler_Properties): Changed
1073         declaration.
1074         * gcj/array.h (JvRunMain, _Jv_RunMain): Don't declare.
1075         * include/jvm.h (_Jv_GCSetInitialHeapSize,
1076         _Jv_GCSetMaximumHeapSize): Declare.
1077         (JvRunMain, _Jv_RunMain): Declare.
1078         (_Jv_SetMaximumHeapSize, _Jv_SetInitialHeapSize): Declare.
1079         * nogc.cc (_Jv_GCSetInitialHeapSize): New function.
1080         (_Jv_GCSetMaximumHeapSize): Likewise.
1081         * boehm.cc (_Jv_GCSetInitialHeapSize): New function.
1082         (_Jv_GCSetMaximumHeapSize): Likewise.
1083         * prims.cc (parse_heap_size): New function.
1084         (_Jv_SetInitialHeapSize): Likewise.
1085         (_Jv_SetMaximumHeapSize): Likewise.
1086         (_Jv_Compiler_Properties): New global.
1087         * gij.cc (help): New function.
1088         (version): Likewise.
1089         (heap_size): Likewise.
1090         (heap_max_size): Likewise.
1091         (main): Parse arguments.  Set _Jv_Compiler_Properties.
1092         Include <config.h>, <java-props.h>.
1093         (_Jv_Compiler_Properties): Removed.
1094
1095 1999-10-18  Tom Tromey  <tromey@cygnus.com>
1096
1097         * gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): New
1098         method.
1099         (redirect): New static field.
1100         * java/lang/ClassLoader.java (getSystemClassLoader): Now
1101         native
1102         (getVMClassLoader0): Removed.
1103         * java/lang/natClassLoader.cc (getVMClassLoader0): Removed.
1104         (redirect): Removed.
1105         (getSystemClassLoader): Implemented.
1106
1107 1999-10-16  Anthony Green  <green@cygnus.com>
1108
1109         * java/lang/ClassLoader.java (getSystemResource): Use
1110         getSystemClassLoader instead of ClassLoader.system.
1111         (getSystemResourceAsStream): Ditto.
1112
1113         * java/lang/natClassLoader.cc (redirect): Make static and
1114         remove #ifdef INTERPRETER so it is always defined.
1115         (getVMClassLoader0): Remove #ifdef INTERPRETER so it always
1116         returns a VMClassLoader.
1117
1118         * java/util/ResourceBundle.java (trySomeGetBundle): Create a
1119         PropertyResourceBundle if a properties file is found before a
1120         ResourceBundle class.
1121
1122 1999-10-15  Tom Tromey  <tromey@cygnus.com>
1123
1124         * gij.cc (main): Formatting fixes.
1125         (_Jv_Compiler_Properties): Define.
1126         * java/lang/natSystem.cc (_Jv_Environment_Properties): Don't
1127         declare.
1128         (init_properties): Set properites from _Jv_Compiler_Properties.
1129         * include/java-props.h (_Jv_Compiler_Properties,
1130         _Jv_Environment_Properties): Declare.
1131
1132         * include/java-props.h: Added copyright.
1133
1134 1999-10-13  Anthony Green  <green@cygnus.com>
1135
1136         * libtool-version: Catch up by incrementing current.
1137
1138         * configure.host: Disable use of GCJ_PROPERTIES for mips-tx39.
1139         * configure, include/config.h.in: Rebuilt.
1140         * acconfig.h (DISABLE_GETENV_PROPERTIES): Undefine.
1141         * configure.in: Added --disable-getenv-properties and new define
1142         `DISABLE_GETENV_PROPERTIES'.
1143
1144         * prims.cc (PROCESS_GCJ_PROPERTIES): Define.
1145         (next_property_key): New function.
1146         (next_property_value): New function.
1147         (process_gcj_properties): New function.
1148         (JvRunMain): Call process_gcj_properties.
1149         (_JvRunMain): Ditto.
1150
1151         * java/lang/natSystem.cc (init_properties): Set properties defined
1152         in GCJ_PROPERTIES.
1153
1154         * include/java-props.h: New file.
1155
1156         * java/lang/natSystem.cc (init_properties): Add new properties to
1157         conform with Java Product Versioning Specification.
1158
1159 1999-10-12  Tom Tromey  <tromey@cygnus.com>
1160
1161         * configure: Rebuilt.
1162         * configure.in: Fixed test for --disable-java-net.
1163
1164 1999-10-06  Tom Tromey  <tromey@cygnus.com>
1165
1166         * configure.in (GCJ): Define as "target-gcj", not "target/gcj"
1167         when building Canadian cross.
1168         (NATIVE): Don't define when cross-compiling.
1169
1170 1999-10-04  Tom Tromey  <tromey@cygnus.com>
1171
1172         * java/net/natPlainSocketImpl.cc: Don't include headers if
1173         java.net is disabled.
1174
1175         * Makefile.in: Rebuilt.
1176         * Makefile.am (ZINCS): Removed.  This is defined in configure.in
1177         when needed, and must be left empty when not needed.
1178
1179 1999-10-01  Anthony Green  <green@cygnus.com>
1180
1181         * THANKS: Refreshed from htdocs version.
1182
1183 1999-10-01  Steve Chamberlain  <sac@pobox.com>
1184
1185         * Makefile.in: Rebuilt.
1186         * Makefile.am (ZINCS): Define
1187
1188         * configure: Rebuilt.
1189         * configure.in (ZLIBSPEC): Spell -lzgcj correctly.
1190
1191         * java/lang/ieeefp.h: Add definitions for picoJava.
1192
1193 1999-10-01  Tom Tromey  <tromey@cygnus.com>
1194
1195         * configure: Rebuilt.
1196         * configure.in: Set classpath when invoking gcj.  Use changequote
1197         around sed invocation.
1198
1199         * java/net/natPlainSocketImpl.cc: Stub native functions if
1200         DISABLE_JAVA_NET is defined.
1201         * java/net/natPlainDatagramSocketImpl.cc (setTimeToLive): Fixed
1202         typo in exception string.
1203         (getTimeToLive): Likewise.
1204         Stub native functions if DISABLE_JAVA_NET is defined.
1205         * java/net/natInetAddress.cc: Stub native functions if
1206         DISABLE_JAVA_NET is defined.
1207         * configure.host: Disable java.net for mips-tx39.
1208         * configure, include/config.h.in: Rebuilt.
1209         * acconfig.h (DISABLE_JAVA_NET): Undefine.
1210         * configure.in: Added --disable-java-net and new define
1211         `DISABLE_JAVA_NET'.
1212
1213 1999-09-30  Tom Tromey  <tromey@cygnus.com>
1214
1215         * java/net/natPlainDatagramSocketImpl.cc: Indentation fix.
1216
1217 1999-09-29  Bryce McKinlay  <bryce@albatross.co.nz>
1218
1219         * README: New file.
1220
1221 1999-09-28  Tom Tromey  <tromey@cygnus.com>
1222
1223         * configure: Rebuilt.
1224         * configure.in (PROCESS): In POSIX case, only set if not already
1225         set.
1226         * configure.host (PROCESS): Set in mips-tx39 case.
1227
1228         * aclocal.m4, configure: Rebuilt.
1229         * acinclude.m4 (LIB_AC_PROG_CC, LIB_AC_PROG_CXX): Provide
1230         appropriate AC_PROG_ symbol.
1231
1232 1999-09-24  Tom Tromey  <tromey@cygnus.com>
1233
1234         * include/sparc-signal.h (SIGNAL_HANDLER): Third argument now a
1235         `void *'.
1236         (MAKE_THROW_FRAME): Cast third argument back to `ucontext_t *'.
1237
1238         Fix for PR java.util/47:
1239         * configure, include/config.h: Rebuilt.
1240         * configure.in: Don't look for ctime or ctime_r.
1241         * Makefile.in: Rebuilt.
1242         * Makefile.am (nat_source_files): Don't mention natDate.cc.
1243         * java/util/natDate.cc: Removed.
1244         * java/util/TimeZone.java (tzIDs, rawOffsets, timeZones): New
1245         static fields.
1246         (getAvailableIDs): Rewrote.
1247         (getTimeZone): Rewrote.
1248         * java/util/Date.java (toGMTString): New method.
1249         (toLocaleString): New method.
1250         (toString): Rewrote.
1251
1252 1999-09-23  Tom Tromey  <tromey@cygnus.com>
1253
1254         * configure: Rebuilt.
1255         * configure.in: Print message when checking to see if gcj can
1256         handle -fuse-divide-subroutine.
1257
1258         * java/lang/natFirstThread.cc (run): Renamed from `run0'.  Removed
1259         dead code.
1260         * java/lang/FirstThread.java (run0): Renamed to `run'.
1261         (run): Removed.
1262
1263         * prims.cc (main_init): New function.
1264         (JvRunMain): Call it.
1265         (_Jv_RunMain): Likewise.
1266         Include <signal.h>.
1267         (main_init): Ignore SIGPIPE.  Fixes PR 51.
1268
1269 1999-09-22  Tom Tromey  <tromey@cygnus.com>
1270
1271         * libgcj.spec.in: Use `jc1' spec, not `cc1' spec.
1272
1273 1999-09-16  Bryce McKinlay  <bryce@albatross.co.nz>
1274
1275         * java/text/MessageFormat.java (MessageFormat(String)): Set the
1276         default locale.
1277         * java/text/NumberFormat.java: Check that object is a Number. If
1278         not, throw IllegialArgumentException.
1279
1280 1999-09-21  Tom Tromey  <tromey@cygnus.com>
1281
1282         * gnu/gcj/convert/Output_UTF8.java (write): Don't exit loop unless
1283         both `inlength' and `bytes_todo' are 0.  Simplified 2-byte case.
1284
1285         * include/posix-threads.h (_Jv_MutexDestroy): Use
1286         _Jv_PthreadGetMutex.
1287         (_Jv_MutexLock): Likewise.
1288         (_Jv_MutexUnlock): Likewise.
1289
1290         * java/io/OutputStreamWriter.java (OutputStreamWriter): Reverted
1291         previous patch; it too was incorrect.
1292         * java/io/PrintStream.java (PrintStream): Likewise.
1293
1294         * java/io/OutputStreamWriter.java (OutputStreamWriter): Don't
1295         refer to `this' before calling superclass constructor.
1296         * java/io/PrintStream.java (PrintStream): Don't refer to `this'
1297         before calling superclass constructor.
1298
1299 1999-09-20  Tom Tromey  <tromey@cygnus.com>
1300
1301         * configure: Rebuilt.
1302         * configure.in: Send output of `-fuse-divide-subroutine' test
1303         compilation to /dev/null.
1304
1305 1999-09-14  Tom Tromey  <tromey@cygnus.com>
1306
1307         * include/java-insns.h: Turned constants into an enum.  Added
1308         multiple-inclusion protection.
1309
1310 1999-09-10  Tom Tromey  <tromey@cygnus.com>
1311
1312         * configure: Rebuilt.
1313         * configure.in: Build include/Makefile.
1314         * Makefile.in: Rebuilt.
1315         * Makefile.am (SUBDIRS): Added gcj and include.
1316         (install-data-local): New target.
1317         (extra_headers): New macro.
1318         * include/Makefile.in: New file.
1319         * include/Makefile.am: New file.
1320
1321         * interpret.cc: Don't include gcj/field.h or gcj/cni.h.
1322         * java/lang/reflect/natField.cc: Don't include gcj/field.h or
1323         gcj/cni.h.
1324         * boehm.cc: Don't include java-threads.h or gcj/field.h.
1325         * resolve.cc: Include config.h.
1326         * defineclass.cc: Include config.h.
1327         * include/java-interp.h: Don't include config.h.
1328         * include/jvm.h: Include java-threads.h, Object.h, java-gc.h,
1329         cni.h.
1330
1331         * gcj/javaprims.h: Regenerated namespace decls.
1332         * classes.pl (scan): Don't put `;' after closing brace.
1333
1334         * Makefile.in: Rebuilt.
1335         * Makefile.am (INCLUDES): Added -I for top_srcdir.
1336         * configure.in: Create gcj/Makefile.
1337         * gcj/Makefile.in: New file.
1338         * gcj/Makefile.am: New file.
1339         * java/lang/Object.h: Don't include any other headers.
1340         * gcj/array.h: Renamed from include/java-array.h.
1341         * gcj/field.h: Renamed from include/java-field.h.
1342         * gcj/method.h: Renamed from include/java-method.h.
1343         * gcj/cni.h, gcj/javaprims.h: Moved from include/.
1344         Updated all files to reflect new include structure.
1345
1346 1999-09-09  Tom Tromey  <tromey@cygnus.com>
1347
1348         * configure: Rebuilt.
1349         * configure.in: Fixed typo; variable is THREADSPEC and not
1350         THREADSPECS.
1351
1352 1999-09-08  Tom Tromey  <tromey@cygnus.com>
1353
1354         * include/posix-threads.h (_Jv_PthreadCheckMonitor): Reverted
1355         previous change and implemented a correct test in the __m_count
1356         case.
1357
1358         * include/posix-threads.h (_Jv_PthreadCheckMonitor): Changed test
1359         in __m_count case.
1360
1361 1999-09-07  Tom Tromey  <tromey@cygnus.com>
1362
1363         * posix-threads.cc (_Jv_CondWait): pthread_ calls return error
1364         code and don't set errno.
1365
1366         * posix-threads.cc (_Jv_CondWait): Check `errno' against EINTR,
1367         not `r'.  Changed `done_sleeping' to a `bool'.
1368
1369 1999-09-07  Matt Welsh <mdw@cs.berkeley.edu>
1370
1371         * libjava/posix-threads.cc: Added _Jv_ThreadDataKey.
1372         Added FLAG_INTERRUPTED to indicate that a thread was interrupted
1373         by another thread, rather than by the GC.
1374         (_Jv_CondWait): Prevent premature thread wakeup by GC.
1375         (_Jv_InitThreads): Initialize _Jv_ThreadDataKey.
1376         * libjava/include/posix-threads.h (_Jv_ThreadCurrentData): New 
1377         function.
1378
1379 1999-09-03  Tom Tromey  <tromey@cygnus.com>
1380
1381         * configure: Rebuilt.
1382         * configure.in: Check for fstat function.
1383         * java/io/natFileDescriptorPosix.cc (available): Use fstat() if
1384         FIONREAD fails.
1385
1386 1999-09-02  Tom Tromey  <tromey@cygnus.com>
1387
1388         * include/java-array.h (jobjectArrayjchar): Removed unused
1389         declaration.
1390
1391         * java/lang/natClassLoader.cc (_Jv_WaitForState): Call
1392         _Jv_PrepareCompiledClass while holding class mutex.
1393
1394 1999-09-01  Tom Tromey  <tromey@cygnus.com>
1395
1396         * include/posix-threads.h (PTHREAD_MUTEX_IS_STRUCT): New define.
1397         (_Jv_PthreadGetMutex): Use it.
1398         (_Jv_PthreadCheckMonitor): Use new M_COUNT macros.
1399         (_Jv_MutexInit): Use PTHREAD_MUTEX_IS_STRUCT.
1400         (_Jv_MutexLock): Likewise.
1401         (_Jv_MutexUnlock): Likewise.
1402         * include/config.h.in: Rebuilt.
1403         * acconfig.h (PTHREAD_MUTEX_HAVE_M_COUNT,
1404         PTHREAD_MUTEX_HAVE___M_COUNT): New undefs.
1405         * configure: Rebuilt.
1406         * libgcj.spec.in: Don't mention INTERPSPEC.
1407         * configure.in (INTERPSPEC): Removed.
1408         Only run pthreads-related checks when using POSIX threads.  Check
1409         for m_count and __m_count in mutex structure.
1410
1411 1999-09-01  Matt Welsh <mdw@cs.berkeley.edu>
1412
1413         * java/lang/natClass.cc: Fixed notification of threads
1414         when class initialization is complete.
1415
1416 1999-09-01  Tom Tromey  <tromey@cygnus.com>
1417
1418         * java/lang/reflect/Modifier.java (ALL_FLAGS): New constant.
1419         * resolve.cc: Removed constants defined by
1420         java.lang.reflect.Modifier.
1421         Include <java/lang/reflect/Modifier.h>.
1422         (_Jv_ResolvePoolEntry): Use values from Modifier.
1423         (_Jv_DetermineVTableIndex): Likewise.
1424         (_Jv_PrepareClass): Likewise.
1425         (ncode): Likewise.
1426         * defineclass.cc (_Jv_ClassReader): Removed constants defined by
1427         java.lang.reflect.Modifier.
1428         Include <java/lang/reflect/Modifier.h>.
1429         (checkExtends): Use values from Modifier.
1430         (checkImplements): Likewise.
1431         (handleField): Likewise.
1432         (handleConstantValueAttribute): Likewise.
1433         (handleFieldsEnd): Likewise.
1434         (handleMethod ): Likewise.
1435         (handleMethodsEnd): Likewise.
1436         (handleClassBegin): Likewise.
1437         * interpret.cc: Removed constants defined by
1438         java.lang.reflect.Modifier.
1439         (continue1): Use values from Modifier.
1440         * java/lang/natClassLoader.cc: Removed constants defined by
1441         java.lang.reflect.Modifier.
1442
1443         * java/lang/natClassLoader.cc (_Jv_NewClass): Use
1444         JV_STATE_NOTHING, not `0'.
1445         * java/lang/Class.h: Replaced JV_STATE_ defines with enum.
1446
1447         * posix-threads.cc (_Jv_CondWait): Use _Jv_PthreadGetMutex.
1448         * include/posix-threads.h (_Jv_Mutex_t): Define as structure,
1449         except on Linux.
1450         (_Jv_PthreadGetMutex): New function.
1451         (_Jv_PthreadCheckMonitor): Use it.
1452         (_Jv_MutexInit): Likewise.  ALso, initialize `count'.
1453         (_Jv_MutexLock): Update `count'.
1454         (_Jv_MutexUnlock): Likewise.
1455         (_Jv_PthreadCheckMonitor): Use Linux-specific knowledge when
1456         appropriate.
1457
1458 1999-09-01  Kresten Krab Thorup  <krab@gnu.org>
1459
1460         * Makefile.am (.java.lo): Add rule.
1461
1462         * Makefile.in: Rebuilt.
1463
1464 1999-09-01  Tom Tromey  <tromey@cygnus.com>
1465
1466         * posix-threads.cc (_Jv_CondWait): Call _Jv_PthreadCheckMonitor.
1467         * include/posix-threads.h (_Jv_PthreadCheckMonitor): New
1468         function.
1469         (_Jv_CondNotify): Use it.
1470         (_Jv_CondNotifyAll): Likewise.
1471
1472         * java/lang/Class.h (JV_STATE_NOTHING): Correct misspelling.
1473
1474 1999-08-31  Tom Tromey  <tromey@cygnus.com>
1475
1476         * include/jvm.h (_Jv_makeUtf8TypeConst): Removed unused
1477         declaration.
1478
1479 1999-08-24  Bryce McKinlay  <bryce@albatross.co.nz>
1480
1481         * posix-threads.cc: Include <errno.h>.
1482
1483 1999-08-23  Tom Tromey  <tromey@cygnus.com>
1484
1485         * boehm.cc: Undefine TRUE and FALSE.
1486
1487         * posix-threads.cc (_Jv_CondWait): Use ETIMEDOUT, not ETIME.
1488
1489 1999-08-21  Tom Tromey  <tromey@cygnus.com>
1490
1491         * posix-threads.cc (_Jv_CondWait): Treat a timeout as a normal
1492         result.  PR 40.
1493
1494 1999-08-21  Alexandre Oliva  <oliva@dcc.unicamp.br>
1495
1496         * configure.in: Check for in_addr_t in netinet/in.h too.  Check
1497         for ip_mreq too.
1498         * acconfig.h: Define HAVE_IN_ADDR_T instead of in_addr_t.
1499         (HAVE_STRUCT_IP_MREQ): Added.
1500         * configure, include/config.h.in: Rebuilt.
1501         * java/net/natInetAddress.cc (aton): Typedef in_addr_t to jint
1502         if needed.
1503         * java/net/natPlainDatagramSocketImpl.cc (McastReq, mcastGrp):
1504         Disable if ip_mreq is not available.
1505         
1506         * configure.in: Check types ssize_t and in_addr_t.
1507         * acconfig.h: Undefine them.
1508         * configure, include/config.h.in: Rebuilt.
1509
1510         * java/lang/natSystem.cc (getpwuid_adaptor): New overloaded
1511         function that detects the signature of getpwuid_r.
1512         (init_properties): Use it.
1513         * java/util/natDate.cc (ctime_adaptor): Likewise for ctime_r.
1514         (toString): Use it.
1515
1516 1999-08-20  Kresten Krab Thorup  <krab@samam.daimi.au.dk>
1517
1518         * interpret.cc (continue1): Implement explicit dispatch table.
1519         insn_target: Explicit interpreter switch table.  
1520         SAVE_PC: New macro, moves pc saving code into instructions that
1521         require so.
1522         NEXT_INSN: New macro, replaces `goto next_insn' in all insns.
1523         PC_REGISTER_ASM: New macro.
1524         INLINE_SWITCH: New macro.  Constrols dispatching strategy.
1525         opcode: Remove local variable.
1526         {i,l,f,d}{load,store}_{0,1,2,3}: Expand definitions.
1527         (POKEI): Use _Jv_word.
1528         (iinc): Use _Jv_word.
1529         (dupx): Change reference argument (sp) to pointer.  
1530         (jvdump): Remove
1531         
1532         * interpret.cc: Remove instruction timing instrumentation.  
1533
1534         * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Changed
1535         comment.  Don't use _Jv_ClassNameSamePackage. 
1536
1537         * gnu/gcj/util/path/{SearchPath,ZipFileEntry,DirectoryPathEntry,
1538         URLPathEntry, CacheEntry}: Removed.
1539         
1540         * Makefile.am (ordinary_java_source_files): Remove gnu/gcj/util/path
1541         package.
1542         (.java.lo): Rule removed.
1543
1544         * Makefile.in: Rebuilt.
1545
1546 1999-08-19  Tom Tromey  <tromey@cygnus.com>
1547
1548         * java/lang/natThread.cc (class locker): New class.
1549         (join): Use a locker around _Jv_CondWait.
1550         (sleep): Likewise.
1551
1552 1999-08-18  Tom Tromey  <tromey@cygnus.com>
1553
1554         * java/lang/ThreadGroup.java: Fixed now-erroneous comment.
1555         * java/lang/natThread.cc (finish_): Call ThreadGroup.remove.
1556
1557 1999-08-18  Tom Tromey  <tromey@cygnus.com>
1558
1559         * include/javaprims.h ("Java"): Regenerated namespace decls.
1560
1561 1999-08-18  Kresten Krab Thorup  <krab@gnu.org>
1562
1563         * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Renamed
1564         from _Jv_InternClassStrings.   
1565
1566         * prims.cc (_Jv_RunMain): New function.
1567         (JvRunMain): Remove gij-support.
1568
1569         * gij.cc (main): Use _Jv_RunMain.
1570
1571         * java/util/zip/ZipFile.java: Call readDirectory in constructor.
1572
1573         * interpret.cc (PUSHA, PUSHI, PUSHF, PUSHL, PUSHD): Don't store
1574         argument in temp variable.
1575         (continue1): For all op_x2y insns, use temp variable for
1576         intermediate value.  Also remove some comments.
1577
1578         * java/lang/natClass.cc (newInstance): Call _Jv_InitClass.
1579         (forName): Don't call _Jv_InitClass.
1580
1581         * java/lang/Class.java (getResource,getResourceAsStream): Implement.
1582
1583         * java/util/zip/ZipEntry.java (ZipEntry(ZipEntry)): New construcor.
1584
1585         * java/util/jar/JarInputStream.java: New file.
1586
1587         * java/util/jar/JarEntry.java: New file.
1588
1589         * java/util/jar/JarFile.java: New file.
1590
1591         * java/net/URLClassLoader.java: New file.
1592
1593         * java/net/JarURLConnection.java: New file.
1594
1595         * gnu/gcj/protocol/jar/Handler.java: New file.
1596
1597         * gnu/gcj/protocol/jar/Connection.java: New file.
1598
1599         * java/security/SecureClassLoader.java: New file.
1600
1601         * java/lang/ClassLoader.java (parent): New variable.
1602         (ClassLoader (ClassLoader)): new constructor.  
1603         (findClass): New method.
1604         (loadClass): Add default 1.2 implementation.
1605         (getSystemResourceAsBytes, getResourceAsBytes): Removed.
1606         (readfully): Removed.
1607
1608         * gnu/gcj/runtime/VMClassLoader.java: Moved from java/lang. 
1609         (findSystemClass): New method.
1610         (VMClassLoader): Constructor rewritten.
1611         (init): New method.
1612         All other methods removed.
1613         
1614         * java/lang/natClassLoader.cc: Change use of java::lang::VMClassLoader
1615         to gnu::gcj::runtime::VMClassLoader. 
1616         (_Jv_InternClassStrings): Use _Jv_ResolvePoolEntry.  Also handle
1617         class entries.   
1618         (VMClassLoader::findSystemClass): renamed from findBootClass.
1619
1620         * Makefile.am: Add new files.
1621         (FirstThread.h, ThreadGroup.h): Add _Jv_Main friend.
1622
1623         * Makefile.in: Rebuilt.
1624
1625 1999-08-17  Tom Tromey  <tromey@cygnus.com>
1626
1627         * java/lang/natThread.cc (sleep): Turn 0 millis and 0 nanos into 1
1628         nano.
1629         * include/quick-threads.h (_Jv_CondWait): Don't round to 0
1630         inappropriately.
1631
1632 1999-08-16  Tom Tromey  <tromey@cygnus.com>
1633
1634         * configure: Rebuilt.
1635         * configure.in: Set DIVIDESPEC to empty string if compiler does
1636         not support -fuse-divide-subroutine.
1637
1638 1999-08-14  Per Bothner  <per@bothner.com>
1639
1640         * resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.
1641         * java/lang/natClass.cc (initializeClass): Likewise.
1642         * java/lang/ClassLoader.java (resolveClass0): New static method.
1643         (resolveClass): Call resolveClass0.
1644         (findSystemClass): No longer static.
1645
1646 1999-08-12  Alexandre Oliva  <oliva@dcc.unicamp.br>
1647
1648         * include/javaprims.h (TRUE, FALSE): Redefine as themselves.
1649
1650 1999-08-11  Bryce McKinlay  <bryce@albatross.co.nz>
1651
1652         * java/util/BitSet.java (set, clear, hashCode): specify "1" constant
1653         as long.
1654
1655 Mon Aug  9 18:33:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1656
1657         * Makefile: Rebuilt.
1658         * Makefile.am (toolexeclibdir): Add $(MULTISUBDIR) even for native
1659         builds.
1660
1661         * java/net/natPlainSocketImpl.cc: Include <sys/select.h> only if
1662         present.
1663
1664         * configure: Rebuilt.
1665         * configure.in: Properly align --help output, fix capitalization
1666         and punctuation.
1667         * acinclude.m4: Likewise.
1668
1669 1999-08-09  Kresten Krab Thorup  <krab@gnu.org>
1670
1671         * include/javaprims.h (_Jv_word, _Jv_word2): New types.
1672
1673         * include/java-interp.h (_Jv_InterpMethodInvocation): Use _Jv_word.
1674         (_Jv_callInterpretedMethod): Unused. Remove.
1675         (_Jv_InterpMethod::run,run_normal,run_synch_object,run_synch_class):
1676         Use ffi_raw.
1677         * include/java-cpool.h (_Jv_get, _Jv_put): Remove.
1678         (_Jv_{store,load}{Indexes,Int,Float,Long,Double}): Use _Jv_word.
1679         * boehm.cc (_Jv_MarkObj): Use _Jv_word.
1680         * interpret.cc: use _Jv_word.
1681         * defineclass.cc: use_Jv_word.
1682         * resolve.cc: Use _Jv_word.
1683         (_Jv_ResolvePoolEntry): Return _Jv_word.
1684         * java/lang/Class.h (_Jv_Constants): Use _Jv_word for cpool.
1685         * java/lang/natClassLoader.cc (_Jv_InternClassStrings): Use _Jv_word.
1686
1687         * interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1): 
1688         Change comment.
1689
1690 Mon Aug  9 18:33:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1691
1692         * configure: Rebuilt.
1693         * configure.in (sched_yield): Try librt first, then libposix4.
1694         Add -lrt, -lposix4 to THREADSPEC.
1695
1696 1999-08-08  Anthony Green  <green@cygnus.com>
1697
1698         * gnu/gcj/util/path/SearchPath.java: Comment out verbose output.
1699
1700 1999-08-08  Anthony Green  <green@cygnus.com>
1701
1702         * defineclass.cc (_Jv_VerifyClassName): Verify array names
1703         correctly.
1704
1705 1999-08-08  Anthony Green  <green@cygnus.com>
1706
1707         * gij.cc: New file.
1708
1709         * include/config.h.in: Rebuilt.
1710         * acconfig.h: Add INTERPRETER.
1711
1712         * Makefile.in: Rebuilt.
1713         * Makefile.am (libffi_files): Identify the libffi object files for
1714         inclusion in libgcj.
1715         (LIBFFIINCS): Define.
1716
1717         * interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1):
1718         Dummy definition for configurations without an interpreter.
1719         
1720         * java/net/natPlainSocketImpl.cc (getOption): Disamiguate call to
1721         java::lang::Boolean constructor.
1722
1723         * include/java-interp.h: Always include java-cpool.h.
1724
1725         * java/lang/natClassLoader.cc (getVMClassLoader0): Always return 0
1726         when INTERPRETER not defined.
1727
1728         * java/lang/Class.h (finalize): Define.
1729
1730         * gnu/gcj/util/path/DirectoryPathEntry.java (getURL): Catch
1731         IOException from File.getCanonicalPath.
1732         (getStream): Likewise.
1733
1734         * NEWS: More news.
1735         * THANKS: More thanks.
1736
1737 1999-08-08  Kresten Krab Thorup  <krab@gnu.org>
1738
1739         * resolve.cc (get_ffi_type_from_signature): Generate uint16 for
1740         jchar type.
1741         (_Jv_PrepareClass): Allow non-abstract classes to
1742         have abstract subclasses.
1743         (_Jv_ResolvePoolEntry): Revert subclass check for protected
1744         fields and methods.
1745         * interpret.cc (continue1/perform_invoke): Don't sign extend
1746         uint16 return val. 
1747         (continue1/lshl,lshr): Push long, not int.
1748         (continue1/ulshr): Use UINT64, not long long.
1749         * defineclass.cc (handleFieldsEnd): Handle case when all fields
1750         are static.
1751         * java/lang/natClass.cc (forName): Add call to _Jv_InitClass.
1752         * java/lang/FirstThread.java (run): Add top-level exception
1753         handler. 
1754         (run0): Renamed from run.
1755
1756 1999-08-08  Kresten Krab Thorup  <krab@gnu.org>
1757  
1758         * configure.in (--with-interpreter): Added.
1759         * include/config.h.in (INTERPRETER): Added.
1760  
1761         * java/lang/ClassLoader.java: File replaced.
1762         * java/lang/VMClassLoader.java: New file.
1763         * java/lang/natClassLoader.cc: New file.
1764         * gnu/gcj/runtime/MethodInvocation.java: New file.
1765         * gnu/gcj/util/path/SearchPath.java: New file.
1766         * gnu/gcj/util/path/PathEntry.java: New file.
1767         * gnu/gcj/util/path/DirectoryPathEntry.java: New file.
1768         * gnu/gcj/util/path/ZipPathEntry.java: New file.
1769         * gnu/gcj/util/path/URLPathEntry.java: New file.
1770         * gnu/gcj/util/path/CacheEntry.java: New file. 
1771         * include/java-interp.h: New file.
1772         * include/java-cpool.h: New file.
1773         * include/java-insns.h: New file.
1774         * defineclass.cc: New file.
1775         * interpret.cc: New file.
1776         * resolve.cc: New file.
1777  
1778         * java/lang/natClass.cc (loaded_classes, _Jv_RegisterClass,
1779         _Jv_RegisterClasses, _Jv_FindClassInCache, _Jv_FindClass,
1780         _Jv_NewClass, _Jv_FindArrayClass): Moved to natClassLoader.cc.
1781         (finalize): New.
1782         (STATE_NOTHING, STATE_RESOLVED, STATE_IN_PROGRESS, STATE_DONE,
1783         STATE_ERROR): Moved to java/lang/Class.h and renamed with JV_
1784         prefix. 
1785         (initializeClass): Use new JV_ prefixed names.  Also, call
1786         ClassLoader::resolveClass instead of _Jv_ResolveClass.
1787                 
1788         * java/lang/Class.h (JV_STATE_PRELOADING, JV_STATE_LOADING,
1789         JV_STATE_LOADED, JV_STATE_COMPILED, JV_STATE_PREPARED,
1790         JV_STATE_LINKED): New.
1791         (_Jv_WaitForState, _Jv_RegisterInitiatingLoader,
1792         _Jv_UnregisterClass, _Jv_InternClassStrings): New friends.
1793         (_Jv_IsInterpretedClass, _Jv_InitField, _Jv_LookupDeclaredMethod,
1794         _Jv_DetermineVTableIndex, _Jv_ResolvePoolEntry, _Jv_PrepareClass,
1795         _Jv_ClassReader, _Jv_InterpClass, _Jv_InterpMethod,
1796         _Jv_InterpMethodInvocation): New friends for interpreter.
1797         (finalize): New.
1798         (CONSTANT_Class, CONSTANT_String, etc.): Moved to
1799         include/java-cpool.h and renamed with JV_ prefix.
1800         
1801         * include/jvm.h (_Jv_makeUtf8Const, _Jv_makeUtf8TypeConst): New
1802         decls.
1803         (_Jv_UnregisterClass): New decl.
1804  
1805         * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added
1806         class loader argument. 
1807         (_Jv_FindClass): Use class loader.
1808         
1809         * prims.cc (_Jv_makeUtf8Const): New function.
1810         (_Jv_NewObjectArray): Change use of _Jv_FindArrayClass.
1811         (_Jv_NewPrimArray): Ditto.
1812         (_Jv_FindClassFromSignature): Ditto.
1813         * java/lang/reflect/natArray.cc (newInstance): Ditto.
1814         * java/lang/reflect/natMethod.cc (getType): Ditto.
1815  
1816         * include/java-field.h (_Jv_Field::isRef): Make robust for
1817         non-resolved contexts. 
1818  
1819         * boehm.cc (_Jv_MarkObj): Mark interpreter-related fields. 
1820         Also, don't mark class->next field.
1821  
1822         * java/lang/VirtualMachineError.java: Added FIXME note.
1823  
1824         * configure.in (INTERPSPEC): New spec.
1825         * libgcj.spec.in: Added INTERPSPEC.
1826         * Makefile.am: Added gcjh friends for java/lang/VMClassLoader and
1827         gnu/gcj/runtime/MethodInvocation.
1828         (libgcj_la_SOURCES): Added resolve.cc defineclass.cc interpret.cc.
1829         (ordinary_java_source_files): Added above mentioned java classes.
1830  
1831         * configure: Rebuilt.
1832         * Makefile.in: Rebuilt.
1833
1834 1999-08-06  Tom Tromey  <tromey@cygnus.com>
1835
1836         * configure: Rebuilt.
1837         * configure.in: Look for sched_yield in -lrt.
1838
1839 1999-08-06  Mojo Jojo <mojojojo@pacbell.net>
1840
1841         * java/util/Locale.java, CHINESE, ENGLISH, FRENCH, GERMAN,
1842         ITALIAN, JAPANESE, KOREAN, CANADA_FRENCH, GERMANY, ITALY, KOREA,
1843         SIMPLIFIED_CHINESE, TRADITIONAL_CHINESE, PRC, TAIWAN, CHINA): New
1844         locales.
1845         (toString): Print correctly when `country' is empty.
1846
1847 1999-08-04  Per Bothner <per@bothner.com>
1848
1849         * configure.in:  Also do AC_SUBST for DIVIDESPEC.
1850
1851 1999-08-02  Tom Tromey  <tromey@cygnus.com>
1852
1853         * aclocal.m4, configure: Rebuilt for new libtool.
1854
1855 1999-08-02  Bryce McKinlay  <bryce@albatross.co.nz>
1856
1857         * boehm.cc (_Jv_RegisterFinalizer): Cast `meth' to GC_PTR.
1858         * exception.cc (_Jv_Throw): Cast `_Jv_type_matcher' to __eh_matcher.
1859         * java/net/ServerSocket.java: Define ANY_IF.
1860         (ServerSocket (int,int)): Use ANY_IF instead of null to bind to
1861         all network interfaces.
1862         * java/net/DatagramSocket.java (DatagramSocket): ditto.
1863         * java/net/natPlainSocketImpl.cc (bind): Expect `0.0.0.0' instead of
1864         null.
1865         * java/net/natPlainDatagramSocketImpl (bind): Expect `0.0.0.0'
1866         instead of null.
1867         * java/io/natFile.cc (performMkdir): Remove FIXME.
1868         * java/io/natFileDescriptorPosix.cc (open): Use 0644 file mode.
1869
1870 1999-08-01  Alexandre Oliva  <oliva@dcc.unicamp.br>
1871
1872         * configure.in: Check for bstring.h.
1873         * configure, include/config.h.in: Rebuilt.
1874         * java/net/natPlainDatagramSocketImpl.cc: #include bstring.h.
1875         * java/net/natPlainSocketImpl.cc: Likewise.
1876
1877 1999-07-31  Tom Tromey  <tromey@cygnus.com>
1878
1879         * NEWS: Likewise.
1880         * THANKS: New file.
1881
1882 1999-07-31  Alexandre Oliva  <oliva@dcc.unicamp.br>
1883
1884         * configure.in: Check for struct hostent_data and need for
1885         -D_REENTRANT for gethostbyname_r declaration.
1886         * java/net/natInetAddress.cc: Define _REENTRANT if needed.
1887         (lookup): Use hostent_data for fixed_buffer.
1888         * configure, include/config.h.in: Rebuilt.
1889
1890 1999-07-31  Alexandre Oliva  <oliva@dcc.unicamp.br>
1891
1892         * java/lang/natSystem.cc (arraycopy): Use bcopy if memmove is not
1893         available.  Don't cast memmove args to (void*).
1894         * configure.in: Do not abort if memmove is not available.
1895
1896 1999-07-22  Bryce McKinlay  <bryce@albatross.co.nz>
1897
1898         * java/lang/natString.cc (substring): optimize where substring is
1899         entire String.
1900         * java/io/File.java (getName): don't return separator with file name.
1901         * java/io/natFile.cc (attr): fix overflow.
1902
1903 Sun Jul 25 01:43:34 1999  Anthony Green  <green@cygnus.com>
1904
1905         * mauve-libgcj: Disable Object Serialization tests.
1906
1907 1999-07-20  Warren Levy  <warrenl@cygnus.com>
1908
1909         * java/net/DatagramSocket.java (DatagramSocket(int, InetAddress)):
1910         Default to using PlainDatagramSocketImpl.
1911         * java/net/PlainDatagramSocketImpl.java (close): Catch IOException.
1912
1913 1999-07-19  Tom Tromey  <tromey@cygnus.com>
1914
1915         * include/stamp-h.in: New file.
1916
1917 1999-07-12  Tom Tromey  <tromey@cygnus.com>
1918
1919         * java/lang/mprec.h: Protect definition of uint32_t with #ifndef
1920         _UINT32_T.
1921
1922 1999-07-07  Andrew Haley  <aph@cygnus.com>
1923
1924         * include/i386-signal.h (MAKE_THROW_FRAME): Advance EIP by two
1925         bytes to make it point after the instruction where the trap
1926         occurred.
1927         (HANDLE_DIVIDE_OVERFLOW): Ditto.
1928
1929 1999-07-07  Tom Tromey  <tromey@cygnus.com>
1930
1931         * mauve-libgcj: Explicitly enable formerly disabled java.text
1932         tests.
1933
1934         * mauve-libgcj: Turn off ClassTest test.  Enable java.text tests
1935         again.
1936
1937 Mon Jul  5 12:01:35 1999  Anthony Green  <green@cygnus.com>
1938
1939         * java/net/URL.java (equals): Compare strings using String.equals.
1940         * java/net/URL.java (sameFile): Ditto.
1941
1942 1999-07-02  Warren Levy  <warrenl@cygnus.com>
1943
1944         * configure: Rebuilt.
1945         * configure.in: Added inet_ntoa to AC_CHECK_FUNCS.
1946         * include/config.h.in: Rebuilt.
1947         * java/net/natPlainDatagramSocketImpl.cc: Added header checking.
1948         (mcastGrp): Updated FIXME comments.
1949         (setOption): Fixed typo.
1950         (getOption):Implemented IP_MULTICAST_IF.
1951
1952 1999-07-02  Warren Levy  <warrenl@cygnus.com>
1953
1954         * java/net/PlainDatagramSocketImpl.java (ttl): Removed.
1955         * java/net/natPlainDatagramSocketImpl.cc (setTimeToLive): Implemented.
1956         (getTimeToLive): Implemented.
1957         (setOption): Implemented IP_MULTICAST_IF.
1958
1959 1999-07-01  Bryce McKinlay  <bryce@albatross.co.nz>
1960
1961         * java/lang/String.java (toString): Check for this == null and throw
1962         NullPointerException.
1963
1964 1999-07-01  Warren Levy  <warrenl@cygnus.com>
1965
1966         * gnu/gcj/convert/BytesToUnicode.java (read): Changed outlength
1967         to count and revised comments to match.
1968         * gnu/gcj/convert/Input_EUCJIS.java (read): Same as Input_8859_1.java.
1969         * gnu/gcj/convert/Input_JavaSrc.java (read): ditto.
1970         * gnu/gcj/convert/Input_SJIS.java (read): ditto.
1971         * gnu/gcj/convert/Input_UTF8.java (read): ditto.
1972         * gnu/gcj/convert/natInput_EUCJIS.cc (read): ditto.
1973         * gnu/gcj/convert/natInput_SJIS.cc (read): ditto.
1974
1975 1999-07-01  John-Marc Chandonia  <jmc@cmpharm.ucsf.edu>
1976
1977         * gnu/gcj/convert/Input_8859_1.java (read): Use 3rd parameter
1978         properly as count rather than outlength.
1979         * java/io/BufferedOutputStream.java (write(byte[],int,int): Flush
1980         output on overflow rather than buffer fill.
1981         * java/io/BufferedReader.java (fill): Don't clear out the buffer
1982         if markPos is 0 and there is still room in the buffer.
1983
1984 1999-07-01  Andrew Haley  <aph@cygnus.com>
1985
1986         * include/i386-signal.h: Replace sigaction () with __sigaction ().
1987         This is a workaround for a bug in glibc's pthreads package which
1988         doesn't deliver any sigcontext information to a signal handler.
1989
1990 1999-06-24  Tom Tromey  <tromey@cygnus.com>
1991
1992         * java/lang/e_asin.c: Don't use __int32_t or __uint32_t.
1993         * java/lang/fdlibm.h (HUGE): Conditionally define.
1994
1995 Fri May 28 22:20:03 1999  Anthony Green  <green@cygnus.com>
1996
1997         * java/lang/fdlibm.h: Don't use __uint32_t.  Include mprec.h.
1998         * java/lang/e_log.c: Don't use __uint32_t.
1999
2000 1999-05-27  Eric Christopher <echristo@cygnus.com>
2001
2002         * configure: Rebuilt
2003         * configure.in: Fixed ISO C9X and namespace collision with __uint32_t
2004         * acconfig.h: Rebuilt
2005         * include/config.h.in: Rebuilt
2006
2007         * java/lang/mprec.h, java/lang/e_acos.c, java/lang/e_asin.c,
2008         java/lang/e_atan2.c, java/lang/e_exp.c, java/lang/e_fmod.c,
2009         e_log.c, java/lang/e_pow.c, java/lang/e_rem_pio2.c,
2010         java/lang/e_remainder.c, java/lang/e_sqrt.c, java/lang/fdlibm.h,
2011         k_tan.c, java/lang/mprec.h, java/lang/s_atan.c,
2012         java/lang/s_ceil.c, java/lang/s_copysign.c, java/lang/s_fabs.c,
2013         s_floor.c, java/lang/s_rint.c, java/lang/sf_rint.c: Fixed ISO C9X
2014         and namespace collision with __uint32_t
2015
2016 1999-06-23  Tom Tromey  <tromey@cygnus.com>
2017
2018         * java/util/zip/InflaterInputStream.java (read): Throw
2019         ZipException if inflater throws a DataFormatException.
2020
2021 1999-06-23  Warren Levy  <warrenl@cygnus.com>
2022
2023         * java/net/DatagramSocketImpl.java (localPort): Fixed typo to match JDK.
2024         * java/net/natPlainDatagramSocketImpl.cc (bind): ditto.
2025         * java/text/ChoiceFormat.java (nextDouble(double, boolean)): Method
2026         is not final per JDK.
2027         * java/util/PropertyResourceBundle.java (handleGetObject): Method is
2028         public per JDK.
2029         * java/util/zip/DataFormatException.java: Class extends Exception.
2030         * java/util/zip/Deflater.java (finalize): Method is protected per JDK.
2031         * java/util/zip/ZipEntry.java: Class implements ZipConstants.
2032         * java/util/zip/ZipInputStream.java: ditto.
2033         (closeEntry): Changed method name to match JDK spec.
2034
2035 1999-06-21  Tom Tromey  <tromey@cygnus.com>
2036
2037         * java/lang/ieeefp.h (__IEEE_LITTLE_ENDIAN): Define for alpha.
2038         From Jeff Sturm.
2039
2040         * Makefile.in: Rebuilt.
2041         * Makefile.am (toolexeclibdir): Define as libdir when
2042         appropriate.
2043         * configure: Rebuilt.
2044         * configure.in (USE_LIBDIR): New conditional.
2045
2046 1999-06-18  Bryce McKinlay  <bryce@albatross.co.nz>
2047
2048         * java/net/natInetAddress.cc (lookup): Preserve caller-supplied
2049         hostname in returned InetAddress objects.
2050         (getLocalHostname): Fix typo.
2051         * java/net/InetAddress.java (getByName): Set hostname on return
2052         object.
2053         (getLocalHost): Call lookup directly to ensure that a fully-qualified
2054         name is returned.
2055
2056 1999-06-17  Bryce McKinlay  <bryce@albatross.co.nz>
2057
2058         * java/net/natPlainSocketImpl.cc (bind): Bind to any/all network
2059         interfaces if host==NULL. 
2060         (accept): Throw message with InterruptedIOException.
2061         (getOption): Cache localAddress.
2062         * java/net/natPlainDatagramSocketImpl.cc (bind): Don't need
2063         'address' for DatagramSocket.
2064         (setTimeToLive): Fix compiler warnings.
2065         (getOption): Cache localAddress.
2066         * java/net/Socket.java (getLocalAddress): Don't need local
2067         InetAddress object. Add FIXME comment about calling checkConnect().
2068         * java/net/ServerSocket.java (ServerSocket(int)): Initialize
2069         connection queue to 50 as per JDK 1.2 docs.
2070         (ServerSocket(int,int)): Listen on all network interfaces by
2071         default, per JDK 1.2 docs.
2072         * java/net/PlainDatagramSocketImpl.java: Don't need 'address'.
2073         Add localAddress caching. 
2074
2075 1999-06-15  Bryce McKinlay  <bryce@albatross.co.nz>
2076
2077         * java/io/FilterOutputStream.java (write(byte[])): Rewrite according
2078         to JDK 1.2 docs.
2079         (write(byte[],int,int)): ditto.
2080
2081 1999-06-14  Bryce McKinlay  <bryce@albatross.co.nz>
2082
2083         * posix-threads.cc (_Jv_CondWait): Fix currentTimeMillis() overflow.
2084
2085 1999-06-11  Warren Levy  <warrenl@cygnus.com>
2086
2087         * mauve-libgcj: Activated java.net Mauve tests.
2088
2089 1999-06-10  Bryce McKinlay  <bryce@albatross.co.nz>
2090
2091         * java/net/natInetAddress.cc (aton): Fix typos.
2092         (lookup): Use a bigger buffer size for gethostbyname_r on all
2093         versions of glibc. Updated FIXME comment explaining this.
2094         Modified while loops to not set herr = ERANGE to work around glibc 
2095         problems. Use user specified hostname in InetAddress result when
2096         available (consistent with JDK).
2097
2098 1999-06-10  Warren Levy  <warrenl@cygnus.com>
2099
2100         * java/io/FileDescriptor.java (FileDescriptor(String, int)):
2101         Throw FileNotFoundException instead of IOException.
2102         (open): ditto.
2103         * java/io/FileInputStream.java (FileInputStream): Doesn't throw
2104         IOException.
2105         * java/text/Collator.java (CANONICAL_DECOMPOSITION): Fixed typo
2106         in static field name.
2107         * java/text/DecimalFormat.java: Throw IllegalArgumentException
2108         throughout rather than ParseException.
2109
2110 1999-06-09  Bryce McKinlay  <bryce@albatross.co.nz>
2111
2112         * java/lang/Runtime.java (exec): Convert prog name and arguments
2113         to string array.
2114         * java/lang/natPosixProcess.cc (startProcess): Fix typo in
2115         environment array conversion. Preserve current environment if envp
2116         not passed. Preserve PATH unless explicitly specified.
2117         * java/io/DataInputStream.java (readLine): Fix case where '\r' is
2118         followed by EOF. Set a flag when a line is terminated by '\r' and
2119         ignore following '\n' if set.
2120
2121 1999-06-02  Warren Levy  <warrenl@cygnus.com>
2122
2123         * java/net/URL.java (URL(URL,String)): Initialize port to -1.
2124         Ignore context if spec is an absolute URL.  Fix braindead
2125         string comparison.
2126         (hashCode): Use JDK 1.2 style algorithm.
2127         * java/net/URLStreamHandler.java (parseURL): Reimplement to handle
2128         context URL properly.
2129
2130 1999-05-30  Anthony Green  <green@cygnus.com>
2131
2132         * java/net/URLStreamHandler.java (parseURL): Parse relative URLs
2133         correctly.  Clean up "/../" an\e[Bd "/./" path fragments.
2134
2135 1999-05-28  Warren Levy  <warrenl@cygnus.com>
2136
2137         * java/net/DatagramSocket.java (laddr): Removed.
2138         (DatagramSocket): Removed attempts to get or set laddr if null.
2139         (getLocalAddress): Reimplemented per spec.
2140         * java/net/MulticastSocket.java (setTimeToLive): Throw exception
2141         when ttl is 0.
2142         (joinGroup): Throw NullPointerException if any argument is null.
2143         (leaveGroup): ditto.
2144         * java/net/PlainDatagramSocketImpl.java: Updated comments.
2145         * java/net/PlainSocketImpl.java (timeout): Added.
2146         (getInputStream): Added FIXME comment on how to support timeouts
2147         for TCP.
2148         * java/net/ServerSocket.java (ServerSocket): Added FIXME comment.
2149         * java/net/Socket.java: Added FIXME comments to identify
2150         conflicting specs between the JCL and JDK 1.2 documents.
2151         * java/net/natPlainDatagramSocketImpl.cc (bind): Use INADDR_ANY
2152         if host is null.  Get localport value resolved by kernel if bind
2153         lport is 0.
2154         (receive): Implemented support for timeouts in UDP.
2155         (setOption): Implemented based on natPlainSocketImpl version.
2156         (getOption): ditto.
2157         * java/net/natPlainSocketImpl.cc (bind): Get localport value
2158         resolved by kernel if bind lport is 0.
2159         (connect): Get localport value resolved by kernel if bind wasn't
2160         done to set localport.
2161         (accept): Implemented support for timeouts for ServerSocket.
2162         (setOption): Save value for SO_TIMEOUT.
2163         (getOption): Return timeout for SO_TIMEOUT.
2164
2165 1999-05-26  Bryce McKinlay <bryce@albatross.co.nz>
2166
2167         * java/net/DatagramSocket.java (getSoTimeout): Verify class type.
2168         * java/net/DatagramSocketImpl.java (getOption): Made abstract.
2169         (setOption): Made abstract.
2170         * java/net/PlainDatagramSocketImpl.java: Mirror SocketOptions fields
2171         to avoid cpp conflicts in native code.
2172         * java/net/PlainSocketImpl.java: Mirror SocketOptions fields to avoid
2173         cpp conflicts in native code.
2174         * java/net/ServerSocket.java (toString): Prepended "ServerSocket".
2175         * java/net/Socket.java (getLocalAddress): Implemented.
2176         (setTcpNoDelay): Implemented.
2177         (getTcpNoDelay): Implemented.
2178         (setSoLinger): Implemented.
2179         (getSoLinger): Implemented.
2180         (getSoTimeout): Verify class type.
2181         (setSendBufferSize): Implemented.
2182         (getSendBufferSize): Implemented.
2183         (setReceiveBufferSize): Implemented.
2184         (getReceiveBufferSize): Implemented.
2185         (toString): Prepended "Socket".
2186         * java/net/SocketImpl.java (toString): Rewritten.
2187         (getOption): Made abstract.
2188         (setOption): Made abstract.
2189         * java/net/natPlainSocketImpl.cc (connect): Set localport properly.
2190         (setOption): Implemented.
2191         (getOption): Implemented.
2192
2193 1999-05-26  Warren Levy  <warrenl@cygnus.com>
2194
2195         * java/net/DatagramSocket.java (DatagramSocket): Get local host
2196         address when null.  Set SO_REUSEADDR for multicasts.
2197         (getSoTimeout): Implemented.
2198         (setSoTimeout): Implemented.
2199         * java/net/DatagramSocketImpl.java: Implement SocketOptions interface.
2200         * java/net/MulticastSocket.java (getInterface): Implemented.
2201         (setInterface): Implemented.
2202         (setTimeToLive): Check for invalid ttl.
2203         (joinGroup): Verify multicast address and security.
2204         (leaveGroup): Verify multicast address and security.
2205         (send): Implemented.
2206         * java/net/PlainDatagramSocketImpl.java (timeout): Added.
2207         (iface): Added.
2208         (ttl): Added.
2209         (setOption): Added.
2210         (getOption): Added.
2211         (mcastGrp): Added.
2212         (getTTL): Implemented as non-native.
2213         (setTTL): ditto.
2214         (join): ditto.
2215         (leave): ditto.
2216         * java/net/ServerSocket.java (setSoTimeout): Implemented.
2217         (getSoTimeout): Implemented.
2218         (setSocketFactory): Made synchronized.
2219         * java/net/Socket.java (setSoTimeout): Implemented.
2220         (getSoTimeout): Implemented.
2221         (close): Made synchronized.
2222         (setSocketImplFactory): Made synchronized.
2223         * java/net/SocketImpl.java: Implement SocketOptions interface.
2224         * java/net/natInetAddress.cc: Corrected module name at top of file.
2225         * java/net/natPlainDatagramSocketImpl.cc (McastReq): Added union.
2226         (bind): Added FIXME.
2227         (peek): Implemented.
2228         (setTTL): Removed.
2229         (getTTL): Removed.
2230         (join): Removed.
2231         (leave): Removed.
2232         (mcastGrp): Added.
2233         (setOption): Implemented for SO_REUSEADDR.
2234         (getOption): Implemented for SO_REUSEADDR.
2235
2236 1999-05-24  Tom Tromey  <tromey@cygnus.com>
2237
2238         * java/util/ResourceBundle.java (getBundle): Throw
2239         NullPointerException if baseName is null.
2240
2241 1999-05-22  Tom Tromey  <tromey@cygnus.com>
2242
2243         * java/util/zip/ZipInputStream.java (fill): New method.
2244         (compressed_len): New instance variable.
2245         (getNextStream): Set it.
2246         (read): Reset inflater on EOF.  Only read via `super' if entry is
2247         deflated.
2248         (skip): Only skip via `super' if entry is deflated.
2249         * java/util/zip/Deflater.java (last_input_count): Removed.
2250         * java/util/zip/natDeflater.cc (deflate): Return 0 if input array
2251         is length 0.
2252         (needsInput): Don't use last_input_count.
2253         (setInput): Don't set last_input_count.
2254         * java/util/zip/natInflater.cc (getRemaining): Return correct
2255         result.
2256         (inflate): Return 0 if input array is length 0.
2257         (setInput): Don't set last_input_count.
2258         * java/util/zip/Inflater.java (last_input_count): Removed.
2259
2260 1999-05-21  Tom Tromey  <tromey@cygnus.com>
2261
2262         * Makefile.in: Rebuilt.
2263         * Makefile.am (INCLUDES): Added $(ZINCS).
2264         * configure: Rebuilt.
2265         * configure.in (ZINCS): New subst.
2266
2267 1999-05-21  Andrew Haley  <aph@cygnus.com>
2268
2269         * include/sparc-signal.h (INIT_FPE, INIT_SEGV): SA_NODEFER added
2270         to signal options to allow the same exceptions to be rethrown
2271         later.
2272
2273 1999-05-20  Andrew Haley  <aph@cygnus.com>
2274
2275         * libjava/prims.cc (catch_fpe): Call to HANDLE_DIVIDE_OVERFLOW
2276         added.
2277         * include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): New macro.
2278         (INIT_FPE): Exception string made more informative.
2279         * include/sparc-signal.h (INIT_FPE): Exception string made more
2280         informative.
2281         * testsuite/libjava.lang/Divide_1.java: New file.
2282         * testsuite/libjava.lang/Divide_1.out: New file.
2283
2284 1999-05-19  Tom Tromey  <tromey@cygnus.com>
2285
2286         * aclocal.m4, configure: Rebuilt.
2287         * acinclude.m4 (version): New variable; pass to AM_INIT_AUTOMAKE.
2288
2289         * java/util/zip/GZIPOutputStream.java (write(byte[])): New
2290         method.
2291
2292         * java/util/zip/natInflater.cc (inflate): Cast `len' to unsigned.
2293         Include <stdlib.h>.
2294         * java/util/zip/natDeflater.cc (deflate): Cast `len' to unsigned.
2295         Include <stdlib.h>.
2296         (update): Fail in default case.  Always initialize `strat'.
2297
2298         * mauve-libgcj: Enable java.util.zip.
2299
2300 1999-05-18  Warren Levy  <warrenl@cygnus.com>
2301
2302         * Makefile.am (ordinary_java_source_files): Added DatagramPacket.java,
2303         DatagramSocket.java, DatagramSocketImpl.java, MulticastSocket.java,
2304         PlainDatagramSocketImpl.java, and SocketOptions.java.
2305         (nat_source_files): Added natPlainDatagramSocketImpl.cc.
2306         * Makefile.in: Rebuilt.
2307
2308         * java/net/DatagramPacket.java: New file.
2309         * java/net/DatagramSocket.java: New file.
2310         * java/net/DatagramSocketImpl.java: New file.
2311         * java/net/MulticastSocket.java: New file.
2312         * java/net/PlainDatagramSocketImpl.java: New file.
2313         * java/net/SocketOptions.java: New file.
2314         * java/net/natPlainDatagramSocketImpl.cc: New file.
2315
2316 1999-05-18  Tom Tromey  <tromey@cygnus.com>
2317
2318         * java/util/zip/ZipOutputStream.java (level): Initial value is
2319         Deflater.DEFAULT_COMPRESSION.
2320         (close): New method.
2321         (closeEntry): Likewise.
2322         (finish): Likewise.
2323         (put_version): Likewise.
2324         (write_entry): Likewise.
2325         (put2, put4): Now return `int'.
2326         (comment): Default to empty string.
2327         (bytes_written): New instance variable.
2328         (chain): Likewise.
2329         * java/util/zip/ZipEntry.java (setComment): Limit length of
2330         comment string.
2331         (setCrc): Check CRC validity.
2332         (setExtra): Check argument validity.
2333         (setMethod): Likewise.
2334         (setSize): Likewise.
2335         (ZipEntry): Likewise.
2336         * include/javaprims.h: Updated namespace declarations.
2337         * Makefile.in: Rebuilt.
2338         * Makefile.am (ordinary_java_source_files): Mention new files.
2339         (nat_source_files): Likewise.
2340         * java/util/zip/ZipFile.java (readu2): Throw ZipException, not
2341         EOFException.
2342         (read4): Likewise.
2343         (getInputStream): Handle compressed entries.
2344         * java/util/zip/GZIPOutputStream.java: New file.
2345         * java/util/zip/GZIPInputStream.java: New file.
2346         * java/util/zip/DataFormatException.java: New file.
2347         * java/util/zip/CheckedInputStream.java: New file.
2348         * java/util/zip/CheckedOutputStream.java: New file.
2349         * java/util/zip/InflaterInputStream.java: Implemented.
2350         * java/util/zip/natInflater.cc: New file.
2351         * java/util/zip/Deflater.java: Implemented.
2352         * java/util/zip/natDeflater.cc: New file.
2353         * java/util/zip/DeflaterOutputStream.java: Implemented.
2354
2355         * java/util/zip/ZipInputStream.java (closeZipEntry): Throw
2356         ZipException, not IOException.
2357         * java/util/zip/ZipFile.java (readDirectory): Throw ZipException,
2358         not IOException.
2359
2360 1999-05-17  Tom Tromey  <tromey@cygnus.com>
2361
2362         * java/lang/natSystem.cc (init_properties): URL now points to
2363         sourceware.
2364
2365 1999-05-12  Per Bothner  <bothner@cygnus.com>
2366
2367         * java/util/Calendar.java (set):  First call computeFields if needed.
2368         * java/util/natGregorianCalendar.cc (computeTime):  Cast 1000 to jlong.
2369         
2370 1999-05-12  Tom Tromey  <tromey@cygnus.com>
2371
2372         * configure: Rebuilt.
2373         * configure.in: Look for -ldl when using the Boehm collector.
2374         Look for sched_yield in -lposix4.
2375
2376 1999-05-12  Per Bothner  <bothner@cygnus.com>
2377
2378         * java/io/File.java (mkdirs):  Handle a null parent directory.
2379
2380 1999-05-12  Tom Tromey  <tromey@cygnus.com>
2381
2382         * include/javaprims.h: Updated namespace declarations.
2383         * classes.pl (scan): Uniquify class list.
2384         * Makefile.in, configure: Rebuilt.
2385         * Makefile.am (nat_source_files): Added natConcreteProcess.cc.
2386         (built_java_source_files): New macro.
2387         (nat_headers): Added built_java_source_files.
2388         (javao_files): Likewise.
2389         (EXTRA_libgcj_la_SOURCES): Likewise.
2390         (libgcj.zip): Create built class files.
2391         ($(built_java_source_files:.java=.class)): New target.
2392         (jv_convert_LDADD): Added -L$(here)/.libs.
2393         * configure.in: Create links for ConcreteProcess.java and
2394         natConcreteProcess.cc.
2395         * java/lang/Runtime.java (exec): Create a ConcreteProcess.
2396         * java/lang/natEcosProcess.cc: New file.
2397         * java/lang/EcosProcess.java: New file.
2398         * java/lang/PosixProcess.java: New file.
2399         * java/lang/natPosixProcess.cc: New file.
2400
2401 1999-05-12  Warren Levy  <warrenl@cygnus.com>
2402
2403         * java/net/PlainSocketImpl.java: Corrected copyright & header comments.
2404         * java/net/SocketImpl.java: Added marker for JDK 1.2 work.
2405         * java/net/natPlainSocketImpl.cc (bind): Throw BindException.
2406         (connect): Throw ConnectException.
2407
2408 1999-05-11  Tom Tromey  <tromey@cygnus.com>
2409
2410         * Makefile.in: Rebuilt.
2411         * Makefile.am (jv_convert_DEPENDENCIES): Include libgcj.spec.
2412         * libgcj.spec.in: Don't use `+'.  Instead, put old lib spec after
2413         our libraries.
2414
2415         * Makefile.in: Rebuilt.
2416         * Makefile.am (jv_convert_LDADD): Removed `-L.'; it is not needed
2417         and it causes problems with libtool.
2418
2419         * Makefile.in, configure: Rebuilt.
2420         * Makefile.am (jv_convert_LDFLAGS): Removed -nodefaultlibs.
2421         (jv_convert_LDADD): Added ZLIBS.  Removed -lm, -lc, -lgcc.
2422         (jv_convert_DEPENDENCIES): Added ZDEPS.
2423         * configure.in (GCSPEC): Added `-L' to point to boehm-gc build
2424         directory.
2425         (THREADSPEC): Added `-L' to point to qthreads build directory.
2426         (ZLIBS): New subst.
2427         (ZDEPS): New subst.
2428
2429         * configure, Makefile.in: Rebuilt.
2430         * Makefile.am (toolexeclib_DATA): New macro.
2431         * configure.in: Create libgcj.spec.  Look for -lsocket and -lnsl.
2432         Recognize --with-system-zlib.
2433         (GCSPEC): New subst.
2434         (THREADSPEC): New subst.
2435         (SYSTEMSPEC): New subst.
2436         (ZLIBSPEC): New subst.
2437         * libgcj.spec.in: New file.
2438
2439 1999-05-10  Tom Tromey  <tromey@cygnus.com>
2440
2441         * java/io/InputStreamReader.java (read): If length is 0, return
2442         0.  Reset `wpos' and `wcount' when buffer has been filled and
2443         emptied.
2444
2445         * java/util/Properties.java (save): Removed `FIXME' comment.
2446         (load): Invalid characters in \u now treated as terminators.
2447         Make sure to append character resulting from `\' handling.
2448         Cast to `char' when appending to key or value.
2449         (skip_ws): Inverted test for whitespace.
2450
2451         * java/io/RandomAccessFile.java (RandomAccessFile): Removed
2452         `FIXME' comment.
2453         (readLine): Likewise.
2454         (readFully): Implemented.
2455
2456         * java/lang/natObject.cc (sync_init): Use _Jv_AllocBytesChecked.
2457
2458         * java/awt/natToolkit.cc: Added copyright header.
2459         * java/util/zip/InflaterInputStream.java: Added copyright header.
2460
2461         * java/io/FilterWriter.java (FilterWriter): Removed `FIXME'
2462         comment.
2463         * java/io/SequenceInputStream.java (SequenceInputStream): Removed
2464         `FIXME' comment.
2465         (getNextStream): Likewise.
2466
2467         * java/util/ResourceBundle.java (partialGetBundle): Explicitly use
2468         locale.toString().
2469         (getBundle): Don't explicitly throw null pointer exception.
2470
2471         * gnu/gcj/RawData.java: Added copyright header.
2472
2473         * include/jni.h (_Jv_va_list): Always define as va_list.
2474
2475 1999-05-9  Anthony Green  <green@cygnus.com>
2476
2477         * java/text/DateFormat.java (computeInstance): Separate time
2478         and date styles.
2479         (getDateTimeInstance): Ditto.
2480         (getDateTimeInstance(int,int)): New method.
2481
2482         * Makefile.in: Rebuilt.
2483         * Makefile.am (ordinary_java_source_files): Add new classes.
2484
2485         * java/util/PropertyResourceBundle.java: New file.
2486         * gnu/gcj/util/EnumerationChain.java: New file.
2487
2488 1999-05-07  Tom Tromey  <tromey@cygnus.com>
2489
2490         * acconfig.h (GCJVERSION): New undef.
2491         * java/lang/natSystem.cc (init_properties): Define java.version,
2492         java.class.version, os.name, os.arch, os.version.
2493         Include <sys/utsname.h> if required.
2494         * configure: Rebuilt.
2495         * configure.in: Compute and define GCJVERSION.
2496
2497         * java/lang/natSystem.cc (default_file_encoding): Now static.
2498
2499         * java/lang/natCharacter.cc (isLowerCase): Use a binary search.
2500
2501         * libtool-version: New file.
2502         * Makefile.in: Rebuilt.
2503         * Makefile.am (libgcj_la_LDFLAGS): Use -version-info, not
2504         -release.
2505
2506         * mauve-libgcj: Don't omit Utf8Encoding or StringTest.
2507         Comment out FieldPosition, ParsePosition, and SimpleDateFormat
2508         again (oops).
2509
2510         * mauve-libgcj: Test more from java.text.  Don't mention 1.1 tests
2511         (we pick those up already).
2512
2513 1999-05-05  Per Bothner  <bothner@cygnus.com>
2514
2515         * java/awt/*:  Check a bunch of classes, a few complete, but mostly
2516         stub classes.  (This is enough to get Kawa to compile against libgcj.)
2517
2518         * gnu/gcj/RawData.java:  New class.
2519         * doc/cni.sgml:  Document RawData.
2520
2521         * java/util/zip/InflaterInputStream.java:  New stub class.
2522         * java/util/zip/ZipInputStream.java:  New class.  Partly works.
2523         * java/util/zip/ZipConstants.java:  Add two (internal) constants.
2524         * java/util/zip/ZipEntry.java (timeFromDOS):  New static method.
2525         * java/util/zip/ZipFile.java:  Now mostly works (unless compressed).
2526         * java/util/zip/ZipOutputStream.java:  Start implementation.
2527         
2528         * java/lang/natSystem.cc (DEFAULT_FILE_ENCODING):  New macro.
2529         (default_file_encoding):  New global, initial value is above macro.
2530         (init_properties):  Default file.encoding to default_file_encoding.
2531         
2532         * Makefile.am:  Add new classes.
2533
2534 1999-05-05  Tom Tromey  <tromey@cygnus.com>
2535
2536         * Makefile.in: Rebuilt.
2537         * Makefile.am (CLEANFILES): Don't mention $(class_files).
2538         (clean-local): New target
2539
2540         * java/lang/natRuntime.cc: Include <ltdl.h> if required.
2541         (load, loadLibrary): Now native.
2542         (init): New method.
2543         * java/lang/Runtime.java (load, loadLibrary): Now native.
2544         (init): New native method.
2545         (Runtime): Use init.
2546         * prims.cc: Include <ltdl.h> if required.
2547         (JvRunMain): Call LTDL_SET_PRELOADED_SYMBOLS.
2548
2549 1999-05-05  Gilles Zunino  <Gilles.Zunino@hei.fr>
2550
2551         * configure.in: Switch from irix threads to posix threads
2552         * configure: Regenerate.
2553
2554 1999-04-30  Tom Tromey  <tromey@cygnus.com>
2555
2556         * Makefile.in: Rebuilt.
2557         * Makefile.am (jv_convert_LDADD): Added -lgcc.
2558
2559 1999-04-29  Tom Tromey  <tromey@cygnus.com>
2560
2561         * java/lang/StringBuffer.java (ensureCapacity): Don't resize
2562         vector when shared.
2563
2564         * java/util/Locale.java (Locale(String,String)): Implement in
2565         terms of 3-argument version; variant now defaults to empty
2566         string.
2567         (toString): Assume variant is not null.
2568         (equals): Assume all strings are not null.
2569         (Locale): Throw NullPointerException if any argument is null.
2570
2571         * java/util/ResourceBundle.java (getBundle): Don't try the base
2572         name; now implicit in partialGetBundle call.
2573         (trySomeGetBundle): Search for parent bundles and call setParent
2574         as required.
2575         (partialGetBundle): Added `langStop' argument.  Use
2576         `Locale.toString' to compute bundleName.
2577         (resource_cache): New static field.
2578         (partialGetBundle): Cache the returned resource bundle.  Now
2579         synchronized.
2580
2581         * gnu/gcj/text/LocaleData_en.java (contents): [collatorRule] Added
2582         missing `<'.
2583
2584         * mauve-libgcj: Enable Collator and RuleBasedCollator.
2585         * java/text/natCollator.cc (decomposeCharacter): `base' now
2586         `const'.
2587         * Makefile.in: Rebuilt.
2588         * Makefile.am (ordinary_java_source_files): Added
2589         CollationElementIterator, CollationKey, Collator,
2590         RuleBasedCollator.
2591         (nat_source_files): Added natCollator.cc.
2592         * java/text/RuleBasedCollator.java (ceiNext): No longer static.
2593         (compare): Pass `this' to CollationElementIterator constructor.
2594         (getCollationElementIterator): Likewise.
2595         (ceiNext): Fix off-by-one error when finding initial substring.
2596         (next): Correctly mask off bits when computing return value.
2597         Fixed return values when one string is shorter than the other.
2598         * java/text/CollationElementIterator.java (collator): New field.
2599         (CollationElementIterator): Added collator argument.
2600         (next): Call ceiNext on collator object.
2601
2602 1999-04-26  Tom Tromey  <tromey@cygnus.com>
2603
2604         * natCollator.cc: New file.
2605
2606         * java/util/GregorianCalendar.java (setDefaultTime): New method.
2607         (GregorianCalendar): Use it in all constructors.
2608         * java/util/Calendar.java (Calendar): Changed argument name to
2609         `zone' to match code.
2610
2611         * gnu/gcj/text/LocaleData_en.java: Added collatorRule element.
2612         * java/text/CollationKey.java: New file.
2613         * java/text/CollationElementIterator.java: New file.
2614         * java/text/Collator.java: New file.
2615         * java/text/RuleBasedCollator.java: New file.
2616
2617         * Makefile.in: Rebuilt.
2618         * Makefile.am (jv_convert_LDFLAGS): Added -nodefaultlibs.
2619         (jv_convert_LDADD): Explicltly add -lm -lc.
2620
2621 1999-04-26  Tom Tromey  <tromey@cygnus.com>
2622
2623         * configure, Makefile.in: Rebuilt.
2624         * configure.in: Added AM_PROG_LIBTOOL.
2625         (GCOBJS): Use `.lo' form of files.
2626         (THREADOBJS): Likewise.
2627         (GCDEPS): Use `.la' form of library.
2628         (GCLIBS): Set to be the same as GCDEPS.
2629         (THREADDEPS): Use `.la' form of library.
2630         (THREADLIBS): Set to be the same as THREADDEPS.
2631         * Makefile.am (toolexeclib_LTLIBRARIES): Renamed from
2632         toolexeclib_LIBRARIES.
2633         (libgcj_la_SOURCES): Renamed for libtoolization.
2634         (EXTRA_libgcj_la_SOURCES): Likewise.
2635         (libgcj_la_DEPENDENCIES): Likewise.
2636         (libgcj_la_LIBADD): Likewise.
2637         ($(nat_files)): Use LTCXXCOMPILE.
2638         ($(c_files)): Use LTCOMPILE.
2639         (GCJCOMPILE): New macro.
2640         (.class.o): Use it.
2641         (.java.o): Likewise.
2642         ($(javao_files)): Likewise.
2643         (jv_convert_LINK): Use LIBTOOL.
2644         (nat_files): Use `.lo' files.
2645         (c_files): Likewise.
2646         (javao_files): Likewise.
2647         (.class.lo): Renamed.
2648         (.java.lo): Likewise.
2649         ($(nat_files)): Depend on %.lo.
2650         ($(c_files)): Likewise.
2651         ($(javao_files)): Likewise.
2652         (jv_convert_LDADD): Link against .lo files.
2653         (jv_convert_DEPENDENCIES): Depend on .lo files.
2654         (maintainer-check): Depend on libgcj.la, but examine .a file.
2655         (jv_convert_DEPENDENCIES): Depend on libgcj.la.
2656         (libgcj_la_LDFLAGS): New macro.
2657
2658 1999-04-23  Warren Levy  <warrenl@cygnus.com>
2659
2660         * Makefile.am: Added URLDecoder and URLEncoder.
2661         * Makefile.in: Rebuilt.
2662
2663         * java/net/ServerSocket.java (setSocketFactory): Renamed from
2664         setSocketImplFactory to match spec.
2665         * java/net/Socket.java (getSoLinger): Changed return type to
2666         match spec.
2667
2668         * java/net/URLDecoder.java: New file.
2669         * java/net/URLEncoder.java: New file.
2670
2671 1999-04-21  Tom Tromey  <tromey@cygnus.com>
2672
2673         * java/lang/natString.cc (getBytes): Reverted earlier change and
2674         applied correct fix from Per Bothner.
2675
2676         * java/lang/String.java: Don't throw
2677         UnsupportedEncodingException.
2678
2679         * java/lang/natString.cc (getBytes): Correctly size result
2680         buffer.  From Bryce McKinlay <bryce@albatross.co.nz>.
2681
2682 1999-04-20  Andrew Haley  <aph@cygnus.com>
2683
2684         * include/sparc-signal.h: new file.
2685         * configure.in: include/sparc-signal.h added.
2686         * configure: regenerated.
2687         * prims.cc (JvRunMain): signal handling code rewritten to be more
2688         portable.
2689         (catch_segv): ditto.
2690         (catch_fpe): ditto.
2691         * include/i386-signal.h: reorganized.
2692         * include/default-signal.h: reorganized.
2693
2694 1999-04-19  Tom Tromey  <tromey@cygnus.com>
2695
2696         * java/lang/natSystem.cc (init_properties): Only declare pwd_entry
2697         once.  From Anthony Green.
2698
2699 1999-04-19  Andrew Haley  <aph@cygnus.com>
2700
2701         * Makefile.in: Processed with new automake.
2702
2703 1999-04-19  Tom Tromey  <tromey@cygnus.com>
2704
2705         * include/javaprims.h: Removed security namespace.
2706
2707 1999-04-20  Anthony Green  <green@cygnus.com>
2708
2709         * java/io/PrintStream.java (println): Remove extra println.
2710
2711 1999-04-19  Anthony Green  <green@cygnus.com>
2712
2713         * Makefile.in: Rebuilt.
2714         * Makefile.am (ordinary_java_source_files): Add new security files.
2715
2716         * java/security/NoSuchAlgorithmException.java,
2717         java/security/MessageDigest.java: New files.
2718
2719         * include/javaprims.h: Add security namespace.
2720
2721 1999-04-16  Per Bothner  <bothner@cygnus.com>
2722
2723         * gnu/gcj/convert/JIS0201.h:  New file, generated from Unicode table.
2724         * gnu/gcj/convert/Input_JavaSrc.java: New BytesToUnicode class.
2725         * gnu/gcj/convert/Input_SJIS.java: New BytesToUnicode class.
2726         * gnu/gcj/convert/Output_EUCJIS.java:  New UnicodeToBytes class.
2727         * gnu/gcj/convert/Output_SJIS.java:  New UnicodeToBytes class.
2728         * gnu/gcj/convert/natInput_EUCJIS.cc:  New file.
2729         * gnu/gcj/convert/natInput_SJIS.cc:  New file.
2730         * gnu/gcj/convert/natOutput_EUCJIS.cc:  New file.
2731         * gnu/gcj/convert/natOutput_SJIS.cc:  New file.
2732         * gnu/gcj/convert/make-trie.c:  New file: functions to make a trie.
2733         * gnu/gcj/convert/gen-from-JIS.c:  Invoke make-trie for output.
2734         * gnu/gcj/convert/Unicode_to_JIS.cc:  New generated trie table.
2735         * Makefile.am:  Various changes for new files and conversions.
2736
2737         * gnu/gcj/convert/UnicodeToBytes.java (write(String,int,int,char[])):
2738         New overloading, allows greater efficiency.
2739         * gnu/gcj/convert/Output_8859_1.java (write(String,int,int,char[])):
2740         New overloading (for efficiency - avoids copying).
2741
2742         * gnu/gcj/convert/Output_UTF8.java:  Fix typo: 0xC0 -> 0c3F.
2743         * gnu/gcj/convert/Input_UTF8.java:  Fix typos in bit masks.
2744
2745         * java/io/InputStreamReader.java (<init>):  Set super.in correctly.
2746         * java/io/OutputStreamWriter.java (<init>):  Set super.in correctly.
2747         (writeChars):  Don't be quite so eager to flush.
2748         * java/io/PrintStream.java:  Rewrite.  Now more similar to
2749         OutputStreamWriter, using explicit UnicodeToBytes converter.
2750         Also, autoflush does not need to flush so often.
2751         * java/lang/natString.cc (getBytes):  More efficient algorithm.
2752         (init(jbyteArray,jint,jint,jstring)):  More efficient.
2753         
2754 1999-04-15  Warren Levy  <warrenl@cygnus.com>
2755
2756         * Makefile.am (ordinary_java_source_files): Added new Connection 
2757         and Handler classes in gnu.gcj.protocol.file package.
2758         * Makefile.in: Rebuilt.
2759
2760         * gnu/gcj/protocol/file/Connection.java: New file.
2761         * gnu/gcj/protocol/file/Handler.java: New file.
2762         * gnu/gcj/protocol/http/Connection.java (getInputStream): Check
2763         if doInput allows input.
2764         (getOutputStream): Check if doOutput allows output.
2765         * java/net/URLStreamHandler.java (parseURL): Fix indentation.
2766
2767 1999-04-14  Tom Tromey  <tromey@cygnus.com>
2768
2769         * java/net/natInetAddress.cc (lookup): On glibc2.0 systems, make
2770         buffer larger to work around bug.
2771         From Bryce McKinlay <bryce@albatross.co.nz>.
2772
2773 1999-04-14  Andrew Haley  <aph@cygnus.com>
2774
2775         * java/lang/natDouble.java (doubleToLongBits): ensure that all
2776         NaNs are always converted to the same long value.  
2777         * java/lang/natFloat.java (floatToIntBits): ditto, but for float
2778         converted to int.
2779
2780 1999-04-13  Tom Tromey  <tromey@cygnus.com>
2781
2782         * java/lang/natSystem.cc (arraycopy): Don't always use jbyteArray;
2783         instead switch on actual element type.
2784
2785         * Makefile.in: Rebuilt.
2786         * Makefile.am (AM_MAKEFLAGS): Added JC1FLAGS.
2787
2788 1999-04-13  Andrew Haley  <aph@cygnus.com>
2789
2790         * include/i386-signal.h, include/default-signal.h: New files.   
2791         * prims.cc (catch_segv): Call MAKE_THROW_FRAME in exception
2792         handler.
2793         (catch_fpe): New function.      
2794         * configure.in: Make link to appropriate include/java-signal.h.
2795         * configure: Rebuilt.
2796         * Makefile.am: include/java-signal.h added to dependency list.
2797         * Makefile.in: Rebuilt.
2798
2799 1999-04-12  Urban Widmark <urban@svenskatest.se>
2800
2801         * java/io/DataInputStream.java (readLine): Corrected handling of
2802         empty lines, from null to "".
2803
2804 1999-04-12  Tom Tromey  <tromey@cygnus.com>
2805
2806         * Makefile.in: Rebuilt.
2807         * Makefile.am (libgcj.zip): Put `gnu' classes into zip file.
2808
2809         * java/lang/natSystem.cc (SystemClass): New define.
2810         (init_properties): Synchronize.
2811
2812 1999-04-08  Geoff Berry  <gcb@gnu.org>
2813
2814         * natInetAddress.cc (lookup): Fix typo (AF_INET16 -> AF_INET6).
2815         * natPlainSocketImpl.cc (accept): Add missing else if check
2816         for AF_INET6.
2817
2818 1999-04-08  Tom Tromey  <tromey@cygnus.com>
2819
2820         * java/lang/Long.java (parseLong): Corrected overflow detection
2821         code.
2822         * java/lang/Integer.java (parseInt): Corrected overflow detection
2823         code.
2824
2825         * java/io/PrintStream.java (print): Handle null string argument.
2826         (println): Likewise.
2827
2828 1999-04-07  Warren Levy  <warrenl@cygnus.com>
2829
2830         * java/lang/natString.cc (init(jbyteArray,jint,jint,jstring)):
2831         Set count to 0 when InputStreamReader returns -1 for EOF.
2832
2833 1999-04-07  Tom Tromey  <tromey@cygnus.com>
2834
2835         * mauve-libgcj: Omit java.text.Collator,
2836         java.text.RuleBasedCollator.
2837
2838 1999-04-06  Tom Tromey  <tromey@cygnus.com>
2839
2840         * gnu/gcj/protocol/http/Connection.java (getHeaderField): Catch
2841         IOException from getHttpHeaders().
2842         (getHeaderFieldKey): Likewise.
2843
2844         * include/javaprims.h: Regenerated declarations.
2845
2846         * Makefile.in: Rebuilt.
2847         * Makefile.am (ordinary_java_source_files): Updated for removed
2848         files.
2849
2850 1999-04-06  Per Bothner  <bothner@cygnus.com>
2851
2852         * java/util/zip/Adler32.java:  New class.
2853         * java/util/zip/CRC32.java:  Add working method bodies.
2854         * Makefile.am (ordinary_java_source_files):  Add new Adler32 class.
2855         * Makefile.in:  Re-generate.
2856
2857 Tue Apr  6 18:28:42 1999  Warren Levy  <warrenl@cygnus.com>
2858
2859         * gnu/gcj/protocol/http/Connection.java: New file.  Rewritten
2860         from version in removed www hierarchy.
2861         * gnu/gcj/protocol/http/Handler.java: New file.  Copied from
2862         version in removed www hierarchy.
2863
2864         * gnu/gcj/www/protocol/http/Connection.java: Removed.
2865         * gnu/gcj/www/protocol/http/Handler.java: Removed.
2866         * gnu/gcj/www/protocol/http: Removed dir.
2867         * gnu/gcj/www/protocol: Removed dir.
2868         * gnu/gcj/www: Removed dir.
2869
2870         * java/net/HttpURLConnection.java: Revised comments to indicate
2871         missing JDK 1.2 methods.
2872
2873         * java/net/URL.java (setURLStreamHandler): Look in gnu/gcj/protocol
2874         hierarchy rather than the gnu/gcj/www/protocol one.
2875         * java/net/URLConnection.java: Updated status comments.
2876         (setContentHandler): Look in gnu/gcj/content hierarchy rather than
2877         the gnu/gcj/www/content one.
2878
2879 1999-04-06  Per Bothner  <bothner@cygnus.com>
2880
2881         * Makefile.am (JIS0208_to_Unicode.cc, JIS0212_to_Unicode.cc):
2882         The gen-from-JIS program is in $(CONVERT_DIR).
2883
2884 1999-04-06  Tom Tromey  <tromey@cygnus.com>
2885
2886         * mauve-libgcj: Renamed from mauve-libjava.
2887
2888 Tue Apr  6 03:18:38 1999  Warren Levy  <warrenl@cygnus.com>
2889
2890         * java/net/HttpURLConnection.java (getResponseCode): Implemented.
2891         (getResponseMessage): Implemented.
2892         (getResponseVals): New private method.
2893
2894         * java/net/URLConnection.java (getContent): Implemented.
2895         (setContentHandler): Convert non-alphabetic/numeric chars per spec.
2896
2897 1999-04-05  Tom Tromey  <tromey@cygnus.com>
2898
2899         * Makefile.am (bin_PROGRAMS): Renamed convert to jv-convert.
2900         (jv_convert_SOURCES): Renamed.
2901         (EXTRA_jv_convert_SOURCES): Likewise.
2902         (jv_convert_LDFLAGS): Likewise.
2903         (jv_convert_LINK): Likewise.
2904         (jv_convert_LDADD): Likewise.
2905         (jv_convert_DEPENDENCIES): Likewise.
2906
2907         * Makefile.in: Rebuilt.
2908         * Makefile.am (toolexeclibdir): Reference toolexecdir, not
2909         tooldir.
2910
2911 Mon Apr  5 02:14:35 1999  Warren Levy  <warrenl@cygnus.com>
2912
2913         * java/net/HttpURLConnection.java (setRequestMethod): Use String.equals
2914         method for comparison.
2915
2916         * java/net/URLConnection.java (getContentLength): Implemented.
2917         (getContentType): Implemented.
2918         (getContentEncoding): Implemented.
2919         (getExpiration): Implemented.
2920         (getDate): Implemented.
2921         (getLastModified): Implemented.
2922         (getHeaderFieldInt): Implemented.
2923         (getHeaderFieldDate): Implemented.
2924
2925 Fri Apr  2 18:04:52 1999  Warren Levy  <warrenl@cygnus.com>
2926
2927         * java/net/URLConnection.java (toString): Implemented.
2928         (setContentHandlerFactory): Implemented.
2929         (setContentHandler): Wrote new private helper method.
2930
2931 1999-04-01  Tom Tromey  <tromey@cygnus.com>
2932
2933         * Makefile.in: Rebuilt.
2934         * Makefile.am ($(java_source_files:.java=.class): Reverted change
2935         of 1999-03-31; we always want to build all the .class files.
2936         Depend on java_source_files, not libgcj.zip.
2937         (nat_headers): Define in terms of ordinary_java_source_files.
2938
2939 1999-03-31  Tom Tromey  <tromey@cygnus.com>
2940
2941         * Makefile.in: Rebuilt.
2942         * Makefile.am (special_java_source_files): New macro.
2943         (java_source_files): Use it.
2944         (ordinary_java_source_files): New macro.
2945         (java_source_files): Use it.
2946         ($(ordinary_java_source_files:.java=.class)): Renamed to avoid
2947         creating headers for those files with hand-maintained headers.
2948
2949         * include/javaprims.h: Regenerated namespace declarations.
2950         * classes.pl (scan): Include [0-9] in regexp for matching class
2951         names; for java.util.zip.CRC32.
2952
2953         * Makefile.in: Rebuilt.
2954         * Makefile.am (nat_headers): Redefined to generate all possible
2955         header files.
2956
2957         * java/util/zip/ZipException.java: In package java.util.zip, not
2958         java.net.
2959
2960 1999-03-30  Tom Tromey  <tromey@cygnus.com>
2961
2962         * configure: Rebuilt.
2963         * configure.in (EH_COMMON_INCLUDE): Look in ../compat-include for
2964         eh-common.h when not building in tree with gcc.
2965
2966         * Makefile.in: Rebuilt.
2967         * Makefile.am ($(nat_files) $(GCOBJS) $(THREADOBJS)
2968         $(libgcj_a_OBJECTS)): Changed how we list files that depend on
2969         nat_headers.
2970         ($(java_source_files:.java=.class)): New target.
2971
2972         * Makefile.in: Rebuilt.
2973         * Makefile.am (java_source_files): Added
2974         java/net/HttpURLConnection.java and
2975         gnu/gcj/www/protocol/http/Connection.java.
2976
2977 Tue Mar 30 15:20:45 1999  Warren Levy  <warrenl@cygnus.com>
2978
2979         * gnu/gcj/www/protocol/http/Connection.java: New file.
2980         * gnu/gcj/www/protocol/http/Handler.java (openConnection): Implemented.
2981         * java/net/HttpURLConnection.java: New file.
2982         * java/net/URLConnection.java (getHeaderField): Implemented default.
2983         (getHeaderFieldKey): Implemented default method.
2984
2985 1999-03-30  Tom Tromey  <tromey@cygnus.com>
2986
2987         * gnu/gcj/convert/JIS0212.h, gnu/gcj/convert/JIS0208.h: Rebuilt.
2988
2989         * java/util/zip/Deflater.java: Added copyright header.
2990         * java/util/zip/CRC32.java: Added copyright header.
2991
2992         * Makefile.am ($(srcdir)/$(CONVERT_DIR)/JIS0208.h): Note in file
2993         that it is automatically generated.
2994         ($(srcdir)/$(CONVERT_DIR)/JIS0212.h): Likewise.
2995
2996         * gnu/gcj/convert/BytesToUnicode.java,
2997         gnu/gcj/convert/Convert.java, gnu/gcj/convert/Input_8859_1.java,
2998         gnu/gcj/convert/Input_EUCJIS.java,
2999         gnu/gcj/convert/Input_UTF8.java,
3000         gnu/gcj/convert/JIS0208_to_Unicode.cc,
3001         gnu/gcj/convert/JIS0212_to_Unicode.cc,
3002         gnu/gcj/convert/Output_8859_1.java,
3003         gnu/gcj/convert/Output_JavaSrc.java,
3004         gnu/gcj/convert/Output_UTF8.java,
3005         gnu/gcj/convert/UnicodeToBytes.java,
3006         gnu/gcj/convert/natInput_EUCJIS.cc: Added copyright headers.
3007
3008         * gnu/gcj/convert/gen-from-JIS.c (main): Fixed incorrect fprintf.
3009
3010         * Makefile.in, configure: Rebuilt.
3011         * configure.in (TESTSUBDIR): Enable if testsuite subdir exists,
3012         not if test subdir exists.
3013         (--enable-gcj-classes): Removed; gcj always used to generate
3014         .class files.
3015         (JAVA, JAVAC): Removed.
3016         (--enable-single-compilation, --enable-source-compilation):
3017         Removed.
3018         (here): New subst.
3019         (NATIVE): New conditional.
3020         * Makefile.am (toolexecdir): Renamed from tooldir to allow
3021         `install-exec' to work.
3022         (toolexeclibdir): Likewise.
3023         (toollib_LIBRARIES): Likewise.
3024         (AM_MAKEFLAGS): Don't pass tooldir.
3025         (JAVAC): New macro.
3026         (javao_files): Redefined.
3027         (java_source_files): New macro.
3028         (c_source_files): New macro.
3029         (c_files): Redefined in terms of c_source_files.
3030         (java_io_files, java_lang_files, java_net_files, java_text_files,
3031         java_util_files, gnu_files, java_files): Removed.
3032         (class_io_files, class_lang_files, class_net_files,
3033         class_text_files, class_util_files, class_gnu_files, class_files):
3034         Removed.
3035         (nat_source_files): New macro.
3036         (nat_files): Redefined in terms of nat_source_files.
3037         (EXTRA_libgcj_a_SOURCES): Added c_source_files,
3038         java_source_files.  Removed no-such-file.c.
3039         (here): Removed.
3040         (ETAGS_ARGS): Removed.
3041         (TAGS_DEPENDENCIES): Likewise.
3042         (libgcj.zip): Depend on java_source_files.  Use $(here) and not
3043         pwd in rule.
3044         (src_io_files, src_lang_files, src_text_files, src_util_files,
3045         src_gnu_files): Removed.
3046         Removed ALL_AT_ONCE and COMPILE_FROM_CLASS code.
3047         (BUILT_SOURCES): Removed.
3048         (header-check): New target.
3049         (javadir): Removed.
3050         (noinst_PROGRAMS): New macro.
3051         ($(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc): Conditionalize
3052         on MAINTAINER_MODE.
3053         ($(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc): Likewise.
3054         (gen-from-JIS): Build in top directory.
3055         (convert_source_files): New macro.
3056         (convert_SOURCES): New macro.
3057         (convert_LDFLAGS): Likewise.
3058         (convert_LINK): Likewise.
3059         (convert_LDADD): Likewise.
3060         (convert_DEPENDENCIES): Likewise.
3061         (convert): Removed.
3062         (gen-from-JIS): Removed.
3063         (gen_from_JIS_SOURCES): New macro.
3064         (gen_from_JIS_LDADD): Likewise.
3065         (gen_from_JIS_DEPENDENCIES): Likewise.
3066
3067         * configure: Rebuilt.
3068         * configure.in (CANADIAN): Set to `yes', not `canadian'.
3069         (NULL_TARGET): Initialize to `no'.  Correctly examine $NULL_TARGET
3070         when defining conditional.
3071
3072 Tue Mar 30 10:36:27 1999  Per Bothner  <bothner@cygnus.com>
3073
3074         * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}:  Remove these files.
3075         The Unicode Consortium does not permit their re-distribution.
3076         * Makefile.am, Makefile.in:  Add comments with URLs for removed files.
3077         (JIS0208.h, JIS0212.h):  Do not depend on removed files.
3078
3079 Mon Mar 29 18:58:13 1999  Per Bothner  <bothner@cygnus.com>
3080
3081         * natSystem.c (init_properties):  Use malloc, realloc, free after all.
3082
3083 Mon Mar 29 13:41:02 1999  Per Bothner  <bothner@cygnus.com>
3084
3085         * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}:  New mapping tables
3086         from Unicode Consortium.
3087         * gnu/gcj/convert/{JIS0208.h,JIS0212.h}:  New generated headers.
3088         * gnu/gcj/convert/gen-from-JIS.c:  New utility for maintainers only.
3089         * gnu/gcj/convert/{JIS0208_to_Unicode.cc,JIS0212_to_Unicode.cc}:
3090         New tables, generated using gen-from-JIS.
3091         * gnu/gcj/convert/Output_JavaSrc.java:  New UnicodeToBytes class.
3092         * gnu/gcj/convert/Output_UTF8.java:  Fix bug.
3093         * gnu/gcj/convert/Input_EUCJIS.java:  New BytesToUnicode class.
3094         * gnu/gcj/convert/natInput_EUCJIS.cc:  Native methods for new class.
3095
3096         * gnu/gcj/convert/Convert.java:  New application.
3097         * Makefile.am, Makefile.in (convert):  New program, using Convert.
3098         Build the various JIS conversion tables (in maintainer mode).
3099
3100 Fri Mar 26 16:51:30 1999  Warren Levy  <warrenl@cygnus.com>
3101
3102         * gnu/gcj/www/protocol/http/Handler.java: New file - stubbed.
3103
3104         * java/net/URL.java (URL): Deal with null property value.  Use "."
3105         as separator in building class name.
3106         * java/net/URLConnection.java: Implemented majority of stubbed methods.
3107         * java/net/URLStreamHandler.java (parseURL): Use "" in string
3108         manipulations instead of 'null'.  Comment cleanup.  Use 0 for the
3109         beginning of the substring rather than 'start'.
3110
3111 1999-03-26  Tom Tromey  <tromey@cygnus.com>
3112
3113         * include/java-chartables.h: Rebuilt.
3114         * include/java-chardecomp.h: New file.
3115         * chartables.pl: Generate output files directly.  Added support
3116         for generating decomposition header.
3117         (canonical_decomposition, full_decomposition): New globals.
3118         (DECOMPOSITION): New constant.
3119         (process_char): Call add_decomposition.
3120         (add_decomposition): New sub.
3121         (write_decompositions): New sub.
3122
3123 1999-03-25  Tom Tromey  <tromey@cygnus.com>
3124
3125         * java/text/CollationElementIterator.java: New file.
3126
3127         * mauve-libjava: Omit StringTest.
3128
3129 Wed Mar 24 15:17:49 1999  Warren Levy  <warrenl@cygnus.com>
3130
3131         * java/net/URL.java (URL(URL, String, URLStreamHandler)): Allow URLs
3132         without a '/' when parsing protocol.  Handle ref outside of parseURL.
3133         (hashCode): Implemented.
3134         (set): Don't expand -1 to default port.
3135         (getDefaultPort): Removed.
3136
3137         * java/net/URLStreamHandler.java (parseURL): Implemented.
3138         (toExternalForm): Implemented.
3139
3140 1999-03-23  Tom Tromey  <tromey@cygnus.com>
3141
3142         * java/text/BreakIterator.java (getSentenceInstance):
3143         Implemented.
3144         * gnu/gcj/text/SentenceBreakIterator.java: New file.
3145
3146         * Makefile.in: Rebuilt.
3147         * Makefile.am (nat_headers): Added IllegalAccessException.
3148         * java/lang/natClass.cc (newInstance): Throw
3149         IllegalAccessException, not IllegalAccessError.
3150         Include IllegalAccessException.h.
3151
3152 1999-03-22  Tom Tromey  <tromey@cygnus.com>
3153
3154         * gnu/gcj/text/LineBreakIterator.java: New file.
3155         * java/text/BreakIterator.java (getLineInstance): Implemented.
3156
3157         * gnu/gcj/text/WordBreakIterator.java (WordBreakIterator): Made
3158         copy constructor private.
3159         (previous, next): Removed erroneous comment about line
3160         separators.
3161         (previous): Correctly recognize break between non-letter on the
3162         left and letter on the right.  Handle apostrophes correctly.
3163
3164         * java/text/BreakIterator.java (getWordInstance): Implemented.
3165         * gnu/gcj/text/WordBreakIterator.java: New file.
3166         * gnu/gcj/text/CharacterBreakIterator.java: Extend
3167         BaseBreakIterator.
3168         * gnu/gcj/text/BaseBreakIterator.java: New file.
3169
3170 1999-03-19  Tom Tromey  <tromey@cygnus.com>
3171
3172         * java/text/BreakIterator.java: New file (partially stubbed out).
3173         * gnu/gcj/text/CharacterBreakIterator.java: New file.
3174
3175         * include/config.h.in: Rebuilt.
3176         * acconfig.h (STRUCT_TM_HAS_GMTOFF): New define.
3177         (HAVE_TIMEZONE): Likewise.
3178         * configure: Rebuilt.
3179         * configure.in: Added timezone checks.
3180         * java/util/natGregorianCalendar.cc (computeTime): Adjust for
3181         timezone.
3182
3183 Fri Mar 19 15:26:35 1999  Per Bothner  <bothner@cygnus.com>
3184
3185         * gnu/gcj/convert/BytesToUnicode.java:  New abstract class.
3186         * gnu/gcj/convert/UnicodeToBytes.java:  New abstract class.
3187         * gnu/gcj/convert/Input_8859_1.java:  New BytesToUnicode sub-class.
3188         * gnu/gcj/convert/Input_UTF8.java:  New BytesToUnicode sub-class.
3189         * gnu/gcj/convert/Output_8859_1.java:  New UnicodeToBytes sub-class.
3190         * gnu/gcj/convert/Output_UTF8.java:  New UnicodeToBytes sub-class.
3191         * java/io/InputStreamReader.java:  Rewrite to use BytesToUnicode.
3192         * java/io/OutputStreamWriter.java:  Rewrite to use UnicodeToBytes.
3193
3194         * java/io/natFileDescriptorPosix.cc (open):  Use O_BINARY flag.
3195         (BSD_COMP):  Kludge needed for Solaris2.
3196
3197 Fri Mar 19 01:49:46 1999  Warren Levy  <warrenl@cygnus.com>
3198
3199         * java/net/URL.java (URL(java.net.URL, string): Moved code to
3200         URL(java.net.URL, string, URLStreamHandler) and call it with a
3201         null handler.  In latter constructor, added SecurityManager check.
3202         (set): Expect null handler on bad protocol rather than an exception.
3203         (setURLStreamHandler): Simplified exception handling; return null
3204         on invalid protocol.
3205
3206 1999-03-18  Tom Tromey  <tromey@cygnus.com>
3207
3208         * java/text/DecimalFormat.java (format(long,...)): Rewrote.
3209
3210         * java/lang/natSystem.cc (setOut, setIn, setErr): New native
3211         methods.
3212         Include PrintStream.h, InputStream.h.
3213         * java/lang/System.java (ForwardingInputStream,
3214         ForwardingOutputStream): Removed.
3215         (setErr, setIn, setOut): Now native.
3216
3217         Reverted patch from 1999-02-12 to work around problem in
3218         libgcc2.c.
3219         * exception.cc (_Jv_eh_alloc): Use malloc, not _Jv_AllocBytes.
3220         (_Jv_eh_free): Use free.
3221
3222         * java/io/natFileDescriptorPosix.cc (open): Allocate enough space
3223         for path name.  Minor formatting fixes.
3224
3225         * boehm.cc (_Jv_MarkObj): Always mark `methods' field.
3226
3227         * prims.cc (fail_on_finalization): New function.
3228         (_Jv_GCWatch): Likewise.
3229
3230         * prims.cc (JvRunMain): Initialize `nullp'.
3231         (nullp): New global.
3232         (catch_segv): Throw nullp.
3233
3234         * Makefile.in: Rebuilt.
3235         * Makefile.am (ZIP): In "null target" case, zip is found in the
3236         build tree.
3237
3238         * prims.cc (_Jv_PrimClass): Initialize all elements of class
3239         object.
3240         Include Modifier.h.
3241
3242         * java/lang/StringBuffer.java (StringBuffer): Don't use
3243         ensureCapacity to set initial capacity.
3244         (capacity): Subtract `length' from return result.
3245
3246 Thu Mar 18 01:53:35 1999  Warren Levy  <warrenl@cygnus.com>
3247
3248         * java/io/natFileDescriptorPosix.cc (open): Throw
3249         FileNotFoundException, but with filename and errno in msg.
3250
3251 Wed Mar 17 11:09:30 1999  Warren Levy  <warrenl@cygnus.com>
3252
3253         * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Removed;
3254         functionality folded into java/net/URL.java per spec.
3255         
3256         * java/io/natFileDescriptorPosix.cc (open): Check for ENOENT rather
3257         than EEXIST for throwing FileNotFoundException.
3258         
3259         * java/net/URL.java: Folded in default URLStreamHandlerFactory 
3260         algorithm per JDK 1.2 doc.  Added SecurityManager checks.
3261         
3262         * java/net/URLStreamHandler.java (parseURL): Added stub.
3263
3264 1999-03-15  Andrew Haley  <aph@cygnus.com>
3265
3266         * java/text/ChoiceFormat.java (nextDouble): Simplify and fix off
3267         by one errors.
3268
3269 1999-03-15  Andrew Haley  <aph@cygnus.com>
3270
3271         * java/lang/natSystem.cc (currentTimeMillis): Restore eCos clock
3272         support.
3273
3274 1999-03-12  Tom Tromey  <tromey@cygnus.com>
3275
3276         * prims.cc (catch_segv): New function.
3277         Include <signal.h> if HANDLE_SEGV defined.  Include
3278         NullPointerException.h.
3279         (JvRunMain): If HANDLE_SEGV defined, install catch_segv as SIGSEGV
3280         handler.
3281
3282         * java/text/SimpleDateFormat.java (equals): Ensure that object is
3283         a SimpleDateFormat, not just a DateFormat.
3284         (defaultCenturyStart, formatData, pattern): Now private.
3285         (append): Now `final'.  Use `NumberFormat.format'.
3286         (parse): Wrote.
3287         (SimpleDateFormat): Turn off groupin in NumberFormat object.
3288
3289         * java/lang/natString.cc (indexOf): Add `fromIndex' to successful
3290         result.
3291
3292         * java/text/MessageFormat.java (format): Use default MessageFormat
3293         constructor.
3294         (parse, parseObject): Wrote.
3295
3296         * java/text/SimpleDateFormat.java (SimpleDateFormat): Wrote no-arg
3297         constructor.
3298
3299 1999-03-12  Andrew Haley  <aph@cygnus.com>
3300
3301         * java/lang/String.java (indexOf): Replace with native method for
3302         better performance.
3303         * java/lang/natString.cc (IndexOf): As above.
3304
3305         * java/lang/natString.cc (init(jbyteArray,jint,jint,jint)):
3306         Argument check corrected.
3307         (init(jbyteArray,jint,jint,jstring)): Likewise.
3308         
3309         * java/lang/StringBuffer.java (ensureCapacity): Replace with JDK
3310         1.2 compliant method.
3311  
3312         * java/lang/Double.java (byteValue, shortValue): JDK 1.1 methods
3313         added.
3314         * java/lang/Float.java (byteValue, shortValue): Likewise.
3315
3316 1999-03-11  Tom Tromey  <tromey@cygnus.com>
3317
3318         * java/text/DecimalFormat.java (parse): Wrote.
3319
3320         * java/text/ChoiceFormat.java (parse): Set error index on
3321         ParsePosition object.
3322
3323         * java/lang/Integer.java (parseInt): Throw exception on overflow
3324         when intermediate result is most negative number.  Changed
3325         overflow detection as well.
3326         * java/lang/Long.java (parseLong): Likewise.
3327
3328         * configure, Makefile.in: Rebuilt.
3329         * configure.in (NULL_TARGET, CANADIAN): New conditionals.  Set
3330         CANADIAN when building in source tree that doesn't include gcc.
3331         * Makefile.am (ZIP, GCJ, GCJH): Use automake conditionals to
3332         define.
3333
3334         * java/text/ChoiceFormat.java (nextDouble): Correct some
3335         off-by-one errors when masking or adding.
3336
3337         * java/text/DecimalFormat.java (format): Fill in FieldPosition
3338         parameter, if given.  Use `%', not IEEEremainder.
3339         (scanFix): Throw error if multiplier already set.
3340         (computePattern): Wrote.
3341
3342 1999-03-11  Andrew Haley  <aph@cygnus.com>
3343
3344         * java/text/ChoiceFormat.java (mantissaBits): Use correct value of
3345         52.
3346         (nextDouble): Corrected masking logic.  Handle interaction between
3347         `next' and negative numbers.
3348
3349 Wed Mar 10 18:58:37 1999  Warren Levy  <warrenl@cygnus.com>
3350
3351         * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Created.
3352         * java/net/URL.java: Added general comments.
3353
3354 1999-03-10  Tom Tromey  <tromey@cygnus.com>
3355
3356         * java/text/ChoiceFormat.java (parse): Wrote.
3357
3358         * java/text/ChoiceFormat.java (toPattern): Use `#', not `<'.
3359
3360         * java/text/MessageFormat.java (MessageFormatElement.setLocale):
3361         Create ChoiceFormat objects.
3362         (format): Special-case ChoiceFormat.
3363         (scanFormatElement): Include { and } in generated style string.
3364
3365 1999-03-09  Tom Tromey  <tromey@cygnus.com>
3366
3367         * java/text/ChoiceFormat.java: New file.
3368
3369 Tue Mar  9 17:09:18 1999  Warren Levy  <warrenl@cygnus.com>
3370
3371         * java/net/BindException.java: Created.
3372         * java/net/ConnectException.java: Created.
3373         * java/net/ContentHandler.java: Created.
3374         * java/net/ContentHandlerFactory.java: Created.
3375         * java/net/FileNameMap.java: Created.
3376         * java/net/MalformedURLException.java: Created.
3377         * java/net/NoRouteToHostException.java: Created.
3378         * java/net/ProtocolException.java: Created.
3379         * java/net/ServerSocket.java (@author): Fixed typo.
3380         * java/net/Socket.java (@author): Fixed typo.
3381         * java/net/SocketImpl.java (@author): Fixed typo.
3382         * java/net/SocketImplFactory.java (@author): Fixed typo.
3383         * java/net/URL.java: Created - nearly complete.
3384         * java/net/URLConnection.java: Created - near-empty stub.
3385         * java/net/URLStreamHandler.java: Created - incomplete stub.
3386         * java/net/URLStreamHandlerFactory.java: Created.
3387         * java/net/UnknownServiceException.java: Created.
3388
3389 1999-03-09  Tom Tromey  <tromey@cygnus.com>
3390
3391         * java/lang/System.java (ForwardingInputStream): New class.
3392         (ForwardingOutputStream): Likewise.
3393         (in, out, err): Now `final' forwarding streams.
3394         (setIn, setOut, setErr): Use appropriate method on forwarding
3395         streams.
3396
3397         * java/text/MessageFormat.java (MessageFormatElement): Now `final'
3398         class.
3399
3400 Tue Mar  9 12:16:53 1999  Per Bothner  <bothner@cygnus.com>
3401
3402         * java/util/zip/CRC32.java:  New class (just an incomplete stub).
3403         * java/util/zip/Checksum.java:  New interface (complete).
3404         * java/util/zip/Deflater.java:  New class (near-empty stub).
3405         * java/util/zip/DeflaterOutputStream.java: New class (incomplete stub).
3406         * java/util/zip/ZipConstants.java:  New interface (near-empty stub).
3407         * java/util/zip/ZipEntry.java:  New class (complete).
3408         * java/util/zip/ZipException.java:  New class (complete).
3409         * java/util/zip/ZipFile.java:  New class (incomplete stub).
3410         * java/util/zip/ZipOutputStream.java:  New class (incomplete stub).
3411
3412 1999-03-09  Tom Tromey  <tromey@cygnus.com>
3413
3414         * java/text/MessageFormat.java (MessageFormatElement): Removed
3415         `public' specifiers.
3416
3417         * java/text/DecimalFormat.java (scanFormat): Increment index
3418         before processing exponential format.  Fixed a couple typos in
3419         exception messages.
3420         (format): Correct normalization of exponent.
3421
3422 1999-03-08  Tom Tromey  <tromey@cygnus.com>
3423
3424         * java/text/SimpleDateFormat.java (parse): Throw
3425         IllegalArgumentException, not ParseException.
3426
3427 1999-03-05  Tom Tromey  <tromey@cygnus.com>
3428
3429         * java/text/SimpleDateFormat.java (SimpleDateFormat): Use locale
3430         when constructing DateFormatSymbols.  Initialize numberFormat
3431         field of superclass.
3432
3433         * java/text/DateFormat.java (equals): Rewrote.
3434         (getAvailableLocales): New method.
3435         (getDateInstance): New methods.
3436         (getDateTimeInstance): Likewise.
3437         (getTimeInstance): Likewise.
3438         (getInstance): New method.
3439         (computeInstance): New method.
3440
3441         * java/text/DateFormatSymbols.java (zoneStringsDefault): Completed
3442         for US.
3443         (safeGetResource): New method.
3444         (DateFormatSymbols): Use Locale paramater.
3445         (equals): Now protected.
3446         Made instance variables private.
3447
3448 1999-03-04  Tom Tromey  <tromey@cygnus.com>
3449
3450         * java/text/DecimalFormat.java: New file.
3451
3452         * java/text/NumberFormat.java (groupingUsed,
3453         maximumFractionDigits, maximumIntegerDigits,
3454         minimumFractionDigits, minimumIntegerDigits, parseIntegerOnly):
3455         New fields.
3456         (setDecimalSeparatorAlwaysShown, setMultiplier,
3457         setPositivePrefix): Removed.
3458         (setMinimumFractionDigits, setMaximumFractionDigits):
3459         Implemented.
3460         (format): Now final.
3461         Added many new methods.
3462
3463         * Makefile.in: Rebuilt.
3464         * Makefile.am (gnu_files): New macro.
3465         (java_files): Added gnu_files.
3466         (class_gnu_files): New macro.
3467         (class_files): Use it.
3468         (src_gnu_files): New macro.
3469         (gnu.o): New target.
3470         (javao_files): Added gnu.o.
3471
3472         * gnu/gcj/text/LocaleData_en_US.java: New file.
3473         * gnu/gcj/text/LocaleData_en.java: New file.
3474         * java/text/DecimalFormatSymbols.java: Import ResourceBundle.
3475         (DecimalFormatSymbols): Use ResourceBundle to find resources.
3476         (safeGetString): New method.
3477         (safeGetChar): Likewise.
3478
3479 1999-03-03  Tom Tromey  <tromey@cygnus.com>
3480
3481         * java/text/NumberFormat.java (INTEGER_FIELD, FRACTION_FIELD): New
3482         constants.
3483
3484         * java/text/FieldPosition.java (equals): Don't check for null
3485         object; instanceof does this.
3486
3487         * java/util/Locale.java (clone): New method.
3488         (equals): Likewise.
3489
3490 Wed Mar  3 17:20:15 1999  Anthony Green  <green@cygnus.com>
3491
3492         * doc/cni.sgml: New file.
3493
3494 1999-03-03  Tom Tromey  <tromey@cygnus.com>
3495
3496         * prims.cc (_Jv_Abort): Mention libgcj, not libjava.
3497
3498         * java/text/DecimalFormatSymbols.java: New file.
3499
3500 1999-03-02  Tom Tromey  <tromey@cygnus.com>
3501
3502         * java/io/natFileDescriptorPosix.cc: Include sys/filio.h if it
3503         exists.
3504         * configure: Rebuilt.
3505         * configure.in: Check for sys/filio.h.
3506
3507         * java/lang/Runtime.java (checkLink): Throw NullPointerException
3508         if required.
3509         (load): Always throw UnsatisfiedLinkError.
3510         (loadLibrary): Likewise.
3511
3512 1999-03-02  Anthony Green  <green@cygnus.com>
3513
3514         * LIBGCJ_LICENSE: New file.
3515         * LIBJAVA_LICENSE: Removed.
3516         * Many files: libjava now libgcj.
3517         
3518 1999-03-02  Tom Tromey  <tromey@cygnus.com>
3519
3520         * include/java-chartables.h: Rebuilt.
3521         * chartables.pl (print_block): Make table `const'.
3522         (print_numerics): Likewise.
3523         (print_single_map): Likewise.
3524         (print_all_block): Likewise.
3525         (print_case_table): Likewise.
3526         (print_fast_tables): Likewise.
3527         * java/lang/natCharacter.cc (table_search): `table' argument now
3528         const.
3529
3530 1999-03-01  Tom Tromey  <tromey@cygnus.com>
3531
3532         * java/util/Date.java (before, after): Inverted logic.
3533
3534         * java/util/Date.java (parse): Handle case where first character
3535         in string is open parenthesis.
3536         (skipParens): Rewrote.
3537
3538         * java/lang/reflect/natArray.cc: Include <stdlib.h>.
3539         * java/lang/reflect/natField.cc: Include <stdlib.h>.
3540
3541         * java/util/Date.java (parse): Correctly compute beginning of
3542         punctuation.
3543
3544         * java/util/Hashtable.java (get): Throw NullPointerException if
3545         key is null.
3546         (containsKey): Likewise.
3547
3548         * java/util/Properties.java (list): Truncate value to 37
3549         characters and add `...'.
3550
3551         * java/lang/Byte.java (parseByte): Pass `radix' to
3552         Integer.parseInt.
3553
3554         * prims.cc (_Jv_Abort): In non-DEBUG case, use System.err, not
3555         fprintf.
3556         Include System.h, PrintStream.h.
3557
3558         * java/lang/natSystem.cc (init_properties): Don't use malloc,
3559         realloc, or free.
3560
3561         * java/lang/natSystem.cc (init_properties): Use getpwuid_r if it
3562         exists.
3563         * configure: Rebuilt.
3564         * configure.in: Check for getpwuid_r.  Look for `pwd.h', not
3565         `pwd.d'.
3566
3567         * mauve-libjava: Omit AttibutedCharacterIterator, ACIAttribute.
3568
3569         * java/lang/SecurityManager.java: Import java.net.*.
3570         (checkMulticast): New methods.
3571
3572 Fri Feb 26 14:54:52 1999  Per Bothner  <bothner@cygnus.com>
3573
3574         * Makefile.am, Makefile.in (java/lang/reflect/Method.h):  New rule.
3575         (nat_files):  Add java/lang/reflect/natArray.o.
3576         (nat_headers):  Add Field.h and NoSuchFieldException.h.
3577         
3578         * include/java-field.h (_Jv_GetStaticLongField, _Jv_GetStaticIntField,
3579         _Jv_GetStaticShortField, _Jv_GetStaticByteField):  New inline methods.
3580         (_Jv_FromReflectedField):  Fix buglet.
3581         * include/jvm.h (_Jv_NewMultiArray):  New declaration.
3582         * include/java-assert.h (JvFail):  Pass message string to _Jv_Abort.
3583         * prims.cc (_Jv_Abort):  Include message in print-out.
3584
3585         * prims.cc (_Jv_equal):  New method (compare Utf8Const and jstring).
3586         (new_multi_array):  Rename to _Jv_NewMultiArray.  Make non-static.
3587         * include/jvm.h (_Jv_NewMultiArray, _Jv_equal):  New declarations.
3588
3589         * configure.in (AC_CHECK_HEADERS), configure:  Add pwd.h.
3590         * include/config.h.in (HAVE_PWD_H):  New feature macro.
3591         * java/lang/natSystem.cc (init_properties):  Set file.encoding,
3592         user.name, user.home, user.dir.
3593
3594         * java/lang/reflect/Array.java:  New class.
3595         * java/lang/reflect/natArray.cc:  New native methods.
3596         * include/javaprims.h:  Declare java::lang::reflect::Array.
3597
3598         * java/lang/Class.h (getField):  New private method.  Add friends.
3599         * java/lang/Class.java (getField):  Add private overload.
3600         * java/lang/natClass.cc (getField, getField, getDeclaredField,
3601         getDeclaredMethods):  Add working implementations.
3602         * java/lang/reflect/Field.java, java/lang/reflect/natField.cc:
3603         Finish implementation, except for access control.
3604
3605         * java/lang/reflect/Modifier.java (toString):  New overload.
3606         * include/java-method.h:  New file.
3607         * java/lang/reflect/Method.java (index):  Replaced by offset field.
3608         Remove various private fields - get them from _Jv_Field instead.
3609         * java/lang/reflect/natMethod.cc (getModifiers, getName, getType):
3610         New method implementations.
3611
3612         * java/text/NumberFormat.java:  Add a bunch of methods.
3613
3614 Mon Feb 22 17:52:34 1999  Per Bothner  <bothner@cygnus.com>
3615
3616         * java/lang/StringBuffer.java (getChars):  Fix bounds checks.
3617
3618 1999-02-26  Tom Tromey  <tromey@cygnus.com>
3619
3620         * include/config.h.in: Rebuilt.
3621         * acconfig.h (GETHOSTBYNAME_R_RETURNS_INT,
3622         GETHOSTBYADDR_R_RETURNS_INT, HAVE_GETHOSTBYNAME_R,
3623         HAVE_GETHOSTBYADDR_R): New defines.
3624         * java/net/natInetAddress.cc (lookup): Use gethostbyname_r and
3625         gethostbyaddr_r if available.
3626         Include <errno.h>.
3627         * configure: Rebuilt.
3628         * configure.in: Check for gethostbyname_r, gethostbyaddr_r.
3629
3630         * java/net/natInetAddress.cc (aton): Use _Jv_AllocBytesChecked.
3631         Don't use JvFree.
3632         (lookup): Likewise.
3633         Include <jvm.h>.
3634         * include/jvm.h (_Jv_AllocBytesChecked): Declare.
3635         * prims.cc (_Jv_AllocBytesChecked): New function.
3636
3637         * Makefile.in: Rebuilt.
3638         * Makefile.am (SUBDIRS): Removed `test'.
3639         * configure: Rebuilt.
3640         * configure.in: Don't build test/Makefile.
3641         * test/*: Removed all files.
3642
3643 Thu Feb 25 17:27:37 1999  Warren Levy  <warrenl@cygnus.com>
3644
3645         * java/lang/reflect/Constructor.java: Make class final to match spec.
3646         * java/lang/reflect/Method.java: Ditto.
3647
3648 1999-02-25  Tom Tromey  <tromey@cygnus.com>
3649
3650         * java/net/natInetAddress.cc: Include <sys/types.h> before
3651         <sys/socket.h>.
3652         * java/net/natPlainSocketImpl.cc: Include <sys/types.h> before
3653         <sys/socket.h>.
3654
3655         * java/net/natInetAddress.cc: Declare gethostname if required.
3656         * include/config.h.in: Rebuilt.
3657         * acconfig.h (HAVE_GETHOSTNAME_DECL): New define.
3658         * configure: Rebuilt.
3659         * configure.in: Define HAVE_GETHOSTNAME_DECL when gethostname is
3660         declared in unistd.h.
3661
3662 1999-02-24  Tom Tromey  <tromey@cygnus.com>
3663
3664         * Makefile.in: Rebuilt.
3665         * Makefile.am (java/io/FileDescriptor.h): Removed target.
3666         * java/io/FileDescriptor.java (FileDescriptor): Changed protection
3667         from private to "none".
3668
3669         * include/javaprims.h: Regenerated class declarations with new
3670         classes.pl.
3671         * classes.pl (scan): Only generate decls for java.lang, java.io,
3672         and java.util.
3673
3674 1999-02-24  Tom Tromey  <tromey@cygnus.com>
3675
3676         * posix-threads.cc (_Jv_InitThreads): Mask SIGINT in all threads.
3677         (_Jv_ThreadWait): Allow SIGINT to be delivered to waiting thread.
3678
3679 1999-02-23  Tom Tromey  <tromey@cygnus.com>
3680
3681         * java/util/natGregorianCalendar.cc (_REENTRANT): Only define if
3682         not already defined.
3683         * java/io/natFile.cc (_REENTRANT): Only define if not already
3684         defined.
3685         * include/config.h.in: Rebuilt.
3686         * acconfig.h (HAVE_BOEHM_GC): New define.
3687         * configure: Rebuilt.
3688         * configure.in: Define HAVE_BOEHM_GC if using it.
3689         * posix-threads.cc: Include boehm-config.h and gc.h if
3690         HAVE_BOEHM_GC.
3691         * include/posix-threads.h: Added explanatory note about Boehm GC.
3692
3693         * java/io/BufferedReader.java (readLine): Only return null when
3694         EOF seen before any characters read.  (In particular, an empty
3695         line should not return null.)
3696
3697         * java/io/BufferedInputStream.java (read): Only refill once per
3698         invocation.
3699
3700         * mauve-libjava: Added java.text.StringCharacterIterator.iter,
3701         java.lang.Character.classify12, java.lang.String.hash,
3702         java.text.FieldPosition.Test, java.text.ParsePosition.Test,
3703         java.text.SimpleDateFormat.getAndSet2DigitYearStart
3704
3705         * java/text/StringCharacterIterator.java (setIndex): No error if
3706         index == end.
3707         (next): Check for `pos == end', not `end - 1'.
3708         (StringCharacterIterator): Allow `pos == end'.  Explicitly check
3709         for null text in each constructor.
3710         (clone): Fixed order of arguments to constructor.
3711
3712 1999-02-22  Tom Tromey  <tromey@cygnus.com>
3713
3714         * include/config.h.in: Rebuilt.
3715         * acconfig.h (HAVE_INET6): New define.
3716         (HAVE_SOCKLEN_T): Likewise.
3717         * java/net/PlainSocketImpl.java: Added copyright header.
3718         * java/net/natPlainSocketImpl.cc: Added copyright header.
3719         (union SockAddr): Use HAVE_INET6, not AF_INET6.
3720         (bind): Likewise.
3721         (connect): Likewise.
3722         (accept): Likewise.
3723         (socklen_t): New typedef.
3724         (accept): Use socklen_t.
3725         * java/net/natInetAddress.cc: Added copyright header.
3726         (HAVE_GETHOSTNAME): Don't define.
3727         (HAVE_INET_ADDR): Likewise.
3728         (lookup): Fixed typo.
3729         (aton): Don't use `address' as name of local variable.
3730         (lookup): Use HAVE_INET6, not AF_INET6.
3731
3732         * configure: Rebuilt.
3733         * configure.in: Look for functions inet_aton, inet_addr,
3734         gethostname, inet_pton, uname.  Check for sockaddr_in6 structure.
3735         Check for socklen_t typedef.
3736
3737         * exception.cc (__throw): Declare as __noreturn__.
3738
3739 Mon Feb 22 15:27:35 1999  Per Bothner  <bothner@cygnus.com>
3740
3741         * Makefile.am, Makefile.in:  Also build java/net.
3742         (java/io/FileDescriptor.h):  Add friend java::net::PlainSocketImpl.
3743
3744         * java/io/natFile.cc: #define _POSIX_PTHREAD_SEMANTICS and _REENTRANT.
3745         * java/util/natGregorianCalendar.cc:  #define _REENTRANT.
3746
3747         * prims.cc (_Jv_malloc, _Jv_Free):  New functions.
3748         * include/cni.h (JvMalloc, JvFree):  New inline functions.
3749         (JvThrow):  Add __noreturn__ attribute.
3750         * include/javaprims.h (_Jv_Malloc, _Jv_Free):  New declarations.
3751         (_Jv_Throw):  Add __noreturn__ attribute.
3752
3753         * java/net/PlainSocketImpl.java:  Init fnum to -1.
3754         * java/net/ServerSocket.java:  Add missing throws clauses.
3755         * java/lang/Socket.java:  For the constructor taking a SocketImpl,
3756         don't call create on the latter.  Instead, other constructors
3757         have to explicitly call SocketImpl.create.
3758         * java/net/natPlainSocketImpl.cc (accept):  Change variable addrlen
3759         from size_t to int, to match ::accept prototype.
3760         * java/net/natInetAddress.cc:  Use JvFree rather than free.
3761
3762
3763 1999-02-22  Tom Tromey  <tromey@cygnus.com>
3764
3765         * include/javaprims.h: Added new classes.
3766         * java/text/StringCharacterIterator.java: New file.
3767         * java/text/CharacterIterator.java: New file.
3768
3769         * java/text/ParseException.java (errorOffset): Now private.
3770
3771 Mon Feb 22 12:54:53 1999  Per Bothner  <bothner@cygnus.com>
3772
3773         * java/net:  New package.
3774         * java/net/{InetAddress.java,PlainSocketImpl.java,ServerSocket.java,
3775         Socket.java,SocketException.java,SocketImpl.java,
3776         SocketImplFactory.java,UnknownHostException.java,natInetAddress.cc,
3777         natPlainSocketImpl.cc}:  New classes.
3778
3779         * configure.in (AC_CHECK_HEADERS):  Also check for <sys/socket.h>,
3780         <netinet.in.h>, <arpa/inet.h> and <netdb.h>.
3781         * include/config.h.in:  Add place-holders for HAVE_ARPA_INET_H,
3782         HAVE_NETDB_H, HAVE_NETINET_IN_H, and HAVE_SYS_SOCKET_H.
3783
3784         * classes.pl:  Translate package into "namespace", not "class".
3785         * include/javaprims.h:  Update class list, using "namespace".
3786
3787 1999-02-21  Tom Tromey  <tromey@cygnus.com>
3788
3789         * java/util/natGregorianCalendar.cc (_POSIX_PTHREAD_SEMANTICS):
3790         Define when appropriate.
3791
3792 1999-02-20  Tom Tromey  <tromey@cygnus.com>
3793
3794         * java/lang/natString.cc (_Jv_GetStringUTFRegion): Encode \u007f
3795         as a single byte and \u07ff as two bytes.
3796         (_Jv_GetStringUTFLength): Likewise.
3797         * include/jvm.h (UTF8_GET): Mask first byte of 3-byte encoding
3798         with 0x0f, not 0x1f.
3799
3800 1999-02-19  Tom Tromey  <tromey@cygnus.com>
3801
3802         * java/io/DataOutputStream.java (writeUTF): When encoding
3803         character as 3 bytes, `or' first byte with 0xe0, not 0xc0.
3804         * java/io/DataInputStream.java (readUTF): Mask second byte of
3805         3-byte character with 0x3f, not 0x1f.
3806
3807         * java/io/DataInputStream.java (readLong): Cast result of
3808         readUnsignedByte to long before using.
3809
3810         * java/io/FileInputStream.java (finalize): Only finalize `fd' if
3811         it is not null.
3812
3813         * mauve-libjava: Re-enabled java.io.DataInputOutput.
3814         * include/no-threads.h (_Jv_ThreadInterrupt): Removed name of
3815         argument to avoid warning.
3816         * include/quick-threads.h (_Jv_ThreadInterrupt): Removed name of
3817         argument to avoid warning.
3818
3819 1999-02-18  Tom Tromey  <tromey@cygnus.com>
3820
3821         * mauve-libjava: Omit java.io.DataInputOutput and
3822         java.io.Utf8Encoding.
3823
3824 1999-02-17  Tom Tromey  <tromey@cygnus.com>
3825
3826         * Makefile.in: Rebuilt.
3827         * Makefile.am (nat_headers): Added InterruptedIOException.h.
3828         * java/io/natFileDescriptorPosix.cc: Include
3829         InterruptedIOException.h, Thread.h.
3830         (write): Throw InterruptedIOException when required.
3831         (read): Likewise.
3832         * posix-threads.cc: Include <signal.h>.
3833         (_Jv_ThreadInterrupt): New function.
3834         (INTR): New define.
3835         (handle_intr): New function.
3836         (_Jv_InitThreads): Register handle_intr via sigaction.
3837         * java/lang/natThread.cc (interrupt): Call _Jv_ThreadInterrupt.
3838         * include/posix-threads.h (_Jv_ThreadInterrupt): Declare.
3839         * include/quick-threads.h (_Jv_ThreadInterrupt): New function.
3840         * include/no-threads.h (_Jv_ThreadInterrupt): New function.
3841
3842 1999-02-19  Andrew Haley  <aph@cygnus.com>
3843
3844         * java/lang/ThreadGroup (setMaxPriority): Set the maximum priority
3845         of subgroups.
3846         (ThreadGroup (int)): Set the maximum priority of the initial
3847         ThreadGroup.
3848
3849 1999-02-18  Andrew Haley  <aph@cygnus.com>
3850
3851         * java/lang/natClass.cc (forName): Check for the case where a
3852         classname is the name of an array and call FindClassFromSignature
3853         to find the Class.
3854
3855 1999-02-18  Andrew Haley  <aph@cygnus.com>
3856
3857         * java/lang/StringBuffer (insert (int, String)): Move up any
3858         characters above the insert position and increase the length of
3859         the string buffer by the length of the argument.
3860         (insert (int, char[])): Likewise.
3861         (insert (int, char)): Likewise.
3862         (StringBuffer (String)): The initial capacity of the string buffer
3863         is 16 plus the length of the argument.
3864         (getChars): Add a JDK 1.2 FIXME.
3865
3866 1999-02-18  Andrew Haley  <aph@cygnus.com>
3867
3868         * java/lang/Short.java (parseShort(String, int)): Pass radix to
3869         Integer.parseInt.
3870
3871 1999-02-18  Andrew Haley  <aph@cygnus.com>
3872
3873         * java/lang/Double.java (equals): Use a bit-by-bit comparision
3874         instead of floating-point equality.  This is necessary for
3875         correct floating-point Hashtables.
3876         * java/lang/Float.java (equals): Ditto.
3877
3878 1999-02-16  Tom Tromey  <tromey@cygnus.com>
3879
3880         * java/util/Properties.java (list): Truncate value to 37
3881         characters and add "...".
3882
3883 1999-02-16  Tom Tromey  <tromey@cygnus.com>
3884
3885         * java/util/Vector.java (Vector): Throw IllegalArgumentException
3886         if initCap is negative.
3887         (contains): Implement JDK1.2-style handling of null argument.
3888         (removeElement): Likewise.
3889         (indexOf): Likewise.  Also, correctly handle case where idx is
3890         negative.
3891         (lastIndexOf): Likewise.
3892
3893 1999-02-16  Tom Tromey  <tromey@cygnus.com>
3894
3895         * java/lang/natString.cc (init): Increment source pointer in
3896         loop.
3897
3898 1999-02-16  Tom Tromey  <tromey@cygnus.com>
3899
3900         * exception.cc: Include NullPointerException.h.
3901         (_Jv_Throw): If `value' is NULL, throw a NullPointerException.
3902
3903 1999-02-16  Tom Tromey  <tromey@cygnus.com>
3904
3905         * Makefile.in: Rebuilt.
3906         * Makefile.am (AUTOMAKE_OPTIONS): Added `no-installinfo.
3907
3908 Sat Feb 13 20:25:09 1999  Bonzo Armstrong  <bonzo@cygnus.com>
3909
3910         * configure.in: Don't undefine EH_COMMON_INCLUDE just because
3911         we're compiling canadian.
3912         * configure: Regenerated.
3913
3914 1999-02-12  Andrew Haley  <aph@cygnus.com>
3915  
3916         * java/lang/sf_rint.c: Resurrected.  This file shouldn't have been
3917         deleted from libgcj.
3918
3919 1999-02-12  Tom Tromey  <tromey@cygnus.com>
3920
3921         * exception.cc (_Jv_eh_alloc): Use _Jv_AllocBytes, not malloc.
3922         (_Jv_eh_free): Don't call free.
3923         Don't declare malloc or free.
3924
3925 1999-02-11  Tom Tromey  <tromey@cygnus.com>
3926
3927         * configure.host: Use `libgcj', not `libjava'.  Removed `echo'.
3928
3929 1999-02-11  Andrew Haley  <aph@cygnus.com>
3930
3931         * ef_fmod.c, sf_ceil.c, sf_fabs.c, sf_floor.c, sf_rint.c,
3932         wf_fmod.c: Deleted.  These are all files from fdlibm which aren't
3933         needed by java.lang.*.
3934         * Makefile.am: ef_fmod.o, sf_ceil.o, sf_fabs.o, sf_floor.o, sf_rint.o,
3935         wf_fmod.o: Removed from libjava.a.
3936
3937 1999-02-11  Tom Tromey  <tromey@cygnus.com>
3938
3939         * include/javaprims.h: Reverted previous change; with it
3940         exception.cc can't compile.
3941
3942         * include/javaprims.h (_Jv_Throw): Mark as noreturn.
3943
3944         * include/config.h.in: Rebuilt.
3945         * include/posix-threads.h (_Jv_ThreadYield): Conditionalize on
3946         HAVE_SCHED_YIELD.
3947         * configure: Rebuilt.
3948         * configure.in: Check for sched_yield.  Look in thread library for
3949         all thread functions.
3950
3951         * posix-threads.cc (_Jv_MutexInit): Handle case where system has
3952         no recursive mutexes.
3953         (_Jv_MutexDestroy): Define when required.
3954         (_Jv_MutexLock): Likewise.
3955         (_Jv_MutexUnlock): Likewise.
3956         (_Jv_CondWait): Conditionalize on HAVE_RECURSIVE_MUTEX.
3957         * include/posix-threads.h (HAVE_RECURSIVE_MUTEX): New define.
3958         (_Jv_Mutex_t): New structure.
3959         (_Jv_MutexDestroy): Only define if recursive mutexes available.
3960         (_Jv_MutexLock): Likewise.
3961         (_Jv_MutexUnlock): Likewise.
3962
3963 1999-02-10  Tom Tromey  <tromey@cygnus.com>
3964
3965         * aclocal.m4, configure, Makefile.in: Rebuilt.
3966         * acinclude.m4: Renamed libjava to libgcj.  Updated to use
3967         automake 1.4.
3968         * configure.in: Changed to track library changes.
3969         * Makefile.am (toollib_LIBRARIES): Renamed libjava to libgcj.
3970         (AM_CXXFLAGS): Likewise.
3971         (data_DATA): Likewise.
3972         (AM_CFLAGS): Likewise.
3973         (JC1FLAGS): Likewise.
3974         (libgcj_a_SOURCES): Likewise.
3975         (EXTRA_libgcj_a_SOURCES): Likewise.
3976         (libgcj_a_DEPENDENCIES): Likewise.
3977         (libgcj_a_LIBADD): Likewise.
3978         (libgcj.zip): Likewise.
3979         (CLEANFILES): Likewise.
3980         ($(nat_headers)): Likewise.
3981         (java/lang/FirstThread.h): Likewise.
3982         (java/lang/ThreadGroup.h): Likewise.
3983         (java/lang/String.h): Likewise.
3984         (java/lang/reflect/Field.h): Likewise.
3985         (BUILT_SOURCES): Likewise.
3986         (maintainer-check): Likewise.
3987         (CONFIG_STATUS_DEPENDENCIES): Likewise.
3988 Tue Feb  9 11:06:38 1999  Anthony Green  <green@cygnus.com>
3989
3990         * java/util/natGregorianCalendar.cc (computeFields): Only use
3991         gmtime_r and localtime_r when configured for posix threads.
3992
3993         * java/io/natFile.cc (get_entry): Only use readdir_r when
3994         configured for posix threads.
3995
3996         * java/util/natGregorianCalendar.cc: Update copyright notice.
3997         * java/util/TimeZone.java: Ditto.
3998         * java/util/SimpleTimeZone.java: Ditto.
3999
4000 1999-02-08  Tom Tromey  <tromey@cygnus.com>
4001
4002         * java/io/PrintStream.java (line_separator): New constant.
4003         (print): Use line_separator, not `file.separator' property.
4004         (println): Use line_separator.
4005
4006         * java/lang/natClass.cc (newInstance): Throw IllegalAccessError
4007         when trying to instantiate Class.
4008
4009         * java/lang/ThreadGroup.java (ThreadGroup): Throw
4010         NullPointerException if argument is null.
4011
4012         * java/lang/Thread.java (setName): Throw NullPointerException, not
4013         IllegalArgumentException.
4014         (Thread): Likewise.
4015
4016 1999-02-08  Andrew Haley  <aph@cygnus.com>
4017
4018         * java/lang/natClass.cc (newInstance): Don't allow anyone to
4019         create new Classes with Class.newInstance().
4020
4021         * java/lang/natClass.cc (_Jv_FindArrayClass): Only add a
4022         semiciolon to end of an array Class's signature if the elements of
4023         the array aren't themselves arrays.
4024
4025         * java/lang/natSystem.cc (arraycopy): The size of an element of an
4026         array of objects is always sizeof(jobject), not the size of the
4027         object to which the reference points.
4028
4029 1999-02-08  Tom Tromey  <tromey@cygnus.com>
4030
4031         * java/util/BitSet.java (and): Throw NullPointerException when
4032         required.
4033         (or): Likewise.
4034         (xor): Likewise.
4035
4036         * java/util/BitSet.java (BitSet): Throw NegativeArraySizeException
4037         if argument is negative.
4038         (clear): Correctly compute `offset'.  Throw
4039         IndexOutOfBoundsException when required.
4040         (set): Likewise.
4041         (get): Likewise.  Also, return correct value.
4042         (ensure): Changed meaning of argument.
4043         (toString): Wrap contents in `{}'; put spaces after commas.
4044         (hashCode): Don't try to examine elements off the end of array.
4045         (or): Correctly include bits past the end of this bit set.
4046         (xor): Likewise.
4047
4048 Thu Feb  4 12:48:03 1999  Warren Levy  <warrenl@cygnus.com>
4049
4050         * configure.host (mips-tx39-*): Use jmr3904dram.ld link script 
4051         instead of the jmr3904app.ld script (i.e. use DRAM instead of SRAM).
4052
4053 1999-02-04  Andrew Haley  <aph@cygnus.com>
4054
4055         * java/lang/natClass.cc (Class::forName): Remove code which mapped
4056         '/' in signatures to '.'
4057         (Class::getName): Likewise,
4058         (_Jv_FindArrayClass): Add a semiciolon to end of an array Class's
4059         signature.
4060         * java/lang/natFirstThread.cc (run): Change '/' in main's
4061         signature to '.'.
4062
4063 1999-02-03  Andrew Haley  <aph@cygnus.com>
4064
4065         * configure.host: -ffloat-store added when compiling libjava on
4066         x86.  fdlibm apparently relies on this.
4067
4068         * java/lang/ThreadGroup.java (add): throw an exception if the
4069         ThreadGroup has been destroyed.
4070
4071         * java/lang/natMath.cc (round): Ensure correct NaN and overflow
4072         behaviour.
4073
4074 1999-01-27  Tom Tromey  <tromey@cygnus.com>
4075
4076         * java/lang/StringBuffer.java (StringBuffer): Handle null
4077         argument.
4078
4079 1999-01-21  Tom Tromey  <tromey@cygnus.com>
4080
4081         * java/lang/natFirstThread.cc (run): Don't require main to be
4082         public.
4083
4084 Wed Jan 20 15:44:56 1999  Anthony Green  <green@cygnus.com>
4085
4086         * boehm.cc (_Jv_InitGC): Clear out the free lists correctly.
4087
4088 1999-01-20  Tom Tromey  <tromey@cygnus.com>
4089
4090         * java/lang/natString.cc (_Jv_StringFindSlot): Synchronize on
4091         StringClass.
4092         (rehash): Likewise.
4093         (intern): Likewise.
4094         (unintern): Likewise.
4095         (_Jv_NewStringUtf8Const): Likewise.
4096
4097         * java/text/SimpleDateFormat.java (format): Use [a-zA-z], not
4098         Character.isLetter, to see if character is self-quoting.  Also,
4099         correctly handle quoted characters.
4100         (parse): Fixed typo.  Also now throws ParseException.
4101
4102 1999-01-15  Tom Tromey  <tromey@cygnus.com>
4103
4104         * java/lang/natObject.cc (INIT_NEEDED): Added missing close paren.
4105
4106         * java/lang/natObject.cc (INIT_NEEDED): Added cast in case where
4107         _Jv_SyncInfo has `init' member.
4108
4109         * include/quick-threads.h (_Jv_MutexUnlock): Return result of
4110         coop_mutex_unlock.
4111
4112         * java/lang/natObject.cc (_Jv_MonitorExit): Throw
4113         IllegalMonitorStateException if unlock fails.
4114
4115         * prims.cc (_Jv_NewPrimArray): Assume allocated memory is all
4116         zero.
4117         (_Jv_NewObjectArray): Likewise.
4118
4119 1999-01-14  Tom Tromey  <tromey@cygnus.com>
4120
4121         * java/lang/Character.java (isJavaIdentifierPart): Allow
4122         LETTER_NUMBER characters.
4123
4124         * chartables.pl (process_char): Fixed error messages.
4125
4126         * include/java-chartables.h: Rebuilt with UniData 2.1.8.
4127         * chartables.pl: Updated comments.  Changed detection of non-digit
4128         numeric values (no longer miss \u00b2 and friends).
4129
4130         * java/lang/Character.java (isJavaIdentifierPart): Recognize
4131         currency symbols and connector punctuation.
4132         (isIdentifierIgnorable): Make 7f-9f ignorable.
4133
4134         * prims.cc (_Jv_NewObjectArray): Check for overflow.
4135         (_Jv_NewPrimArray): Likewise.
4136         (SIZE_T_MAX): New define.
4137
4138         * java/lang/ClassLoader.java (system): Now private and final.
4139
4140         * boehm.cc (_Jv_MarkObj): Handle case where object's class is
4141         null.
4142
4143         * configure: Rebuilt.
4144         * configure.in (EH_COMMON_INCLUDE): Add -I for `../include' as
4145         well.
4146         * exception.cc: Include gansidecl.h.
4147
4148 1999-01-14  Andrew Haley  <aph@cygnus.com>
4149
4150         * java/lang/Math.java, java/lang/natMath.cc: min and max routines
4151         corrected: they didn't treat -0.0 and NaNs correctly.
4152
4153 Wed Jan 13 13:32:22 1999  Anthony Green  <green@cygnus.com>
4154
4155         * nogc.cc: Use calloc to zero out memory.
4156
4157 1999-01-11  Tom Tromey  <tromey@cygnus.com>
4158
4159         * java/lang/natClass.cc (isInstance): Return false if this class
4160         is primitive, not if class of `obj' is primitive.
4161         (_Jv_IsInstanceOf): Rewrote to use Class.isInstance.
4162
4163         * java/io/SequenceInputStream.java (close): Handle case where `in'
4164         is already null.
4165
4166         * java/text/DateFormat.java (format): New method.
4167
4168         * mauve-libjava: Omit java.text.DateFormat.
4169
4170 1999-01-08  Tom Tromey  <tromey@cygnus.com>
4171
4172         * posix-threads.cc (_Jv_ThreadInitData): Removed name of unused
4173         argument.
4174         * include/posix-threads.h (_Jv_CondNotify): Removed name of unused
4175         argument.
4176         (_Jv_CondNotifyAll): Likewise.
4177
4178         * configure: Rebuilt.
4179         * configure.in: Change --enable-source-compilation logic to work
4180         correctly.
4181
4182 1999-01-07  Andrew Haley  <aph@cygnus.co.uk>
4183
4184         * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT, 
4185         and RUNTESTFLAGS from AM_MAKEFLAGS.
4186         * configure.in: AM_RUNTESTFLAGS added.
4187         * configure.host: AM_RUNTESTFLAGS added.
4188         * Makefile.in, test/Makefile.in, testsuite/Makefile.in: rebuilt.
4189         * configure: rebuilt.
4190         * testsuite/Makefile.am: RUNTESTFLAGS set from AM_RUNTESTFLAGS.
4191
4192         * testsuite/libjava.mauve/DejaGNUTestHarness.java (main): use of
4193         argv[] made conditional because embedded targets may not have
4194         argv[].
4195         * testsuite/libjava.mauve/DejaGNUTestHarness.java (main):
4196         explanatory comments added in call to super.
4197
4198         * testsuite/libjava.mauve/test.exp (test_mauve): Test for an
4199         exception thrown in the test harness itself added.
4200         * testsuite/libjava.mauve/test.exp (test_mauve_sim): New routine.
4201
4202 Wed Jan  6 17:27:39 1999  Per Bothner  <bothner@cygnus.com>
4203
4204         * java/text/DateFormatSymbols.java (zoneStringsDefault):  Make static.
4205
4206 1999-01-06  Tom Tromey  <tromey@cygnus.com>
4207
4208         * java/io/natFile.cc (get_entry): New function.
4209         (performList): Use get_entry.
4210         * include/config.h.in: Rebuilt.
4211         * acconfig.h (HAVE_READDIR_R): New define.
4212         * configure: Rebuilt.
4213         * configure.in: Look for readdir_r.
4214
4215         * java/util/natGregorianCalendar.cc (computeFields): Fixed comment.
4216
4217         * java/util/natDate.cc: Added copyright header.
4218
4219 1999-01-05  Tom Tromey  <tromey@cygnus.com>
4220
4221         * include/config.h.in: Rebuilt.
4222         * acconfig.h (HAVE_ACCESS, HAVE_STAT, HAVE_REALPATH, HAVE_MKDIR,
4223         HAVE_REALPATH, HAVE_RMDIR, HAVE_UNLINK): New macros.
4224         * configure: Rebuilt.
4225         * configure.in: Check for access, stat, mkdir, rename, rmdir,
4226         unlink, and realpath.
4227         * java/io/natFile.cc (access): Conditionalize on HAVE_ACCESS.
4228         (stat): Conditionalize on HAVE_STAT.
4229         (attr): Likewise.
4230         (getCanonicalPath): Conditionalize on HAVE_REALPATH.
4231         (performMkdir): Conditionalize on HAVE_MKDIR.
4232         (performRenameTo): Conditionalize on HAVE_RENAME.
4233         (performDelete): Conditionalize on HAVE_RMDIR and HAVE_UNLINK.
4234
4235         * include/config.h.in: Rebuilt.
4236         * acconfig.h (HAVE_GMTIME_R, HAVE_LOCALTIME_R): New defines.
4237         * configure: Rebuilt.
4238         * configure.in: Check for gmtime_r and localtime_r.  For cross
4239         builds, assume they exist.
4240
4241         * mauve-libjava: Include java.text.DateFormatSymbols again.
4242         * java/text/DateFormatSymbols.java (setLocalPatternChars): Renamed
4243         from setAmPmStrings.
4244
4245         * mauve-libjava: Omit java.text.DateFormatSymbols.
4246
4247 1999-01-04  Tom Tromey  <tromey@cygnus.com>
4248
4249         * java/io/PushbackReader.java: `off' already includes `numBytes'.
4250
4251         * java/io/LineNumberReader.java (read): Decrement `count' in
4252         loop.
4253
4254         * java/io/BufferedWriter.java (write): Correctly determine when
4255         incoming data would overrun buffer.  Flush buffer if write causes
4256         it to become full.
4257
4258         * java/io/BufferedOutputStream.java (write): Increment `count'
4259         after copying data into buffer.
4260
4261         * java/io/FilterOutputStream.java (close): Call flush first.
4262
4263         * java/io/PipedReader.java (read): If read causes `out' to catch
4264         up with `in', then set `in' to -1.
4265
4266         * java/io/LineNumberInputStream.java (read): If no bytes read,
4267         return -1.  If no bytes requested, return 0.
4268
4269         * java/lang/StringBuffer.java (insert): If `str' is null, use
4270         string "null".
4271
4272 1998-12-30  Anthony Green  <green@cygnus.com>
4273
4274         * README: Removed.
4275         * LIBJAVA_LICENSE, COPYING.LIB: Created.
4276
4277 1998-12-23  Tom Tromey  <tromey@cygnus.com>
4278
4279         * java/io/PushbackInputStream.java (read): `off' already includes
4280         `numBytes'.
4281
4282 1998-12-17  Tom Tromey  <tromey@cygnus.com>
4283
4284         * Makefile.in: Rebuilt.
4285         * Makefile.am (GCJ_canadian): Include target_alias.
4286
4287         * java/lang/natFirstThread.cc (run): Require main's class to be
4288         public.
4289
4290 1998-12-16  Tom Tromey  <tromey@cygnus.com>
4291
4292         * java/util/Locale.java (JAPAN): Language is `ja', not `jp'.
4293
4294         * java/util/ResourceBundle.java (getBundle): Throw
4295         NullPointerException if locale argument is null.
4296
4297         * java/lang/natClass.cc (forName): Throw NullPointerException if
4298         argument is null.
4299         Include NullPointerException.h.
4300
4301 1998-12-14  Tom Tromey  <tromey@cygnus.com>
4302
4303         * java/lang/Character.java (Character): Implement Comparable.
4304         (compareTo): New methods.
4305
4306         * java/util/Locale.java (CANADA, FRANCE, JAPAN): Now `final'.  Use
4307         correct country and language codes.
4308         (UK, US): New constants.
4309         (setDefault): Language codes are lower-case.
4310
4311         * java/lang/natClass.cc (getDeclaredConstructor): New method.
4312         (getDeclaredConstructors): Likewise.
4313         (getDeclaredField): Likewise.
4314         (getDeclaredFields): Likewise.
4315         (getDeclaredMethod): Likewise.
4316         (getDeclaredMethods): Likewise.
4317         (getField): Likewise.
4318         (getFields): Likewise.
4319         (getMethod): Likewise.
4320         (getMethods): Likewise.
4321         * java/lang/Class.java: Declare new methods.
4322         * java/lang/Class.h: Declare new methods.
4323
4324         * java/lang/natString.cc: Removed `#pragma implementation'.
4325         * include/cni.h (_Jv_GetStringChars): New function.
4326         * Makefile.in: Rebuilt.
4327         * Makefile.am (java/lang/String.h): Don't generate definition for
4328         _Jv_GetStringChars.
4329
4330         * java/lang/natString.cc: Added `#pragma implementation'.
4331
4332         * Makefile.in: Rebuilt.
4333         * Makefile.am (libjava.zip): Put build directory first in class
4334         path to avoid bug in compiler.
4335
4336 1998-12-14  Anthony Green  <green@cygnus.com>
4337
4338         * java/util/Locale.java: Add CANADA, FRANCE and JAPAN.
4339
4340         * include/javaprims.h: Add EventObject, ListResourceBundle and
4341         ResourceBundle.
4342
4343 1998-12-13  Anthony Green  <green@cygnus.com>
4344
4345         * mauve-libjava: Run the ResourceBundle tests.
4346
4347         * java/lang/natClass.cc (_Jv_FindClass): Don't fail when loader is
4348         NULL.
4349
4350 Sun Dec 13 18:11:21 1998  Per Bothner  <bothner@cygnus.com>
4351
4352         * configure.in, configure:  Make --enable-gcj-classes and
4353         --enable-source-compilation the default.  (Nervously...)  Yeah!
4354         Based on a patch from Tom Tromey.
4355
4356 1998-12-13  Tom Tromey  <tromey@cygnus.com>
4357
4358         * java/util/EventObject.java: New file.
4359         * java/util/EventListener.java: New file.
4360
4361         * include/javaprims.h: Updated class declarations.
4362         * Makefile.in: Rebuilt.
4363         * Makefile.am (nat_headers): Added Constructor.h.
4364         (java/lang/String.h): Don't inline String::length().
4365         * java/lang/Class.h (getConstructor, getConstructors): Declare.
4366         * java/lang/Class.java (initializeClass, hackRunInitializers,
4367         hackTrampoline): No need to mark `final'.
4368         (getConstructor, getConstructors): Declare.
4369         * java/lang/reflect/Field.java (equals): New method.
4370         * java/lang/natClass.cc (getConstructor): New method.
4371         (getConstructors): Likewise.
4372         Include Method.h, Field.h, Constructor.h.
4373         * java/lang/reflect/Constructor.java: New file.
4374         * java/lang/reflect/Method.java (toString): No space before open
4375         paren.
4376         (equals): Simplified.
4377
4378 1998-12-13  Anthony Green  <green@cygnus.com>
4379
4380         * java/util/ResourceBundle.java: New file.
4381         * java/util/ListResourceBundle.java: New file.
4382
4383 1998-12-12  Tom Tromey  <tromey@cygnus.com>
4384
4385         * java/lang/System.java (in, out, err): Now buffered streams by
4386         default.
4387
4388         * include/javaprims.h: Updated class declarations.
4389         * Makefile.in: Rebuilt.
4390         * Makefile.am (nat_headers): Added AccessibleObject.h, Method.h,
4391         InvocationTargetException.h, Void.h, Byte.h, Short.h, Integer.h,
4392         Long.h, Boolean.h.
4393         (nat_files): Added natMethod.o.
4394         * java/lang/reflect/natMethod.cc: New file.
4395         * java/lang/reflect/Field.java (Field): Now extends
4396         AccessibleObject.
4397         * java/lang/reflect/AccessibleObject.java: New file.
4398         * java/lang/reflect/InvocationTargetException.java: New file.
4399
4400 1998-12-11  Tom Tromey  <tromey@cygnus.com>
4401
4402         * boehm.cc, prims.cc, include/jvm.h, java/lang/Class.h,
4403         java/lang/Object.h, java/lang/natClass.cc, java/lang/natObject.cc:
4404         Renamed dtable -> vtable and _Jv_DispatchTable -> _Jv_VTable.
4405
4406         * java/io/OutputStreamWriter.java (buffer): Size at 8192 bytes.
4407
4408 1998-12-09  Tom Tromey  <tromey@cygnus.com>
4409
4410         * java/util/natDate.cc (_POSIX_THREAD_SEMANTICS): Define if
4411         HAVE_CTIME_R.
4412
4413         * java/lang/natCharacter.cc (toTitleCase): Handle case where
4414         character is already titlecase.
4415
4416         * java/lang/Character.java (isJavaLetter): Follow spec.
4417         (isJavaLetterOrDigit): Likewise.
4418
4419         * java/util/GregorianCalendar.java (gregorianCutover): Append
4420         `L'.
4421
4422         * java/lang/Character.java (isWhitespace): Use \r and not \u000d.
4423
4424 1998-12-08  Tom Tromey  <tromey@cygnus.com>
4425
4426         * java/lang/reflect/Modifier.java (toString): Replace second
4427         `static' with `synchronized'.
4428
4429         * java/lang/natObject.cc (_Jv_FinalizeObject): Call hack12_6.
4430         * java/lang/Object.h (Object::hack12_6): Declare.
4431         * java/lang/Object.java (hack12_6): New function.
4432
4433 1998-12-07  Tom Tromey  <tromey@cygnus.com>
4434
4435         * include/java-array.h (__JArray::clone): Removed decl.
4436         * prims.cc (__JArray::clone): Removed.
4437         * java/lang/natObject.cc (clone): Incorporate code to clone an
4438         array.
4439
4440         * java/lang/natClass.cc (_Jv_NewClass): Set class loader.
4441         (_Jv_FindArrayClass): Set dtable_method_count on new class.
4442         Correctly use dtable_method_count.
4443
4444 1998-12-07  Andrew Haley  <aph@cygnus.co.uk>
4445
4446         * java/lang/Double.java (isInfinite, isNaN): Handle correct
4447         IEEE754 values.
4448
4449 1998-12-06  Anthony Green  <green@cygnus.com>
4450
4451         * mauve-libjava: Don't test ResourceBundle.
4452
4453 1998-12-04  Tom Tromey  <tromey@cygnus.com>
4454
4455         More JDK 1.2 spec fixes:
4456         * java/util/Date.java (millis): Now private.
4457         * java/text/DateFormat.java (DateFormat): Constructor now
4458         protected.
4459         * java/lang/Void.java (Void): New private constructor.
4460         * java/lang/System.java (System): New private constructor.
4461         * java/lang/SecurityManager.java (classLoaderDepth): Uncommented
4462         body.
4463         (currentClassLoader): New method.
4464         (currentLoadedClass): New method.
4465         * java/lang/Math.java (Math): New private constructor.
4466         * java/lang/Compiler.java (Compiler): New private constructor.
4467         * java/lang/Class.java (Class): New private constructor.
4468         * java/lang/Double.java (toString): Removed access specifier from
4469         two-argument `toString' method.
4470
4471 1998-12-04  Andrew Haley  <aph@cygnus.co.uk>
4472
4473         * java/lang/s_rint.c (rint): Make the variable w volatile; this
4474         causes it to be flushed from an fp register (where it may be
4475         longer than double precision) to a double in memory.  This is
4476         essential to ensure correct rounding behaviour.
4477  
4478 1998-12-04  Tom Tromey  <tromey@cygnus.com>
4479
4480         * include/java-assert.h (_Jv_Abort): Declare as `noreturn'
4481         function.
4482
4483         * java/lang/Character.java (isIdentifierIgnorable): Added comment
4484         explaining apparent divergence from JDK 1.2.
4485
4486 1998-12-04  Per Bothner  <bothner@cygnus.com>
4487
4488         * include/no-threads.h:  Remove unused parameter names.
4489         This silences a bunch of warnings.
4490
4491 1998-12-04  Tom Tromey  <tromey@cygnus.com>
4492
4493         * include/config.h.in: Rebuilt.
4494         * acconfig.h (HAVE_CTIME_R): New symbol.
4495
4496 1998-12-03  Tom Tromey  <tromey@cygnus.com>
4497
4498         * mauve-libjava: Added many more categories to reject.
4499
4500         Changes to follow JDK1.2 spec:
4501         * java/lang/System.java (arraycopy, init_properties, checkSetIO,
4502         setErr, setIn, setOut): No need to be `final'.
4503         * java/lang/natObject.cc (wait): `nanos' argument is an int.
4504         * java/lang/Object.h (Object::wait): `nanos' argument is an int.
4505         * java/lang/Object.java (wait): `nanos' argument is an int.
4506         * java/lang/VirtualMachineError.java: Class is abstract.
4507         * java/lang/ThreadDeath.java: Made constructors public.
4508         * java/io/FileDescriptor.java (FileDescriptor): Added missing
4509         constructor.
4510
4511 Thu Dec  3 20:29:38 1998  Warren Levy  <warrenl@cygnus.com>
4512
4513         * java/text/DateFormatSymbols.java (getAmPmStrings,
4514         getLocalPatternChars, setShortWeekdays): Fixed typos in method names.
4515
4516 Thu Dec  3 19:21:53 1998  Warren Levy  <warrenl@cygnus.com>
4517
4518         * java/io/RandomAccessFile.java (writeInt, writeLong, writeFloat,
4519         writeDouble, writeByte, writeBytes, writeChar, writeChars,
4520         writeShort, writeUTF): Added 'final' to signature to match JDK 1.1
4521         and 1.2.
4522
4523         * java/lang/IllegalThreadStateException.java
4524         (IllegalThreadStateException): Changed extending class to match spec.
4525
4526         * java/lang/NumberFormatException.java
4527         (java/lang/NumberFormatException): Changed extending class to match
4528         spec.
4529
4530         * java/util/Observer.java (Observer): Changed sig to match JCL.
4531
4532 Thu Dec  3 19:05:26 1998  Warren Levy  <warrenl@cygnus.com>
4533
4534         * java/io/DataOutputStream.java (writeInt, writeLong, writeFloat,
4535         writeDouble, writeBytes, writeChars, writeUTF): Added 'final' to
4536         signature to match JDK 1.1 and 1.2.
4537
4538 Thu Dec  3 16:47:42 1998  Warren Levy  <warrenl@cygnus.com>
4539
4540         * Makefile.am: Changed to use $(PERL) rather than hardcoded 'perl'.
4541         * configure.in (PERL): Added AC_CHECK_PROGS to look for installed perl.
4542         * Makefile.in, configure: Rebuilt.
4543
4544         * java/text/ParsePosition.java (setErrorIndex): Fixed typo in method
4545         name.
4546
4547 1998-12-02  Tom Tromey  <tromey@cygnus.com>
4548
4549         * mauve-libjava: New file.
4550
4551         The remaining `-W -Wall' fixes:
4552         * java/lang/e_sqrt.c (__ieee754_sqrt): Added cast to unsigned to
4553         avoid warning.
4554         * java/lang/s_scalbn.c (scalbn): Added braces to avoid ambiguous
4555         `else'.
4556         * java/lang/s_floor.c (floor): Added cast to unsigned to avoid
4557         warning.
4558         * java/lang/e_pow.c (__ieee754_pow): Added cast to unsigned to
4559         avoid warning.
4560         * java/lang/e_log.c (__ieee754_log): Added braces to avoid
4561         ambiguous `else'.
4562         * java/lang/s_ceil.c (ceil): Cast `i1' to unsigned to avoid
4563         warning.
4564         * java/lang/e_atan2.c (__ieee754_atan2): Added parentheses per gcc
4565         suggestion.
4566         * java/lang/strtod.c (_strtod_r): Added parentheses per gcc
4567         suggestion.
4568         * java/lang/mprec.c (Balloc): Removed unused variable.
4569         (mult): Added parentheses per gcc suggestion.
4570         (pow5mult): Likewise.
4571         (lshift): Likewise.
4572         (ulp): Likewise.
4573         (b2d): Likewise.
4574         (d2b): Likewise.
4575         * java/lang/dtoa.c (_dtoa_r): Added some parentheses per gcc
4576         suggestion.  Added cast to `int' to avoid signed/unsigned
4577         comparison.
4578         * jni.cc (_Jv_JNI_GetSuperclass): Removed name of unused
4579         parameter.
4580         (IsAssignableFrom): Likewise.
4581         (_Jv_JNI_GetObjectField): Likewise.
4582         (_Jv_JNI_GetByteField): Likewise.
4583         (_Jv_JNI_GetShortField): Likewise.
4584         (_Jv_JNI_GetIntField): Likewise.
4585         (_Jv_JNI_GetLongField): Likewise.
4586         (_Jv_JNI_GetStringLength): Likewise.
4587         (_Jv_JNI_ToReflectedField): Likewise.
4588         (_Jv_JNI_FromReflectedField): Likewise.
4589         (_Jv_JNIFunctions): Uncommented IsAssignableFrom.
4590
4591         * Makefile.in: Rebuilt.
4592         * Makefile.am (AM_CFLAGS): Define conditionally.
4593         (WARNINGS): New macro.
4594         (AM_CXXFLAGS): Include WARNINGS.
4595         * configure: Rebuilt.
4596         * configure.in (USING_GCC): New conditional.
4597
4598         * prims.cc (_Jv_Abort): Declare twice, to avoid warnings.
4599
4600         * java/lang/Character.java: Changed classification constants to
4601         type `byte' to match JDK 1.2 docs.
4602
4603 1998-12-01  Tom Tromey  <tromey@cygnus.com>
4604
4605         Some fixes to be `-W -Wall' clean:
4606         * boehm.cc (_Jv_MarkObj): Removed name of unused parameter.
4607         (_Jv_MarkArray): Likewise.
4608         * java/lang/natCharacter.cc (to_lower_title): `i' is unsigned.
4609         (to_upper_title): Likewise.
4610         (isTitleCase): Likewise.
4611         (toTitleCase): Likewise.
4612         (getNumericValue): Likewise.
4613         (isLowerCase): Likewise.
4614         * java/lang/natString.cc (charAt): Don't cast `i' to unsigned
4615         (avoids compiler warning).
4616         * java/lang/natClass.cc (getDeclaredClasses): Always return a
4617         value.
4618         (getDeclaringClass): Likewise.
4619         (_Jv_LookupInterfaceMethod): Likewise.
4620         (_Jv_NewClass): Removed name of unused parameter.
4621         * exception.cc (_Jv_type_matcher): Removed unused variable.
4622         (_Jv_setup_eh_info): Removed name of unused parameter.
4623         * prims.cc (_Jv_NewArray): Always return a value.
4624         (_Jv_FindClassFromSignature): Likewise.
4625         * include/java-field.h (getNameUtf8Const): Removed name of unused
4626         parameter.
4627         * include/quick-threads.h (_Jv_ThreadInitData): Removed name of
4628         unused parameter.
4629         (_Jv_ThreadSetPriority): Likewise.
4630
4631         * java/lang/natString.cc (hashChars): Now static.
4632
4633         * java/lang/FirstThread.java (FirstThread): Now final.
4634
4635         * java/io/File.java (performMkdir, performRenameTo): Now private.
4636
4637         * java/lang/natSystem.cc (currentTimeMillis): Return a value even
4638         if no time function defined.
4639
4640         * configure: Rebuilt.
4641         * configure.in: Look for ctime_r, ctime.
4642         * java/util/Date.java (toString): Now native.
4643         * java/util/natDate.cc (toString): Rewrote.
4644
4645 1998-11-27  Andrew Haley  <aph@viagra.cygnus.co.uk>
4646
4647         * Add LDFLAGS line to allow TX39 test cases to link when cross
4648         compiling.
4649
4650 1998-11-23  Anthony Green  <green@cygnus.com>
4651
4652         * boehm.cc, chartables.pl, classes.pl, exception.cc, jni.cc,
4653         no-threads.cc, nogc.cc, posix-threads.cc, prims.cc,
4654         quick-threads.cc, include/boehm-gc.h, include/cni.h,
4655         include/java-array.h, include/java-assert.h, include/java-field.h,
4656         include/javaprims.h, include/jni.h, include/jvm.h,
4657         include/no-gc.h, include/no-threads.h, include/posix-threads.h,
4658         include/quick-threads.h, java/io/BufferedInputStream.java,
4659         java/io/BufferedOutputStream.java, java/io/BufferedReader.java,
4660         java/io/BufferedWriter.java, java/io/ByteArrayInputStream.java,
4661         java/io/ByteArrayOutputStream.java, java/io/CharArrayReader.java,
4662         java/io/CharArrayWriter.java,
4663         java/io/CharConversionException.java, java/io/DataInput.java,
4664         java/io/DataInputStream.java, java/io/DataOutput.java,
4665         java/io/DataOutputStream.java, java/io/EOFException.java,
4666         java/io/File.java, java/io/FileDescriptor.java,
4667         java/io/FileInputStream.java, java/io/FileNotFoundException.java,
4668         java/io/FileOutputStream.java, java/io/FileReader.java,
4669         java/io/FileWriter.java, java/io/FilenameFilter.java,
4670         java/io/FilterInputStream.java, java/io/FilterOutputStream.java,
4671         java/io/FilterReader.java, java/io/FilterWriter.java,
4672         java/io/IOException.java, java/io/InputStream.java,
4673         java/io/InputStreamReader.java,
4674         java/io/InterruptedIOException.java,
4675         java/io/LineNumberInputStream.java, java/io/LineNumberReader.java,
4676         java/io/OutputStream.java, java/io/OutputStreamWriter.java,
4677         java/io/PipedInputStream.java, java/io/PipedOutputStream.java,
4678         java/io/PipedReader.java, java/io/PipedWriter.java,
4679         java/io/PrintStream.java, java/io/PrintWriter.java,
4680         java/io/PushbackInputStream.java, java/io/PushbackReader.java,
4681         java/io/RandomAccessFile.java, java/io/Reader.java,
4682         java/io/SequenceInputStream.java, java/io/Serializable.java,
4683         java/io/StreamTokenizer.java,
4684         java/io/StringBufferInputStream.java, java/io/StringReader.java,
4685         java/io/StringWriter.java, java/io/SyncFailedException.java,
4686         java/io/UTFDataFormatException.java,
4687         java/io/UnsupportedEncodingException.java, java/io/Writer.java,
4688         java/io/natFile.cc, java/io/natFileDescriptorEcos.cc,
4689         java/io/natFileDescriptorPosix.cc,
4690         java/lang/AbstractMethodError.java,
4691         java/lang/ArithmeticException.java,
4692         java/lang/ArrayIndexOutOfBoundsException.java,
4693         java/lang/ArrayStoreException.java, java/lang/Boolean.java,
4694         java/lang/Byte.java, java/lang/Character.java, java/lang/Class.h,
4695         java/lang/Class.java, java/lang/ClassCastException.java,
4696         java/lang/ClassCircularityError.java,
4697         java/lang/ClassFormatError.java, java/lang/ClassLoader.java,
4698         java/lang/ClassNotFoundException.java,
4699         java/lang/CloneNotSupportedException.java,
4700         java/lang/Cloneable.java, java/lang/Comparable.java,
4701         java/lang/Compiler.java, java/lang/Double.java,
4702         java/lang/Error.java, java/lang/Exception.java,
4703         java/lang/ExceptionInInitializerError.java,
4704         java/lang/FirstThread.java, java/lang/Float.java,
4705         java/lang/IllegalAccessError.java,
4706         java/lang/IllegalAccessException.java,
4707         java/lang/IllegalArgumentException.java,
4708         java/lang/IllegalMonitorStateException.java,
4709         java/lang/IllegalStateException.java,
4710         java/lang/IllegalThreadStateException.java,
4711         java/lang/IncompatibleClassChangeError.java,
4712         java/lang/IndexOutOfBoundsException.java,
4713         java/lang/InstantiationError.java,
4714         java/lang/InstantiationException.java, java/lang/Integer.java,
4715         java/lang/InternalError.java, java/lang/InterruptedException.java,
4716         java/lang/LinkageError.java, java/lang/Long.java,
4717         java/lang/Math.java, java/lang/NegativeArraySizeException.java,
4718         java/lang/NoClassDefFoundError.java,
4719         java/lang/NoSuchFieldError.java,
4720         java/lang/NoSuchFieldException.java,
4721         java/lang/NoSuchMethodError.java,
4722         java/lang/NoSuchMethodException.java,
4723         java/lang/NullPointerException.java, java/lang/Number.java,
4724         java/lang/NumberFormatException.java, java/lang/Object.h,
4725         java/lang/Object.java, java/lang/OutOfMemoryError.java,
4726         java/lang/Process.java, java/lang/Runnable.java,
4727         java/lang/Runtime.java, java/lang/RuntimeException.java,
4728         java/lang/SecurityException.java, java/lang/SecurityManager.java,
4729         java/lang/Short.java, java/lang/StackOverflowError.java,
4730         java/lang/String.java, java/lang/StringBuffer.java,
4731         java/lang/StringIndexOutOfBoundsException.java,
4732         java/lang/System.java, java/lang/Thread.java,
4733         java/lang/ThreadDeath.java, java/lang/ThreadGroup.java,
4734         java/lang/Throwable.java, java/lang/UnknownError.java,
4735         java/lang/UnsatisfiedLinkError.java,
4736         java/lang/UnsupportedOperationException.java,
4737         java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
4738         java/lang/Void.java, java/lang/natCharacter.cc,
4739         java/lang/natClass.cc, java/lang/natDouble.cc,
4740         java/lang/natFirstThread.cc, java/lang/natFloat.cc,
4741         java/lang/natMath.cc, java/lang/natObject.cc,
4742         java/lang/natRuntime.cc, java/lang/natString.cc,
4743         java/lang/natSystem.cc, java/lang/natThread.cc,
4744         java/lang/reflect/Field.java, java/lang/reflect/Member.java,
4745         java/lang/reflect/Modifier.java, java/lang/reflect/natField.cc,
4746         java/text/DateFormat.java, java/text/DateFormatSymbols.java,
4747         java/text/FieldPosition.java, java/text/Format.java,
4748         java/text/NumberFormat.java, java/text/ParseException.java,
4749         java/text/ParsePosition.java, java/text/SimpleDateFormat.java,
4750         java/util/BitSet.java, java/util/Calendar.java,
4751         java/util/ConcurrentModificationException.java,
4752         java/util/Date.java, java/util/Dictionary.java,
4753         java/util/EmptyStackException.java, java/util/Enumeration.java,
4754         java/util/GregorianCalendar.java, java/util/Hashtable.java,
4755         java/util/Locale.java, java/util/MissingResourceException.java,
4756         java/util/NoSuchElementException.java, java/util/Observable.java,
4757         java/util/Observer.java, java/util/Properties.java,
4758         java/util/Random.java, java/util/SimpleTimeZone.java,
4759         java/util/Stack.java, java/util/StringTokenizer.java,
4760         java/util/TimeZone.java, java/util/TooManyListenersException.java,
4761         java/util/Vector.java, java/util/natGregorianCalendar.cc:  Updated
4762         copyright notices.
4763
4764         * exception.cc: Include eh-common.h instead of duplicating 
4765         code.
4766
4767 1998-11-23  Tom Tromey  <tromey@cygnus.com>
4768
4769         * configure.host: Don't add `-O2' to libjava_flags.  Only add
4770         `-Os' to libjava_flags once.
4771
4772 1998-11-17  Andrew Haley  <aph@viagra.cygnus.co.uk>
4773
4774         * Makefile.am: add LIBJAVA_JAVAFLAGS.
4775         * Makefile.in: likewise
4776         * acconfig.h: add ECOS conditional for configure.h
4777         * config.h.in: likewise
4778         * configure: add test for --with-ecos
4779         * configure.in: likewise
4780         * java/io/natFileDescriptorEcos.cc (java::io::FileDescriptor::write):
4781         rename call to avoid name clash.
4782         * java/lang/natSystem.cc: add eCos clock support.
4783         * java/util/natGregorianCalendar.cc: add eCos support.
4784         
4785 1998-11-20  Andrew Haley  <aph@viagra.cygnus.co.uk>
4786
4787         * Makefile.am, Makefile.in, configure.host: tx39 build option 
4788         "-G 0" added.
4789
4790 Wed Nov 18 18:55:25 1998  Warren Levy  <warrenl@cygnus.com>
4791
4792         * java/io/BufferedReader.java: Added more comments for clarity.
4793         (mark): Used more mnemonic name for local var extraBuffSpace.
4794
4795         * java/io/LineNumberReader.java (lineEnd): Removed method to avoid
4796         confusion with private method of same name in superclass.
4797         (skipRedundantLF): Set fields in special case to avoid infinite
4798         recursion.  Check if markPos has been invalidated in special case.
4799         (readLine): Rewritten to use readLine method of superclass.
4800         (skip): Incorporated code from lineEnd.
4801
4802 Wed Nov 18 02:46:03 1998  Warren Levy  <warrenl@cygnus.com>
4803
4804         * java/io/BufferedReader.java (readLine): New method.
4805         (lineEnd): new private method.
4806         (mark): Track special case for readLine of getting '\r' at the
4807         end of the buffer.
4808         (reset): Ditto.
4809         (read): Ditto.
4810         (fill): Ditto.
4811         (skip): Ditto.
4812
4813         * java/io/InputStreamReader.java (read): Return number chars skipped
4814         rather than requested.
4815
4816         * java/lang/StringBuffer.java (append): Update count and differentiate
4817         between field and local variable.
4818
4819         * java/util/Date.java (parseTz): Evaluate in minutes rather than
4820         seconds.  Deal with military style time.
4821         (parse): Consistently treat all timezones in minutes until final
4822         calculation.  Flag as non-local timezone.  Return value in milliseconds.
4823         (setTime): Adjust for year offset from 1900.
4824         (UTC): Adjust for year offset from 1900.
4825
4826 1998-11-17  Tom Tromey  <tromey@cygnus.com>
4827
4828         * configure: Rebuilt.
4829         * configure.in: Switch on host, not target.
4830
4831         * Makefile.in: Rebuilt.
4832         * Makefile.am (GCJ_no): New macro.
4833         (GCJ): Use @CANADIAN@.
4834         (GCJH_no): New macro
4835         (GCJH_canadian): New macro.
4836         (GCJH): Use @CANADIAN@.
4837         (ZIP_no): New macro.
4838         (ZIP_canadian): New macro.
4839         (ZIP): Use @CANADIAN@.
4840         * aclocal.m4, configure: Rebuilt.
4841         * configure.in (CANADIAN): Compute and subst.
4842
4843 Tue Nov 17 12:44:37 1998  Anthony Green  <green@cygnus.com>
4844
4845         * java/io/FileDescriptor.java (finalize): Only close file
4846         descriptor if valid.
4847
4848 1998-11-17  Tom Tromey  <tromey@cygnus.com>
4849
4850         * prims.cc (_Jv_InitRuntime): Removed.
4851
4852 1998-11-16  Tom Tromey  <tromey@cygnus.com>
4853
4854         * java/io/FileOutputStream.java (close): Only close file
4855         descriptor if valid.
4856         (finalize): New method.
4857
4858         * prims.cc (_Jv_NewObjectArray): Set vtbl last.
4859         (_Jv_NewPrimArray): Likewise.
4860         * boehm.cc (_Jv_RegisterFinalizer): Use
4861         GC_REGISTER_FINALIZER_NO_ORDER.
4862         (GC_GENERIC_MALLOC): New define.
4863         (_Jv_AllocObj): Use it.
4864         (_Jv_AllocArray): Likewise.
4865         (_Jv_AllocBytes): Likewise.
4866         (_Jv_MarkObj): Just return if vtbl not set.
4867         (_Jv_MarkArray): Likewise.
4868         (MAYBE_MARK): New macro; use everywhere.
4869         (_Jv_MarkObj): Mark fields belonging to superclasses as well.
4870
4871 Mon Nov 16 14:57:53 1998  Warren Levy  <warrenl@cygnus.com>
4872
4873         * java/util/natGregorianCalendar.cc (computeTime): Cast a time_t
4874         to a jlong before calculation to prevent overflow.
4875
4876 1998-11-16  Tom Tromey  <tromey@cygnus.com>
4877
4878         * Makefile.in: Rebuilt.
4879         * Makefile.am (nat_headers): Fixed typo.
4880
4881 1998-11-15  Tom Tromey  <tromey@cygnus.com>
4882
4883         * java/lang/Class.h (Class::getName): Removed definition.
4884         * Makefile.in: Rebuilt.
4885         * Makefile.am (nat_headers): Added InstantiationException.h,
4886         NoSuchMethodException.h.
4887         * java/lang/natClass.cc (clinit_name): Renamed from init_name.
4888         (init_name): New global.
4889         (hackRunInitializers): Use clinit_name.
4890         Include InstantiationException.h, NoSuchMethodException.h.
4891         (newInstance): Do some error checking (but not all).  Call
4892         constructor.
4893         (forName): Throw exception if class not found.
4894         (getName): New method.
4895         (forName): Transform class name from external format to internal
4896         format before lookup.
4897
4898 1998-11-15  Anthony Green  <green@cygnus.com>
4899
4900         * java/lang/Class.h (Class::forName): Method is static.
4901
4902         * java/lang/natClass.cc (newInstance): Add simple implementation.
4903         (forName): Ditto.
4904
4905 Sat Nov 14 18:25:13 1998  Per Bothner  <bothner@cygnus.com>
4906
4907         * java/lang/Class.h (Class::accflags):  Must be unsigned short (not
4908         int), for compatibility with jc1.
4909
4910 1998-11-14  Tom Tromey  <tromey@cygnus.com>
4911
4912         * include/config.h.in: Rebuilt.
4913         * acconfig.h (LINUX_THREADS): New define.
4914         * configure: Rebuilt.
4915         * configure.in: Define LINUX_THREADS if using POSIX threads on
4916         Linux.  Look for pthread_mutexattr_setkind_np function.
4917         * posix-threads.cc (throw_cleanup): New function.
4918         (really_start): Push cleanup function.
4919         (_Jv_ThreadCancel): New function.
4920         (daemon_mutex, daemon_cond, non_daemon_count): New globals.
4921         (_Jv_ThreadInitData): Set `exception' field in new structure.
4922         (_Jv_ThreadStart): Increment non_daemon_count if not a daemon
4923         thread.
4924         (_Jv_ThreadWait): New function.
4925         (_Jv_InitThreads): Initialize daemon globals.
4926         (FLAG_DAEMON): New macro.
4927         (really_start): Notify daemon_cond when non-daemon thread exits.
4928         Include <java/lang/System.h>.
4929         (struct starter): `object' field now a thread.
4930         (_Jv_MutexInit): Use pthread_mutexattr_setkind_np if it exists.
4931         * include/posix-threads.h (_Jv_CondInit): Use `0', not NULL.
4932         (_Jv_ThreadWait): Removed definition.
4933         (_Jv_Thread_t): Added `exception' field.
4934         (_Jv_ThreadCancel): Removed definition.
4935
4936 1998-11-13  Tom Tromey  <tromey@cygnus.com>
4937
4938         * Makefile.in: Rebuilt.
4939         * Makefile.am (libjava.zip): Compute javac before changing
4940         directory.
4941
4942         * Makefile.in: Rebuilt.
4943         * Makefile.am (libjava.zip): Include directory entries.
4944
4945         * Makefile.in: Rebuilt.
4946         * Makefile.am (expanded): New macro.
4947         (GCJ): Use it.
4948
4949 1998-11-12  Tom Tromey  <tromey@cygnus.com>
4950
4951         * prims.cc (clone): New function.
4952         * include/java-array.h (__JArray::clone): Removed definition.
4953
4954         * java/lang/natObject.cc (clone): Don't assert that class is not
4955         an array; array's `clone' method just calls this one.
4956
4957         * Makefile.in: Rebuilt.
4958         * Makefile.am (libjava.zip): Renamed target from classes.stamp.
4959         Now creates zip file.  Changed all users.
4960         (ZIP): New macro.
4961         (data_DATA): New macro.
4962
4963 1998-11-11  Tom Tromey  <tromey@cygnus.com>
4964
4965         * configure: Rebuilt.
4966         * configure.in: Recognize --enable-java-gc, not --enable-gc.
4967
4968 Wed Nov 11 18:13:46 1998  Warren Levy  <warrenl@cygnus.com>
4969
4970         * java/io/InputStream.java (reset): Add msg to thrown exception.
4971
4972 Wed Nov 11 17:57:02 1998  Warren Levy  <warrenl@cygnus.com>
4973
4974         * java/io/LineNumberInputStream.java: Rewritten.
4975
4976         * java/io/StringBufferInputStream.java: Removed extraneous import.
4977
4978 Wed Nov 11 15:19:33 1998  Warren Levy  <warrenl@cygnus.com>
4979
4980         * java/io/StringBufferInputStream.java: Rewritten.
4981
4982         * java/util/Date.java (parseMonth): Optimize.
4983         (parseDayOfWeek): Created.
4984         (parse): Optimize to use parseDayOfWeek.
4985
4986 1998-11-11  Tom Tromey  <tromey@cygnus.com>
4987
4988         * java/lang/StringBuffer.java (append): Handle case where STR is
4989         `null'.
4990
4991         * include/javaprims.h: Regenerated class declarations.
4992
4993         * configure: Rebuilt.
4994         * configure.in: Added --enable-gcj-classes,
4995         --enable-single-compilation, --enable-source-compilation flags.
4996         * Makefile.in: Rebuilt.
4997         * Makefile.am (java_io_files): New macro.
4998         (java_lang_files): Likewise.
4999         (java_text_files): Likewise.
5000         (java_util_files): Likewise.
5001         (java_files): Use new macros.
5002         (java-io.o): New target.
5003         (java-lang.o): Likewise.
5004         (java-text.o): Likewise.
5005         (java-util.o): Likewise.
5006         (src_io_files): New macro.
5007         (src_lang_files): Likewise.
5008         (src_text_files): Likewise.
5009         (src_util_files): Likewise.
5010         (class_io_files): New macro.
5011         (class_lang_files): Likewise.
5012         (class_text_files): Likewise.
5013         (class_util_files): Likewise.
5014         (class_files): Use new macros.
5015         (javao_files): Define conditionally.
5016         (.java.o): New target.
5017         ($(javao_files)): New target.
5018         (GCJ): new macro.
5019         (GCJH): Added $(EXEEXT).
5020         (CLASSPATH_ENV): Removed.
5021         (GCJCOMPILE): New macro.
5022
5023 Wed Nov 11 12:03:15 1998  Warren Levy  <warrenl@cygnus.com>
5024
5025         * java/util/Date.java (parse): Written from scratch.
5026
5027 1998-11-11  Tom Tromey  <tromey@cygnus.com>
5028
5029         * java/lang/Throwable.java (toString): Correct sense of test for
5030         determining when to include detail message in result.
5031
5032         * java/lang/ThreadDeath.java (ThreadDeath): Added missing
5033         constructor.
5034
5035 Fri Nov  6 16:30:20 1998  Tom Tromey  <tromey@ferrule.cygnus.com>
5036
5037         * java/lang/Class.h: Use _Jv_RegisterClasses, not
5038         _Jv_RegisterClass.
5039         * java/lang/natClass.cc (_Jv_RegisterClasses): New function.
5040         (_Jv_RegisterClass): Use it.
5041         * include/jvm.h (_Jv_RegisterClasses): Declare.
5042         * java/lang/natObject.cc (init): Removed.
5043         (sync_init): Never call _Jv_InitializeSyncMutex.
5044         (_Jv_InitializeSyncMutex): Don't set `init'.
5045         * prims.cc (JvRunMain): Don't run init functions.
5046
5047 Thu Nov  5 17:14:37 1998  Tom Tromey  <tromey@sanguine.cygnus.com>
5048
5049         * java/lang/natClass.cc (initializeClass): Set state before
5050         resolving constants.
5051
5052         * java/lang/natClass.cc (STATE_CONST_INIT): Removed.
5053         (STATE_RESOLVED): New macro.
5054         (initializeClass): Call resolveConstants.
5055         (hackRunInitializers): Don't call resolveConstants.
5056         (_Jv_FindArrayClass): Move short-circuit return for primitive
5057         element types earlier in function.
5058
5059 1998-11-03  Tom Tromey  <tromey@hoser.cygnus.com>
5060
5061         * prims.cc (no_memory): New global.
5062         (_Jv_makeUtf8Const): Throw no_memory.
5063         (_Jv_AllocObject): Likewise.
5064         (_Jv_NewObjectArray): Likewise.
5065         (_Jv_NewPrimArray): Likewise.
5066         (JvRunMain): Initialize no_memory.
5067
5068 Tue Nov  3 17:15:45 1998  Warren Levy  <warrenl@cygnus.com>
5069
5070         * java/io/FileInputStream.java: Corrected date comment.
5071         * java/io/SequenceInputStream.java: Rewritten.
5072
5073 Mon Nov  2 17:20:31 1998  Tom Tromey  (tromey@cygnus.com)
5074
5075         * java/lang/FirstThread.java (die): New method.
5076         * java/lang/natFirstThread.cc (die): Removed.
5077         (DIE): New macro.
5078         (run): Use `DIE', not `die'.
5079
5080 Mon Nov  2 16:23:41 1998  Warren Levy  <warrenl@cygnus.com>
5081
5082         * java/io/CharArrayReader.java (read): Move check into synchronized
5083         block to prevent a close while in progress.
5084         (reset): Ditto.
5085         (skip): Ditto.
5086         * java/io/PushbackReader.java (read): Ditto.
5087         (ready): Ditto.
5088         (unread): Ditto.
5089         * java/io/StringReader.java (mark): Ditto.
5090         (read): Ditto.
5091         (reset): Ditto.
5092         (skip): Ditto.
5093
5094 Mon Nov  2 15:56:20 1998  Warren Levy  <warrenl@cygnus.com>
5095
5096         * java/io/PipedInputStream.java: Updated status.
5097         (connect): Added code to prevent infinite recursion and to
5098         differentiate exception causes.
5099         (read): Added code to differentiate exception causes.
5100         (receive): Made exception pass string with the cause.
5101
5102         * java/io/PipedOutputStream.java: Updated status.
5103         (connect): Added code to call connect at the other end of the pipe.
5104
5105 Mon Nov  2 00:22:12 1998  Warren Levy  <warrenl@cygnus.com>
5106         
5107         * java/io/PipedInputStream.java (connect): Throw exception if
5108         already connected to the same output stream.
5109         (read): Do bounds checking first.
5110
5111 Sun Nov  1 22:48:55 1998  Warren Levy  <warrenl@cygnus.com>
5112
5113         * java/io/PipedInputStream.java: Added private boolean outClosed.
5114         (available): Removed check if output stream is open.
5115         (close): Mark the buffer as empty so available returns 0.
5116         (read): Check if the output stream was closed and then return EOF
5117         when the buffer is empty.
5118         (receive): Mark the output stream as closed when passed a -1.
5119
5120         * java/io/PipedOutputStream.java (close): Notify the input stream
5121         that there's no more data coming.
5122         (connect): Added a FIXME comment to note more coordination needed
5123         with PipedInputStream.
5124         (flush): Added a FIXME comment to mark what this method might do
5125         instead of nothing.
5126
5127 Fri Oct 30 14:27:21 1998  Warren Levy  <warrenl@cygnus.com>
5128
5129         * java/io/PipedInputStream.java: Rewritten.
5130
5131 1998-10-30  Tom Tromey  <tromey@cygnus.com>
5132
5133         * java/lang/Throwable.java: Rewrote from scratch.
5134
5135         * java/lang/Class.h (Class): Don't mention newMultiArray.
5136         * prims.cc (newMultiArray): Removed.
5137         (_Jv_NewMultiArray): Removed.
5138         (newArray): Removed.
5139         (new_multi_array): New function.
5140         (_Jv_NewMultiArray): Rewrote from scratch.
5141
5142         * include/javaprims.h: Regenerated class declarations.
5143         * classes.pl (scan): Don't declare PrimClass.
5144         * include/cni.h (JvPrimClass): Use new names for classes.
5145         * java/lang/Class.h (Class): Removed _Jv_initPrimClass as friend;
5146         added _Jv_PrimClass.
5147         * prims.cc (_Jv_PrimClass): Renamed from PrimClass.
5148         (_Jv_initPrimClass): Removed.
5149         (DECLARE_PRIM_TYPE): Generated globals now start with `_Jv_'.
5150         (_Jv_AllocObject): Added comment.
5151         (_Jv_NewObjectArray): Likewise.
5152         (_Jv_NewPrimArray): Likewise.
5153
5154 1998-10-29  Tom Tromey  <tromey@cygnus.com>
5155
5156         * java/lang/natClass.cc (_Jv_NewClass): Initialize new field.
5157         (_Jv_FindArrayClass): Use dtable_method_count to compute size of
5158         new dtable.
5159         * java/lang/Class.h (Class): Added `dtable_method_count' field.
5160
5161         * java/lang/natObject.cc (init): New global.
5162         (sync_init): Call _Jv_InitializeSyncMutex if required.
5163
5164         * Makefile.in: Rebuilt.
5165         * Makefile.am (nat_headers): Added ClassLoader.h.
5166         * include/jvm.h (_Jv_FindClassFromSignature): Declare.
5167         * java/lang/Class.h (Class): simpleLookupClass, insertClass,
5168         internalAddClass, lookupArray no longer friends.
5169         _Jv_RegisterClass, _Jv_FindClassInCache, _Jv_NewClass,
5170         _Jv_FindArrayClass now friends.
5171         * java/lang/natClass.cc (HASH_LEN): New macro.
5172         (HASH_UTF): Likewise.
5173         (loaded_classes): New global.
5174         (_Jv_FindClass): New function.
5175         (ClassClass): New define.
5176         (_Jv_FindClassInCache): New function.
5177         (_Jv_RegisterClass): Likewise.
5178         (_Jv_NewClass): Likewise.
5179         Include <string.h>
5180         (ObjectClass): New define.
5181         (CloneableClass): New define.
5182         * prims.cc (_Jv_FindClass): Removed.
5183         (simpleLookupClass): Removed.
5184         (insertClass): Removed.
5185         (CLASSHASHSZ): Removed.
5186         (classPool): Removed.
5187         (_Jv_RegisterClass): Removed.
5188         (internalAddClass): Removed.
5189         (ClassClass): Removed.
5190         (RuntimeClass): Removed.
5191         (lookupArray): Removed.
5192         (CloneableClass): Removed.
5193         (CLASSMAXSIG): Removed.
5194         Rearranged file to group related functions together.
5195         (_Jv_IsInstanceOf): Moved to natClass.cc.
5196         (abort_final): Removed.
5197         Removed some unused includes.
5198         (classFromSig): Removed.
5199         (_Jv_FindClassFromSignature): New function.
5200         (_Jv_initPrimClass): Renamed.
5201         (getClass): Removed.
5202
5203 Thu Oct 29 23:17:17 1998  Warren Levy  <warrenl@cygnus.com>
5204
5205         * java/io/FileDescriptor.java (finalize): Throws IOException
5206         instead of Throwable.
5207
5208         * java/io/FileInputStream.java: Rewritten.
5209
5210         * java/io/StreamTokenizer.java (nextToken): Unread newline character
5211         at the end of a comment.
5212
5213 1998-10-29  Tom Tromey  <tromey@cygnus.com>
5214
5215         * include/javaprims.h: Regenerated class declarations.
5216         * classes.pl (scan): Don't special-case ClassLoader.
5217
5218         * prims.cc (processClass): Removed.
5219         (_Jv_InitClass): Removed.
5220         Removed all CSTATE_ macros.
5221         (resolveConstants): Removed.
5222         (MAXDIMS): Removed.
5223         (_Jv_NewMultiArray): Cleaned up.
5224         * Makefile.in: Rebuilt.
5225         * Makefile.am (nat_headers): Added NoClassDefFoundError.h.
5226         * java/lang/Class.h (Class): Declare new methods.  processClass no
5227         longer a friend.
5228         * java/lang/Class.java (hackTrampoline): New method.
5229         (initializeClass): Declare.
5230         (hackRunInitializers): Declare.
5231         * java/lang/natClass.cc (getClassLoader): Moved into Class.h.
5232         (initializeClass): New method.
5233         (hackRunInitializers): New method.
5234         (init_name, void_signature): Moved from prims.cc.
5235         (_Jv_InitClass): New function.
5236         (isAssignableFrom): Don't call processClass.
5237         (STATE_NOTHING): New macro.
5238         (resolveConstants): New function.
5239         Include Thread.h.
5240         (ErrorClass): New define.
5241
5242         * java/lang/Class.java (getClassLoader): Declare.
5243         * java/lang/ClassLoader.java: Rewrote from scratch.
5244
5245         * java/lang/natClass.cc: Include IncompatibleClassChangeError.h,
5246         AbstractMethodError.h, IllegalAccessError.h,
5247         NoClassDefFoundError.h.
5248         * include/jvm.h (StringClass): Declare _Jv_equalUtf8Consts.
5249         * prims.cc (_Jv_equalUtf8Consts): Renamed from equalUtf8Consts; no
5250         longer static.  Changed return type.
5251         * java/lang/natFirstThread.cc (run): Use _Jv_GetMethodLocal.
5252         * java/lang/Class.h (Class): findMethodLocal no longer a friend.
5253         * prims.cc (findMethodLocal): Removed.
5254         (processClass): Use _Jv_GetMethodLocal.
5255
5256 1998-10-28  Tom Tromey  <tromey@cygnus.com>
5257
5258         * prims.cc (_Jv_LookupInterfaceMethod): Removed.
5259         * java/lang/Class.h (Class): Declare _Jv_GetMethodLocal as
5260         friend.
5261         * java/lang/natClass.cc (_Jv_GetMethodLocal): New function.
5262         (_Jv_LookupInterfaceMethod): New function (rewrote from scratch).
5263
5264         * include/jni.h: Added copyright header.
5265         * include/javaprims.h: Added copyright header.
5266         * include/java-field.h: Added copyright header.
5267         * include/java-array.h: Added copyright header.
5268         * include/cni.h: Added copyright header.
5269
5270         * include/javaprims.h: Regenerated class declarations using
5271         classes.pl; now they are complete.
5272         * classes.pl: New file.
5273
5274         * java/lang/natMath.cc: Include <config.h>.
5275         * java/lang/reflect/natField.cc: Include <config.h>.
5276         * java/util/NativeUtil.java: Removed.
5277         * Makefile.in: Rebuilt.
5278         * Makefile.am (nat_headers): Added Math.h.
5279         * java/lang/Math.h: Removed.
5280         * java/util/natGregorianCalendar.cc: Added copyright header.
5281         Include <config.h>.
5282         * java/lang/natFloat.cc: Added copyright header.
5283         * java/lang/Byte.java: Added copyright header.
5284         * java/lang/Void.java: Added copyright header.
5285         * java/lang/Short.java: Added copyright header.
5286
5287 Wed Oct 28 12:55:47 1998  Warren Levy  <warrenl@cygnus.com>
5288
5289         * include/javaprims.h (java::io): Added bunch of missing classes.
5290         
5291         * java/io/DataInputStream.java (readLine): Added a special case
5292         for handling BufferedInputStream data to reduce the likelihood
5293         of a pushback error.
5294         (skipBytes): Added code to handle negative number of skip bytes.
5295         
5296         * java/io/StreamTokenizer.java: Rewritten.
5297
5298 1998-10-28  Tom Tromey  <tromey@cygnus.com>
5299
5300         * java/util/natGregorianCalendar.cc (computeFields): Call
5301         getRawOffset as a method.
5302
5303         * include/javaprims.h (java::io): Added FilterOutputStream.
5304         * Makefile.in: Rebuilt.
5305         * Makefile.am (nat_headers): Added PrintStream.h,
5306         FilterOutputStream.h.
5307         * java/lang/natFirstThread.cc: Include System.h, Modifier.h,
5308         PrintStream.h.
5309         (die): New function.
5310         (run): Die if `main' not found, is not public, or is not static.
5311
5312         * boehm.cc (_Jv_MarkObj): Use new field names.
5313         * include/java-field.h (JvGetFirstInstanceField): Use new field
5314         names.
5315         (JvNumInstanceFields): Likewise.
5316         * java/lang/natClass.cc (isAssignableFrom): Use new field names.
5317         (getInterfaces): Likewise.
5318         * prims.cc (CLASS_CONSTANTS): Removed.
5319         (CLASS_CONST_SIZE): Likewise.
5320         (CLASS_CONST_TAG): Likewise.
5321         (CLASS_CONST_DATA): Likewise.
5322         (CLASS_CONST_UTF8): Likewise.
5323         (WORD2UTF): Likewise.
5324         (CLASS_CLASS): Likewise.
5325         (CLASS_PRIM_SIG): Likewise.
5326         (CLASS_ARRAY_CACHE): Likewise.
5327         (HASH_CHARS): Likewise.
5328         (hashClassName): Likewise.
5329         Many changes to use new field names.
5330         * java/lang/Class.h (Class): Renamed fields to track compiler.
5331
5332 1998-10-27  Tom Tromey  <tromey@cygnus.com>
5333
5334         * java/lang/natClass.cc: Use #pragma implementation.
5335         (getComponentType): Moved into header.
5336         (getModifiers): Likewise.
5337         (getName): Likewise.
5338         (getSuperclass): Likewise.
5339         (isArray): Likewise.
5340         (isPrimitive): Likewise.
5341         * include/jvm.h (_Jv_FindClass): Declare.
5342         * java/lang/natFirstThread.cc (run): Updated for new Class.h.
5343         * java/lang/natSystem.cc (arraycopy): Updated for new Class.h.
5344         * include/javaprims.h: Use _Jv_Method, not JvMethod.
5345         * java/lang/Class.h: Rewrote from scratch.
5346         * prims.cc: Many changes to work with new Class.h.
5347         * include/java-field.h (CLASS_FIELDS): Removed.
5348         (CLASS_SFIELDS): Likewise.
5349         (CLASS_IFIELDS): Likewise.
5350         (CLASS_NFIELDS): Likewise.
5351         (CLASS_NIFIELDS): Likewise.
5352         (CLASS_NSFIELDS): Likewise.
5353         (CLASS_FSIZE): Likewise.
5354         (JvGetFirstInstanceField): Rewrote.
5355         (JvNumInstanceFields): Likewise.
5356
5357         * java/lang/Object.h: Added copyright comment.
5358
5359 Wed Oct 28 00:32:23 1998  Per Bothner  <bothner@cygnus.com>
5360
5361         * java/text:  New package directory.
5362         * java/text/FieldPosition.java:  New class.
5363         * java/text/ParsePosition.java:  New class. 
5364         * java/text/ParseException.java:  New Exception class.
5365         * java/text/Format.java:  New class.
5366         * java/text/NumberFormat.java:  New (empty placeholder) class.
5367         * java/text/DateFormatSymbols.java:  New class (no Locales support).
5368         * java/text/DateFormat.java:  New Format class (incomplete).
5369         * java/text/SimpleDateFormat.java:  New DateFormat class.
5370         
5371         * include/javaprims.h (java::test):  Added new package and classes.
5372         * java/util/Calendar.java (clone):  New method.
5373         * java/util/Date.java (toString):  Added non-native implementation.
5374         (parse):  Made public instead of synchronized.
5375         * java/util/natDate.cc (toString):  Removed.
5376         * java/util/natGregorianCalendar.cc (computeFields):
5377         Use gmtime (or gmtime_r) if no zone offset (the default, for now!).
5378
5379 1998-10-27  Tom Tromey  <tromey@cygnus.com>
5380
5381         * boehm.cc (_Jv_MarkObj): Correctly mark a class' interfaces.
5382
5383         * prims.cc (lookupArray): Added explanatory comment.
5384         * boehm.cc (_Jv_MarkObj): Correctly scan methods and fields of
5385         class.  Mark the class of each object.
5386         (_Jv_MarkArray): Mark the object's class.
5387
5388         * configure: Rebuilt.
5389         * configure.in: Create java-gc.h.
5390         * include/boehm-gc.h: New file.
5391         * include/no-gc.h: New file.
5392         * java/lang/Class.h (Class): Declare JV_MARKOBJ_DECL as friend, if
5393         defined.
5394         * java/lang/Object.h: Include java-gc.h.
5395         (Object): Declare JV_MARKOBJ_DECL and JV_MARKARRAY_DECL as
5396         friends, if defined.
5397         * boehm.cc (_Jv_MarkObj): Renamed from mark_obj; changed
5398         signature.
5399         (_Jv_MarkArray): Renamed from mark_array; changed signature.
5400
5401 1998-10-26  Tom Tromey  <tromey@cygnus.com>
5402
5403         * java/lang/natCharacter.cc (isSpaceChar): Look for line and
5404         paragraph separators, not numbers.
5405
5406         * java/io/Writer.java (write): Removed write(char) to avoid
5407         ambiguity.
5408         * java/util/Properties.java: Rewrote from scratch.
5409         * include/javaprims.h (java::io): Added PrintWriter,
5410         BufferedWriter, PushbackReader.
5411
5412 Mon Oct 26 13:13:28 1998  Anthony Green  <green@cygnus.com>
5413
5414         * java/lang/System.java: exit() is a static method.
5415
5416 1998-10-26  Tom Tromey  <tromey@cygnus.com>
5417
5418         * java/lang/natString.cc (_Jv_NewStringUTF): Use
5419         _Jv_strLengthUtf8.
5420         (_Jv_NewStringUtf8Const): Likewise.
5421         * include/jvm.h (_Jv_strLengthUtf8): Declare.
5422         * prims.cc (_Jv_strLengthUtf8): Renamed from strLengthUtf8.
5423
5424         * java/lang/Object.h (Object): Add mark_array as friend function.
5425         * prims.cc (_Jv_NewPrimArray): Use _Jv_AllocObj, not
5426         _Jv_AllocBytes, to ensure that header is marked.
5427         * boehm.cc (mark_obj): Push sync_info field for all objects, not
5428         just Objects.
5429         (mark_array): Push sync_info field for array.
5430
5431 1998-10-24  Tom Tromey  <tromey@cygnus.com>
5432
5433         * java/lang/String.java (String): Updated for StringBuffer
5434         change.
5435         * java/util/BitSet.java: Renamed field (data->bits) to conform to
5436         serialization spec.
5437         * java/lang/StringBuffer.java: Renamed fields to conform to
5438         serialization spec: buffer->value, next->count, copy->shared.
5439
5440 Wed Oct 21 18:24:57 1998  Per Bothner  <bothner@cygnus.com>
5441
5442         * java/util/TimeZone.java:  New class.
5443         * java/util/SimpleTimeZone.java:  New class.
5444         * java/util/Locale.java:  New file.
5445         * java/util/Calendar.java:  Make almost complete.
5446         * java/util/GregorianCalendar.java
5447         * java/util/natGregorianCalendar.cc:  New file.
5448         * java/util/Date.java:  Re-written from scratch.
5449         * java/util/natDate.cc (setTime):  Removed - no longer native.
5450         * include/javaprims.h (java::util):  Add new classes.
5451         * Makefile.am (nat_files):  Add java/util/natGregorianCalendar.o.
5452         (nat_headers);  Add TimeZone.h, Calendar.h, GregorianCalendar.h.
5453
5454 Sat Oct 24 22:58:25 1998  Warren Levy  <warrenl@cygnus.com>
5455
5456         * java/io/natFileDescriptorPosix.cc (read): Zero extend jbyte b before
5457         returning it as a jint.
5458
5459 1998-10-23  Tom Tromey  <tromey@cygnus.com>
5460
5461         * prims.cc (arg_vec, main_group, main_thread): New globals.
5462         (JvRunMain): Use them.
5463
5464 Fri Oct 23 17:10:12 1998  Warren Levy  <warrenl@cygnus.com>
5465
5466         * java/io/DataInputStream.java: Rewritten.
5467
5468         * java/io/DataOutputStream.java (writeUTF): OR secondary and
5469         tertiary bytes with 0x80 per spec.
5470
5471 1998-10-23  Tom Tromey  <tromey@cygnus.com>
5472
5473         * java/lang/String.java (init): Changed name of `copy' argument.
5474         * java/lang/natString.cc (init): Inverted sense of `copy'
5475         argument.
5476
5477         * java/lang/Object.h (Object): Declare mark_obj as a friend.
5478         * java/lang/Class.h (Class): Declare mark_obj as a friend.
5479         * boehm.cc (ObjectClass): New define.
5480         (ClassClass): Likewise.
5481         (mark_obj): Special-case Object and Class.
5482
5483         * prims.cc (_Jv_NewPrimArray): Pass correct args to memset.
5484
5485         * java/util/BitSet.java: Rewrote from scratch.
5486
5487         * prims.cc (lookupArray): Removed useless cast.
5488
5489         * java/lang/natObject.cc: Use `#pragma implementation'.
5490
5491         * java/lang/String.java (init): Added `copy' argument.
5492         (String): Look in StringBuffer to find char array.
5493         * java/lang/natString.cc (init): Added `copy' argument.
5494         * java/lang/StringBuffer.java: Rewrote from scratch.
5495
5496         * java/lang/Compiler.java: Rewrote from scratch.
5497         * java/lang/Throwable.java: Don't use NativeLang.
5498         * include/javaprims.h (java::lang): Don't mention NativeLang.
5499         * java/lang/Process.java: Rewrote from scratch.
5500         * java/lang/SecurityManager.java (classLoaderDepth): Commented
5501         out.
5502         (currentClassLoader): Likewise.
5503         (currentLoadedClass): Likewise.
5504         * java/lang/natClass.cc (getClassLoader): Commented out.
5505         * java/lang/Class.java (getClassLoader): Commented out.
5506         * java/lang/Compiler.java: Removed.
5507         * java/lang/NativeLang.java: Removed.
5508
5509         * java/lang/natFirstThread.cc (run): Use _Jv_makeUtf8Const.
5510         * include/jvm.h (StringClass): Declare _Jv_makeUtf8Const.
5511         * prims.cc (_Jv_makeUtf8Const): Renamed from makeUtf8Const.
5512         (_Jv_hashUtf8String): Now static.
5513         * include/java-field.h (getNameUtf8Const): Use `_Jv_Utf8Const' as
5514         name of return type.
5515
5516         * java/lang/Class.h (Class): Declare checkMemberAccess.
5517         * Makefile.in: Rebuilt.
5518         * Makefile.am (nat_headers): Added Member.h.
5519         * java/lang/natClass.cc: Include Member.h.
5520         (getDeclaredClasses): Call checkMemberAccess.
5521         * java/lang/Class.java (checkMemberAccess): Call
5522         SecurityManager.checkMemberAccess.
5523
5524 Fri Oct 23 08:01:54 1998  Anthony Green  <green@cygnus.com>
5525
5526         * java/lang/SecurityManager.java: Rewritten.
5527
5528 Thu Oct 22 17:16:10 1998  Anthony Green  <green@cygnus.com>
5529
5530         * java/applet/Applet.java, java/applet/AppletContext.java,
5531         java/applet/AppletStub.java, java/applet/AudioClip.java,
5532         java/awt/AWTError.java, java/awt/AWTException.java,
5533         java/awt/BorderLayout.java, java/awt/Button.java,
5534         java/awt/Canvas.java, java/awt/CardLayout.java,
5535         java/awt/Checkbox.java, java/awt/CheckboxGroup.java,
5536         java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
5537         java/awt/Color.java, java/awt/Component.java,
5538         java/awt/Container.java, java/awt/Dialog.java,
5539         java/awt/Dimension.java, java/awt/Event.java,
5540         java/awt/FileDialog.java, java/awt/FlowLayout.java,
5541         java/awt/Font.java, java/awt/FontMetrics.java,
5542         java/awt/Frame.java, java/awt/Graphics.java,
5543         java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
5544         java/awt/GridLayout.java, java/awt/Image.java,
5545         java/awt/Insets.java, java/awt/Label.java,
5546         java/awt/LayoutManager.java, java/awt/List.java,
5547         java/awt/MediaTracker.java, java/awt/Menu.java,
5548         java/awt/MenuBar.java, java/awt/MenuComponent.java,
5549         java/awt/MenuContainer.java, java/awt/MenuItem.java,
5550         java/awt/Panel.java, java/awt/Point.java, java/awt/Polygon.java,
5551         java/awt/Rectangle.java, java/awt/Scrollbar.java,
5552         java/awt/TextArea.java, java/awt/TextComponent.java,
5553         java/awt/TextField.java, java/awt/Toolkit.java,
5554         java/awt/Window.java, java/awt/image/ColorModel.java,
5555         java/awt/image/CropImageFilter.java,
5556         java/awt/image/DirectColorModel.java,
5557         java/awt/image/FilteredImageSource.java,
5558         java/awt/image/ImageConsumer.java,
5559         java/awt/image/ImageFilter.java,
5560         java/awt/image/ImageObserver.java,
5561         java/awt/image/ImageProducer.java,
5562         java/awt/image/IndexColorModel.java,
5563         java/awt/image/MemoryImageSource.java,
5564         java/awt/image/PixelGrabber.java,
5565         java/awt/image/RGBImageFilter.java, java/awt/peer/ButtonPeer.java,
5566         java/awt/peer/CanvasPeer.java,
5567         java/awt/peer/CheckboxMenuItemPeer.java,
5568         java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
5569         java/awt/peer/ComponentPeer.java,
5570         java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
5571         java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
5572         java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
5573         java/awt/peer/MenuBarPeer.java,
5574         java/awt/peer/MenuComponentPeer.java,
5575         java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
5576         java/awt/peer/PanelPeer.java, java/awt/peer/ScrollbarPeer.java,
5577         java/awt/peer/TextAreaPeer.java,
5578         java/awt/peer/TextComponentPeer.java,
5579         java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java,
5580         java/net/ContentHandler.java, java/net/ContentHandlerFactory.java,
5581         java/net/DatagramPacket.java, java/net/DatagramSocket.java,
5582         java/net/DefaultSocketImpl.java, java/net/InetAddress.java,
5583         java/net/MalformedURLException.java, java/net/NativeNet.java,
5584         java/net/ProtocolException.java, java/net/ServerSocket.java,
5585         java/net/Socket.java, java/net/SocketException.java,
5586         java/net/SocketImpl.java, java/net/SocketImplFactory.java,
5587         java/net/URL.java, java/net/URLConnection.java,
5588         java/net/URLEncoder.java, java/net/URLStreamHandler.java,
5589         java/net/URLStreamHandlerFactory.java,
5590         java/net/UnknownHostException.java,
5591         java/net/UnknownServiceException.java: Removed.
5592
5593 1998-10-22  Tom Tromey  <tromey@cygnus.com>
5594
5595         * prims.cc (_Jv_AllocObject): Register finalizer if class'
5596         finalizer is not Object.finalize.
5597         (internalAddClass): Don't set `final' member of class.
5598         * java/lang/Object.h: Updated _JvObjectPrefix comment to mention
5599         other places that know about finalize() location.
5600         * java/lang/Class.h (Class): Removed `final' field.
5601
5602         * aclocal.m4, configure: Rebuilt.
5603         * acinclude.m4 (LIB_AC_PROG_CXX): Unconditionally use
5604         AC_CHECK_PROGS; otherwise the CXX cache variable might not be
5605         set.
5606         * configure.in (AC_OUTPUT): Pass CXX to config.status.
5607         * Makefile.in: Rebuilt.
5608         * Makefile.am (AM_MAKEFLAGS): Added CXX, CXXFLAGS.
5609
5610 1998-10-21  Tom Tromey  <tromey@cygnus.com>
5611
5612         * java/lang/Object.java (finalize): Move to be first method in
5613         class.
5614
5615         * configure: Rebuilt.
5616         * configure.in (GCINCS): Include contents of boehm-cflags file.
5617
5618 Tue Oct 20 13:11:04 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
5619
5620         * java/lang/ArrayIndexOutOfBoundsException.java
5621         (ArrayIndexOutOfBoundsException): Fixed string literal.
5622         * java/lang/StringIndexOutOfBoundsException.java
5623         (StringIndexOutOfBoundsException): Fixed string literal.
5624
5625 1998-10-20  Andrew Haley  <aph@viagra.cygnus.co.uk>
5626
5627         * natFileDescriptorEcos.cc added.
5628         * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.  
5629
5630 1998-10-20  Andrew Haley  <aph@viagra.cygnus.co.uk>
5631
5632         * acconfig.h: test for __int32_t and __uint32_t added.
5633         * include/config.h.in: test for __int32_t and __uint32_t added.
5634         * java/lang/fdlibm.h: test for __int32_t and __uint32_t added.
5635         * java/lang/mprec.h: test for __int32_t and __uint32_t added.
5636         * configure.in: test for __int32_t and __uint32_t added.
5637         * configure: test for __int32_t and __uint32_t added.
5638         
5639         * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.  
5640
5641         * configure.in: Test for --enable ecos and link
5642         natFileDescriptor.cc to natFileDescriptorEcos.cc or
5643         natFileDescriptorPosix.cc
5644         
5645         * java/lang/dtoa.c: #include <stdio.h> moved inside #ifdef DEBUG.
5646         
5647 Mon Oct 19 18:13:58 1998  Warren Levy  <warrenl@cygnus.com>
5648
5649         * java/io/ByteArrayInputStream.java (skip): Ensure that arg passed
5650         in isn't negative.
5651
5652         * java/io/CharArrayReader.java (close): Synchronize on lock
5653         object per Reader contract.
5654         (read): Synchronize on lock obj.  Verify that reader wasn't closed.
5655         (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
5656         (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
5657         Ensure that arg passed in isn't negative.
5658
5659         * java/io/FilterReader.java (FilterReader): Use the lock obj when
5660         constructing the superclass.
5661
5662         * java/io/PushbackReader.java (close): Synchronize on lock
5663         object per Reader contract.
5664         (read): Synchronize on lock obj.  Verify that reader wasn't closed.
5665         (ready): Synchronize on lock obj.  Throw IOException if reader
5666         wasn't closed.
5667         (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
5668         (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
5669         Ensure that arg passed in isn't negative.
5670         (unread): Synchronize on lock obj.  Verify that reader wasn't closed.
5671
5672         * java/io/StringReader.java: Created.
5673         
5674 Sun Oct 18 02:19:11 1998  Warren Levy  <warrenl@cygnus.com>
5675
5676         * java/io/CharArrayReader.java (mark): Removed synchronized modifier
5677         to match JCL.
5678         (read): Removed synchronized modifier to match JCL.
5679         (reset): Removed synchronized modifier to match JCL.
5680         (skip): Removed synchronized modifier to match JCL.
5681
5682 Sun Oct 18 02:01:54 1998  Warren Levy  <warrenl@cygnus.com>
5683
5684         * java/io/PushbackReader.java (PushbackReader): Made
5685         constructors public.
5686
5687 1998-10-17  Tom Tromey  <tromey@cygnus.com>
5688
5689         * java/io/PushbackInputStream.java (PushbackInputStream): Made
5690         constructors public.
5691
5692 1998-10-16  Anthony Green  <green@cygnus.com>
5693
5694         * aclocal.m4, configure: Rebuilt.
5695         * acinclude.m4 (LIBJAVA_CONFIGURE): Changed for new
5696         configure.host.
5697         * configure.host: Rewrote.
5698         * Makefile.in: Rebuilt.
5699         * Makefile.am (AM_CXXFLAGS): Added LIBJAVA_CXXFLAGS.
5700         (AM_CFLAGS): New macro.
5701         ($(c_files)): Use COMPILE macro.
5702         (EXTRA_libjava_a_SOURCES): Added dummy file to work around
5703         automake problem(s).
5704
5705 Fri Oct 16 16:36:28 1998  Warren Levy  <warrenl@cygnus.com>
5706
5707         * java/io/ByteArrayInputStream.java (mark): Removed temp. comment.
5708
5709         * java/io/CharArrayReader.java: Created.
5710
5711 Fri Oct 16 15:17:01 1998  Warren Levy  <warrenl@cygnus.com>
5712
5713         * java/io/PushbackInputStream.java (PushbackInputStream): Changed
5714         size check to allow 0 per JCL.
5715
5716         * java/io/PushbackReader.java: Created.
5717
5718 1998-10-16  Tom Tromey  <tromey@cygnus.com>
5719
5720         * java/io/natFileDescriptor.cc: Conditionalize <unistd.h>,
5721         <sys/time.h> includes. 
5722         * java/io/natFile.cc: Conditionalize <unistd.h> include.
5723         * include/no-threads.h: Conditionalize <unistd.h> include on
5724         HAVE_UNISTD_H.
5725
5726 Fri Oct 16 14:39:51 1998  Andrew Haley  <aph@madras.cygnus.co.uk>
5727
5728         * include/no-threads.h: Don't include <unistd.h> unless HAVE_SLEEP
5729         is defined.
5730
5731 Thu Oct 15 19:27:54 1998  Warren Levy  <warrenl@cygnus.com>
5732
5733         * java/io/FilterReader.java: Created.
5734
5735 Thu Oct 15 17:49:43 1998  Warren Levy  <warrenl@cygnus.com>
5736
5737         * java/io/PushbackInputStream.java: Rewritten.
5738
5739         * java/io/BufferedInputStream.java (BufferedInputStream): Check
5740         that size passed to constructor is legal.
5741         (read): Check that args passed in are legal.
5742         (skip): Rewritten to get rid of the temporary buffer.
5743         (refill): Added marklimit check to grow the buffer.
5744
5745         * java/io/ByteArrayInputStream.java (read): Optimized invalid args
5746         check.
5747         (bytesAvail): Removed.
5748         (read): Changed bytesAvail to Math.min.
5749         (skip): Changed bytesAvail to Math.min.
5750
5751         * java/io/InputStream.java (read): Got rid of extraneous exceptions
5752         from the throws clause.
5753         (skip): Rewritten to use a temporary buffer.
5754
5755 Thu Oct 15 19:42:55 1998  Andrew Haley  <aph@madras.cygnus.co.uk>
5756
5757         * prims.cc: (JvConvertArgv): Check added for argc < 0; possible on
5758         some target OSes
5759
5760         * java/lang/dtoa.c: (print): Made #ifdef DEBUG only.
5761
5762         * java/lang/strtod.c: (_strtod_r): Don't use HUGE_VAL: it's faster
5763         to write the double one word at a time.
5764
5765 Tue Oct 13 14:41:47 1998  Warren Levy  <warrenl@cygnus.com>
5766
5767         * java/io/BufferedInputStream.java:  Rewritten.
5768
5769 1998-10-12  Tom Tromey  <tromey@cygnus.com>
5770
5771         * jni.cc: Include config.h and stddef.h.
5772
5773         * java/lang/Class.h (_dispatchTable): Removed again.
5774         Removed all ACC_* defines again.
5775
5776 Fri Oct  9 17:08:34 1998  Per Bothner  <bothner@cygnus.com>
5777
5778         * Makefile.am (nat_files):  Add netField.o.
5779         (libjava_a_SOURCES):  Add jni.cc.
5780         (java/lang/reflect/Field.h):  New rule.
5781         * Makefile.in:  Re-generated.
5782         * include/javaprims.h:  Add some extra class and typedefs.
5783         * include/jni.h:  New file.
5784         * jni.cc:  New file.
5785
5786         * include/java-field.h:  New file.
5787         * include/jvm.h:  #include <java-field.h>.
5788         * boehm.cc:  #include <java-field.h>.
5789         * java/lang/Class.h (JvField, inline numbers):  Moved to java-field.h.
5790         * java/lang/reflect/Member.java:  New class.
5791         * java/lang/reflect/Field.java:  New class.  (Very incomplete.)
5792         * java/lang/reflect/natField.cc:  New file.  (Very incomplete.)
5793
5794 Sun Oct 11 00:34:44 1998  Anthony Green  <green@cygnus.com>
5795
5796         * Makefile.in, aclocal.m4, configure, test/Makefile.in,
5797         testsuite/Makefile.in: Rebuilt.
5798         * Makefile.am, acinclude.m4, configure.in: Add multilib support.
5799         * configure.host: Created.
5800
5801 1998-10-10  Tom Tromey  <tromey@cygnus.com>
5802
5803         * java/lang/natObject.cc (sync_init): Always allocate a new
5804         sync_info.
5805
5806 1998-10-09  Tom Tromey  <tromey@cygnus.com>
5807
5808         * java/io/ByteArrayInputStream.java (mark): Renamed from
5809         `mark_FIXME'.
5810
5811         * java/io/FileOutputStream.java (finalize): Removed.
5812         * java/io/FileDescriptor.java (finalize): New method.
5813
5814 Thu Oct  8 17:59:43 1998  Warren Levy  <warrenl@cygnus.com>
5815
5816         * ByteArrayInputStream.java: Corrected status comment.
5817
5818 Thu Oct  8 17:22:49 1998  Warren Levy  <warrenl@cygnus.com>
5819
5820         * ByteArrayInputStream.java, FilterInputStream.java: Rewritten.
5821
5822 1998-10-08  Tom Tromey  <tromey@cygnus.com>
5823
5824         * prims.cc (lookupArray): Use static array to initialize list of
5825         interfaces.
5826
5827 Thu Oct  8 12:45:03 1998  Anthony Green  <green@cygnus.com>
5828
5829         * prims.cc (lookupArray): Initialize the msize for new
5830         array classes.
5831
5832 Wed Oct  7 12:13:59 1998  Anthony Green  <green@cygnus.com>
5833
5834         * configure: Rebuilt.
5835         * configure.in: Check for fsync and sleep.
5836         * acconfig.h (HAVE_SLEEP, HAVE_FSYNC): Added.
5837
5838         * include/no-threads.h (_Jv_CondWait): Wrap sleep() use with
5839         HAVE_SLEEP. Include config.h.
5840
5841         * java/io/natFileDescriptor.cc (NO_FSYNC_MESSAGE): Added.
5842         * java/io/natFileDescriptor.cc (sync): Wrap fsync() use
5843         with HAVE_FSYNC.
5844
5845 1998-10-08  Tom Tromey  <tromey@cygnus.com>
5846
5847         * java/io/natFile.cc: Don't include SecurityManager.h.
5848         (performList): Renamed.
5849         (performMkdir): Likewise.
5850         (performRenameTo): Likewise.
5851         (performDelete): Likewise.
5852         Include <stdlib.h>.
5853         * java/io/File.java (performDelete): Renamed from natDelete.
5854         (list): Now written in Java.
5855         (performList): New method.
5856         (performMkdir): New method.
5857         (mkdir): Now written in Java.
5858         (performRenameTo): New method.
5859         (renameTo): Now written in Java.
5860
5861 1998-10-06  Tom Tromey  <tromey@cygnus.com>
5862
5863         * Makefile.in: Rebuilt.
5864         * Makefile.am (ETAGS_ARGS): New macro.
5865         (TAGS_DEPENDENCIES): Likewise.
5866
5867 Tue Oct  6 22:04:44 PDT 1998 Anthony Green  <green@cygnus.com>
5868
5869         * Makefile.in: Rebuilt.
5870         * Makefile.am: Use -classpath option with javac.
5871         
5872 Tue Oct  6 18:51:31 1998  Tom Tromey  <tromey@cygnus.com>
5873
5874         * java/io/FileOutputStream.java (finalize): Call
5875         super.finalize().
5876
5877 Tue Oct  6 16:02:45 1998  Anthony Green  <green@cygnus.com>
5878
5879         * java/lang/mprec.h: Remove unused _mprec_log10 which conflicts
5880         with newlib's libm.
5881         * java/lang/mprec.c: Ditto.
5882
5883         * java/lang/mprec.h: Include math.h for HUGE_VAL when
5884         cross-compiling.
5885
5886 Tue Oct  6 14:27:00 1998  Warren Levy  <warrenl@cygnus.com>
5887
5888         * java/io/InputStream.java (skip): Make local var i a long.
5889
5890 Mon Oct  5 09:44:24 1998  Tom Tromey  <tromey@cygnus.com>
5891
5892         * java/lang/natObject.cc (clone): Use memcpy, not memmove.
5893         * prims.cc (lookupArray): Use memcpy, not memmove.
5894         * include/config.h.in: Rebuilt.
5895         * acconfig.h (HAVE_MEMCPY): Added.
5896         * configure: Rebuilt.
5897         * configure.in: Check for memcpy again.
5898
5899         * java/io/RandomAccessFile.java (RandomAccessFile): Use
5900         String.compareTo, not ==.
5901
5902         * java/lang/Class.h (Class): Use _Jv_DispatchTable.
5903         (_PRIMITIVE_DTABLE): Use _Jv_DispatchTable.
5904         * java/lang/natObject.cc (struct _dispatchTable): Removed.
5905         * include/jvm.h (struct _Jv_DispatchTable): New structure.
5906         * prims.cc (lookupArray): Removed dead code.  Copy Object's dtable
5907         into new array's dtable.
5908         (_Jv_AllocObject): Use _Jv_DispatchTable.
5909         (_Jv_NewPrimArray): Likewise.
5910         (_Jv_NewObjectArray): Likewise.
5911
5912 Fri Oct  2 18:57:14 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
5913
5914         * prims.cc (_Jv_ThrowBadArrayIndex): Construct a string with the
5915         offending index value.
5916         (_Jv_NewPrimArray): Throw NegativeArraySizeException when
5917         appropriate.
5918         * include/jvm.h (_Jv_ThrowBadArrayIndex): Added declaration.
5919         * java/lang/Throwable.java: (Throwable): fixed argument to this().
5920
5921 Fri Oct  2 15:58:23 1998  Warren Levy  <warrenl@cygnus.com>
5922
5923         * java/io/DataInput.java, java/io/InputStream.java: Rewritten.
5924         
5925         * java/io/OutputStream.java (write): Use off and len parameters to
5926         output partial byte array.
5927         
5928         * java/io/BufferedReader.java, java/io/FileReader.java,
5929         java/io/InputStreamReader.java, java/io/LineNumberReader.java,
5930         java/io/OutputStreamWriter.java, java/io/PrintWriter.java,
5931         java/io/Reader.java, java/io/UnsupportedEncodingException.java,
5932         java/io/Writer.java: Added COPYRIGHT-TBD comment.
5933
5934         * include/javaprims.h (java::lang): Added
5935         ExceptionInInitializerError, IllegalStateException,
5936         NoSuchFieldException, and UnsupportedOperationException.
5937
5938 Fri Oct  2 01:05:38 1998  Tom Tromey  <tromey@cygnus.com>
5939
5940         * java/lang/natObject.cc (CloneableClass): Is a Class, not a
5941         Class*.
5942
5943         * include/java-array.h (__JArray): Added clone method.
5944         * prims.cc (CloneableClass): New define.
5945         (lookupArray): Initialize array class to indicate that it
5946         implements Cloneable.
5947
5948         * java/lang/Class.h: Removed all ACC_* defines.
5949         * prims.cc: Include Modifier.h.
5950         (_Jv_LookupInterfaceMethod): Use methods in
5951         java.lang.reflect.Modifier, not ACC_ defines.
5952
5953         * java/lang/Class.h (Class): Declare getClasses,
5954         getDeclaredClasses, getDeclaringClass, getModifiers, 
5955         * java/lang/Class.java: Rewrote from scratch.
5956
5957         * include/javaprims.h (java::lang): Added reflect and
5958         reflect::Modifier.
5959         * Makefile.in: Rebuilt.
5960         * Makefile.am (nat_headers): Added Modifier.h.
5961
5962         * prims.cc (_Jv_IsInstanceOf): Return false if class is
5963         primitive.
5964
5965 Fri Oct 2 06:49:00 1998  Anthony Green  <green@cygnus.com>
5966
5967         * java/lang/natString.cc (_Jv_StringFindSlot): Use JvAssert
5968         instead of test and abort.
5969
5970         * java/lang/natString.cc (_Jv_NewStringUtf8Const): Add cast to
5971         remove compiler warning.
5972
5973 Fri Oct  2 12:33:44 1998  Andrew Haley  <aph@korai.cygnus.co.uk>
5974
5975         * java/lang/natDouble.cc: zero terminate string.
5976         * strtod.c: Set errno if no digits are found in fraction.
5977
5978 Thu Oct  1 11:48:28 1998  Tom Tromey  <tromey@cygnus.com>
5979
5980         * java/lang/reflect/Modifier.java: New file.
5981
5982         * java/lang/VirtualMachineError.java: Rewrote from scratch.
5983         * java/lang/VerifyError.java: Rewrote from scratch.
5984         * java/lang/UnsatisfiedLinkError.java: Rewrote from scratch.
5985         * java/lang/UnknownError.java: Rewrote from scratch.
5986         * java/lang/StackOverflowError.java: Rewrote from scratch.
5987         * java/lang/OutOfMemoryError.java: Rewrote from scratch.
5988         * java/lang/InternalError.java: Rewrote from scratch.
5989         * java/lang/IllegalAccessError.java: Rewrote from scratch.
5990         * java/lang/ExceptionInInitializerError.java: New file.
5991         * java/lang/Error.java: Rewrote from scratch.
5992         * java/lang/ClassFormatError.java: Rewrote from scratch.
5993         * java/lang/ClassCircularityError.java: Rewrote from scratch.
5994         * java/lang/AbstractMethodError.java: Rewrote from scratch.
5995         * java/lang/NoClassDefFoundError.java: Rewrote from scratch.
5996         * java/lang/NoSuchFieldError.java: Rewrote from scratch.
5997         * java/lang/LinkageError.java: Rewrote from scratch.
5998         * java/lang/IncompatibleClassChangeError.java: Rewrote from
5999         scratch.
6000         * java/lang/NoSuchMethodError.java: Rewrote from scratch.
6001
6002         * java/lang/natObject.cc (_Jv_FinalizeObject): New function.
6003         * java/lang/Object.h (Object): Declare _Jv_FinalizeObject as a
6004         friend.
6005         * include/cni.h (JvAllocObject): Moved from prims.cc.
6006         Include Class.h.
6007         * prims.cc (JvAllocObject): Moved to cni.h.
6008         (_Jv_AllocObject): Use _Jv_FinalizeObject.
6009         (finalize_name): Removed.
6010
6011 Wed Sep 30 12:09:34 1998  Tom Tromey  <tromey@cygnus.com>
6012
6013         * java/lang/Class.h (Class): Added size() method.
6014         * prims.cc (_Jv_MonitorEnter): Removed.
6015         (_Jv_MonitorExit): Removed.
6016         * java/lang/Object.h (JvSyncInfo): Removed.
6017         * Makefile.in: Rebuilt.
6018         * Makefile.am (nat_headers): Added Cloneable.h,
6019         CloneNotSupportedException.h.
6020         * java/lang/Object.h: Rewrote.
6021         * java/lang/natObject.cc: Rewrote from scratch.
6022         * java/lang/Object.java: Rewrote from scratch.
6023
6024         * java/io/natFile.cc: Conditionally include <dirent.h>.
6025         (list): If no <dirent.h>, always return NULL.
6026         * configure: Rebuilt.
6027         * configure.in: Check for dirent.h.
6028
6029         * prims.cc (lookupArray): Don't use sprintf.
6030
6031         * java/util/Hashtable.java (containsKey): Use `abs' to compute
6032         initial index.
6033         (get): Likewise.
6034         (put): Likewise.
6035         (rehash): Likewise.
6036         (remove): Likewise.
6037
6038         * java/util/Hashtable.java (hsize): Renamed from size to avoid
6039         name conflict with method.
6040
6041         * include/javaprims.h (java::util): Added HashtableEntry.
6042
6043 Tue Sep 29 16:48:01 1998  Warren Levy  <warrenl@cygnus.com>
6044
6045         * java/util/Hashtable.java: Rewritten.
6046
6047 Tue Sep 29 00:28:42 1998  Tom Tromey  <tromey@cygnus.com>
6048
6049         * java/io/natFileDescriptor.cc (write): Correctly test `write'
6050         return value.
6051         (write): Likewise.
6052
6053         * java/lang/natThread.cc (join): Fixed assertion to refer to `nt',
6054         not `curr_nt'.
6055
6056         * posix-threads.cc (_Jv_CondWait): Now returns int.
6057         * include/javaprims.h (java::lang): Added
6058         IllegalMonitorStateException.
6059         * Makefile.in: Rebuilt.
6060         * Makefile.am (nat_headers): Added IllegalMonitorStateException.h.
6061         * include/no-threads.h (_Jv_CondDestroy): Removed.
6062         (_Jv_MutexDestroy): Removed.
6063         (_Jv_CondWait): Now returns int.
6064         (_Jv_CondNotify): Likewise.  Added mutex argument.
6065         (_Jv_CondNotifyAll): Likewise.
6066         (_Jv_MutexLock): Always succeed.
6067         (_Jv_MutexUnlock): Likewise.
6068         * include/posix-threads.h (_Jv_HaveCondDestroy): Define.
6069         (_Jv_HaveMutexDestroy): Define.
6070         (_Jv_CondNotify): Now returns int.  Added mutex argument.
6071         (_Jv_CondNotifyAll): Likewise.
6072         * include/quick-threads.h (_Jv_CondDestroy): Removed.
6073         (_Jv_MutexDestroy): Removed.
6074         (_Jv_CondWait): Now returns int.
6075         (_Jv_CondNotify): Likewise.  Added mutex argument.
6076         (_Jv_CondNotifyAll): Likewise.
6077         * java/lang/natObject.cc (finalize_sync_info): New function.
6078         (init_mutex): Initialize `init' and register finalizer if
6079         required.
6080         (CHECK): New macro.
6081         (init_mutex): Use it.
6082         (notify): Use it.
6083         (notifyAll): Use it.
6084         (wait): Use it.
6085         (notify): Throw IllegalMonitorStateException on failure.
6086         (notifyAll): Likewise.
6087         (wait): Likewise.  Also, throw InterruptedException if
6088         appropriate.
6089         Include cni.h, Thread.h, IllegalMonitorStateException.h,
6090         InterruptedException.h, IllegalArgumentException.h.
6091         * java/lang/Object.h (struct JvSyncInfo): Added `init' member.
6092
6093         * java/lang/natString.cc: Renamed all `JvPriv' functions.
6094         * java/lang/natRuntime.cc: Renamed all `JvPriv' functions.
6095         * java/lang/Object.h: Renamed all `JvPriv' functions (and types).
6096         * java/lang/natObject.cc: Renamed all `JvPriv' functions.
6097         * java/lang/natThread.cc: Renamed all `JvPriv' functions.
6098         * quick-threads.cc: Renamed all `JvPriv' functions.
6099         * prims.cc: Renamed all `JvPriv' functions.
6100         * posix-threads.cc: Renamed all `JvPriv' functions.
6101         * nogc.cc: Renamed all `JvPriv' functions.
6102         * no-threads.cc: Renamed all `JvPriv' functions.
6103         * boehm.cc: Renamed all `JvPriv' functions.
6104         * include/quick-threads.h: Renamed all `JvPriv' functions.
6105         * include/posix-threads.h: Renamed all `JvPriv' functions.
6106         * include/no-threads.h: Renamed all `JvPriv' functions.
6107         * include/jvm.h: Renamed all `JvPrivXXX' functions to `_Jv_XXX'.
6108
6109         * include/no-threads.h (JvPrivCondWait): Wrote minimal
6110         implementation.
6111         (JvPrivCondNotify): Do nothing.
6112         (JvPrivCondNotifyAll): Do nothing.
6113
6114         * prims.cc (processClass): Handle case where state is
6115         DOING_CONSTINIT.
6116
6117         * java/lang/natFirstThread.cc: Include <stdlib.h>
6118
6119         * configure: Rebuilt.
6120         * configure.in: Fixed sense of --enable-libjava-debug.
6121
6122         * java/lang/natThread.cc (join): Declare `t' outside the loop so
6123         it can be used afterward by the assertion.
6124
6125         * configure: Rebuilt.
6126         * configure.in: When cross-compiling, assume alloca.
6127
6128         * java/lang/natDouble.cc: Updated alloca magic to avoid use of
6129         __builtin_alloca (autoconf docs are wrong here).
6130
6131         * java/io/natFileDescriptor.cc (close): Set fd to -1 before
6132         closing.
6133         (available): Use `FD_ZERO' (typo fix).
6134
6135 Tue Sep 29 17:43:30 1998  Andrew Haley  <aph@tikka.cygnus.co.uk>
6136
6137         * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
6138         java/lang/natDouble.cc, java/lang/strtod.c: struct _Bigint renamed
6139         struct _Jv_Bigint.
6140         * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
6141         java/lang/natDouble.cc, java/lang/strtod.c: struct _reent renamed
6142         struct _Jv_reent.
6143
6144         * java/lang/natDouble.cc: layout changed to match GNU coding standard.
6145         
6146 Tue Sep 29 07:57:13 1998  Anthony Green  <green@cygnus.com>
6147
6148         * java/lang/natDouble.cc: Declare alloca safely.
6149
6150         * configure, include/config.h.in: Rebuilt.
6151         * configure.in: Add alloca check.
6152
6153 Tue Sep 29 00:28:42 1998  Tom Tromey  <tromey@cygnus.com>
6154
6155         * java/lang/natThread.cc (finish_): Hold mutex for interrupt
6156         condition while calling notify.
6157         (join): Remove `curr_nt' from `nt's join list, not vice versa.
6158         (interrupt): Hold mutex for interrupt condition while calling
6159         notify.
6160
6161         * java/lang/natString.cc (init): Allocate and try to read `count'
6162         characters, not `count - offset' characters.
6163
6164         * java/io/ByteArrayInputStream.java (ByteArrayInputStream):
6165         Correctly compute `count'.
6166
6167         * java/lang/Boolean.java (getBoolean): Return false if property
6168         not found.
6169
6170         * java/lang/System.java (setProperties): Set prop_init.
6171
6172 Mon Sep 28 12:39:25 1998  Tom Tromey  <tromey@cygnus.com>
6173
6174         * java/io/PrintStream.java (println): Use line.separator, not
6175         file.separator.
6176         * java/lang/System.java (out, err): Make both autoflush streams.
6177         * java/io/ByteArrayOutputStream.java (write): Increment `count'.
6178
6179         * include/config.h.in: Rebuilt.
6180         * acconfig.h (HAVE_MEMCPY): Removed.
6181         * configure: Rebuilt.
6182         * configure.in: Never define HAVE_MEMCPY.
6183
6184         * java/lang/natString.cc: Don't include OutOfMemoryError.h or
6185         Class.h.
6186         (_Jv_AllocString): Use JvAllocObject again.
6187         * java/lang/Class.h (thread): New field.
6188         (_Jv_AllocString): No longer a friend.
6189         * prims.cc (processClass): Removed dead code.  Changed to more
6190         closely follow the Java Language Specification.
6191         (processClass): Return early if already at the right state.
6192
6193         * prims.cc (JvNewStringUTF): Removed.
6194         * include/cni.h (JvNewStringUTF): New function.
6195         (_Jv_NewStringUTF): Declare as `extern "C"'.
6196         * java/lang/natString.cc (_Jv_NewStringUTF): New function.
6197
6198         * java/lang/natDouble.cc: Added copyright info and header
6199         comment.  Include <stdlib.h>.
6200         (doubleValueOf): Use alloca, not malloc.  Allocate 3 times as many
6201         bytes as are chars in string.
6202
6203 Sat Sep 26 00:19:27 1998  Tom Tromey  <tromey@cygnus.com>
6204
6205         * java/util/Hashtable.java (hkeys): Member renamed from to avoid
6206         clash with method.
6207         (hsize): Likewise.
6208
6209         * java/lang/System.java (init_properties): Now native.
6210         * java/lang/natSystem.cc (init_properties): New method.
6211         Include java/util/Properties.h.
6212
6213         * Makefile.in: Rebuilt.
6214         * Makefile.am (nat_headers): Added ByteArrayOutputStream.h,
6215         OutputStreamWriter.h, ByteArrayInputStream.h,
6216         InputStreamReader.h, Writer.h, InputStream.h, OutputStream.h,
6217         Reader.h, Vector.h, SecurityManager.h, FilenameFilter.h,
6218         SyncFailedException.h, EOFException.h, FileNotFoundException.h,
6219         Properties.h, Hashtable.h, Dictionary.h.
6220         (CFLAGS): Removed.
6221
6222         * include/javaprims.h (java::io): Added Reader, Writer,
6223         InputStreamReader, OutputStreamWriter,
6224         UnsupportedEncodingException, ByteArrayInputStream,
6225         ByteArrayOutputStream, EOFException, SyncFailedException,
6226         PushbackInputStream.
6227         (java::lang): Added Cloneable.
6228         (java::util): Added NoSuchElementException, VectorEnumeration,
6229         Dictionary, HashtableEnumeration, PropertiesEnumeration.
6230
6231         * java/io/PipedReader.java: New file.
6232
6233 Fri Sep 25 00:11:25 1998  Tom Tromey  <tromey@cygnus.com>
6234
6235         * java/lang/natCharacter.cc (getNumericValue): Use `digit' to pick
6236         up A-Z.
6237
6238         * java/io/io-defs.h: Removed.
6239
6240         * java/io/FileInputStream.java (skip): Use FileDescriptor.seek.
6241         (FileInputStream): Use new constructor.  Can throw IOException.
6242
6243         * java/lang/System.java (getProperty): Don't throw
6244         NullPointerException.
6245
6246         * java/io/RandomAccessFile.java: Rewrote from scratch.
6247
6248         * java/io/natFileDescriptor.cc: Include EOFException.h.
6249         (seek): New method.
6250         (length): New method.
6251         (getFilePointer): New method.
6252         (read): New method.
6253         (available): New method.
6254         * java/io/FileDescriptor.java (SET, CUR): New constants.
6255         (seek, length, getFilePointer, read, available): New decls.
6256
6257         * java/io/PipedWriter.java: New file.
6258         * java/io/StringWriter.java: New file.
6259         * java/io/CharArrayWriter.java: New file.
6260         * java/io/CharConversionException.java: New file.
6261         * java/io/BufferedWriter.java: New file.
6262         * java/io/FilterWriter.java: New file.
6263         * java/io/FileWriter.java: New file.
6264
6265         * java/lang/natString.cc: Include ByteArrayOutputStream.h,
6266         OutputStreamWriter.h, NullPointerException.h,
6267         ByteArrayInputStream.h, InputStreamReader.h.
6268         (getBytes): New method.
6269         (init): Throw NullPointerException.
6270         (init): New function.
6271         * java/lang/String.java (getBytes): Added missing decl.
6272         (getBytes): New method.
6273         (String): Added byte[]-based constructors.
6274         (copyValueOf): Wrote.
6275         (init): Declare variant which takes byte array and encoding.
6276         Import java.io.UnsupportedEncodingException.
6277
6278         * java/io/File.java: Rewrote from scratch.
6279         * java/io/natFileDescriptor.cc: Rewrote from scratch.
6280         * java/io/FileDescriptor.java: Rewrote from scratch.
6281         * java/io/FilenameFilter.java: Rewrote from scratch.
6282
6283 Thu Sep 24 13:30:16 1998  Tom Tromey  <tromey@cygnus.com>
6284
6285         * java/io/SyncFailedException.java: New file.
6286         * java/io/UTFDataFormatException.java: Rewrote from scratch.
6287         * java/io/InterruptedIOException.java: Rewrote from scratch.
6288         * java/io/FileNotFoundException.java: Rewrote from scratch.
6289         * java/io/EOFException.java: Rewrote from scratch.
6290         * java/io/IOException.java: Rewrote from scratch.
6291         * java/io/PrintStream.java: Rewrote from scratch.
6292         * java/io/DataOutputStream.java: Rewrote from scratch.
6293         * java/io/BufferedOutputStream.java: Rewrote from scratch.
6294         * java/io/FilterOutputStream.java: Rewrote from scratch.
6295         * java/io/ByteArrayOutputStream.java: Rewrote from scratch.
6296         * java/io/PipedOutputStream.java: Rewrote from scratch.
6297         * java/io/FileOutputStream.java: Rewrote from scratch.
6298         * java/io/OutputStream.java: Rewrote from scratch.
6299         * java/io/DataOutput.java: Rewrote from scratch.
6300
6301 Mon Sep 28 22:59:54 1998  Per Bothner  <bothner@cygnus.com>
6302
6303         * prims.cc (_Jv_CheckCast):  Add missing ! operator.
6304
6305 Mon Sep 28 15:50:06 1998  Anthony Green  <green@cygnus.com>
6306
6307         * configure.in: Add --enable-libjava-debug
6308
6309         * Makefile.am (nat_headers): Add java/lang/Float.h and 
6310         java/lang/Double.h
6311
6312         * acconfig.h: Add DEBUG and HAVE_MEMCPY.
6313
6314         * Makefile.in, configure, include/config.h.in: Rebuilt.
6315
6316 Mon Sep 28 17:05:58 1998  Andrew Haley  <aph@korai.cygnus.co.uk>
6317
6318         * java/lang/Float.java: Rewritten
6319         * java/lang/Double.java: Rewritten
6320         * java/lang/natFloat.cc: toString() added.
6321         * java/lang/natDouble.cc: toString() added.
6322         * java/lang/natDouble.cc: doubleValueOf() added.
6323         * java/lang/dtoa.c, java/lang/mprec.c, java/lang/mprec.h, 
6324         java/lang/strtod.c: added.
6325         * ieeefp.h: __sparc added.
6326         * Makefile.am: java/lang/Float.h and java/lang/Double.h added.
6327         
6328 Thu Sep 24 13:30:16 1998  Tom Tromey  <tromey@cygnus.com>
6329
6330         * include/javaprims.h (java::lang): Added
6331         CloneNotSupportedException.
6332
6333         * java/lang/Object.java (clone): No longer native.  Implemented.
6334         * java/lang/natObject.cc (clone): Removed.
6335
6336 Wed Sep 23 12:03:38 1998  Tom Tromey  <tromey@cygnus.com>
6337
6338         * prims.cc: Don't make definitions `extern "C"'.
6339         (_Jv_RegisterClass): Renamed from registerClass.
6340         * include/jvm.h (_Jv_ThrowBadArrayIndex): Declare.
6341         (_Jv_NewArray): Likewise.
6342         (_Jv_NewMultiArray): Likewise.
6343         (_Jv_CheckCast): Likewise.
6344         (_Jv_LookupInterfaceMethod): Likewise.
6345         (_Jv_CheckArrayStore): Likewise.
6346         (_Jv_RegisterClass): Likewise.
6347
6348         * acconfig.h (HAVE_FMOD, HAVE_MEMCPY): Removed.
6349         * configure: Rebuilt.
6350         * configure.in: Don't check for fmod; it is provided by the fdlibm
6351         code.
6352         * prims.cc (fmod): Removed.
6353
6354         * java/lang/natString.cc (charAt): Use _Jv_uint.
6355         * java/lang/Class.h (class JvField): Use _Jv_ushort.
6356         * prims.cc (HASH_CHARS): Use _Jv_ushort.
6357         (equalUtf8Consts): Likewise.
6358         (internalAddClass): Use _Jv_uint.
6359         (processClass): Likewise.
6360         * include/javaprims.h (_Jv_ushort): Renamed from uint16.
6361         (_Jv_uint): Renamed from uint32.
6362         (struct _Jv_Utf8Const): Changed members to use new type names.
6363
6364         * configure: Rebuilt.
6365         * configure.in: Don't check for memcpy.  Require memmove and a way
6366         to get the time.
6367         * java/lang/natSystem.cc (arraycopy): Removed dead code, and
6368         #error.
6369         (currentTimeMillis): Don't use #error.
6370
6371 Tue Sep 22 18:00:16 1998  Andrew Haley  <aph@korai.cygnus.co.uk>
6372
6373         * java/lang/Math.java: static member random renamed to random_ to
6374         avoid conflict with member function of the same name.
6375         * include/javaprims.h: java.util.Random added.
6376
6377 Tue Sep 22 13:53:14 1998  Tom Tromey  <tromey@cygnus.com>
6378
6379         * include/java-chartables.h: Regenerated.
6380         * chartables.pl: End COMPACT_CHARACTER #if after fast tables
6381         printed.
6382
6383 Tue Sep 22 17:17:52 1998  Andrew Haley  <aph@tikka.cygnus.co.uk>
6384
6385         * java/lang/Math.java: Rewritten.
6386         * java/lang/natMath.cc: New file.
6387         * Files added from fdlibm:
6388           java/lang/e_acos.c, java/lang/k_sin.c, java/lang/sf_floor.c,
6389           java/lang/e_asin.c, java/lang/k_tan.c, java/lang/sf_rint.c,
6390           java/lang/e_atan2.c, java/lang/s_atan.c, java/lang/w_acos.c,
6391           java/lang/e_exp.c, java/lang/s_ceil.c, java/lang/w_asin.c,
6392           java/lang/e_fmod.c, java/lang/s_copysign.c, java/lang/w_atan2.c,
6393           java/lang/e_log.c, java/lang/s_cos.c, java/lang/w_exp.c,
6394           java/lang/e_pow.c, java/lang/s_fabs.c, java/lang/w_fmod.c,
6395           java/lang/e_rem_pio2.c, java/lang/s_floor.c, java/lang/w_log.c,
6396           java/lang/e_remainder.c, java/lang/s_rint.c, java/lang/w_pow.c,
6397           java/lang/e_scalb.c, java/lang/s_scalbn.c, java/lang/w_remainder.c,
6398           java/lang/e_sqrt.c, java/lang/s_sin.c, java/lang/w_sqrt.c,
6399           java/lang/ef_fmod.c, java/lang/s_tan.c, java/lang/wf_fmod.c,
6400           java/lang/k_cos.c, java/lang/sf_ceil.c,
6401           java/lang/k_rem_pio2.c, java/lang/sf_fabs.c,
6402           java/lang/ieeefp.h, java/lang/fdlibm.h
6403         * Makefile.am: rules added for compiling C files from fdlibm.
6404         
6405 Mon Sep 21 15:40:58 1998  Tom Tromey  <tromey@cygnus.com>
6406
6407         * chartables.pl: Minor documentation fixes.
6408
6409         * configure: Rebuilt.
6410         * configure.in: Fixed --help output for --enable-fast-character.
6411
6412 Thu Sep 17 11:03:27 1998  Tom Tromey  <tromey@cygnus.com>
6413
6414         * configure: Rebuilt.
6415         * configure.in: Recognize --enable-fast-character.
6416         * acconfig.h (COMPACT_CHARACTER): New define.
6417         * include/config.h.in: Rebuilt.
6418         * include/java-chartables.h: New file.
6419         * Makefile.in: Rebuilt.
6420         * Makefile.am (nat_files): Added natCharacter.o.
6421         * java/lang/natCharacter.cc: New file.
6422         * chartables.pl (set_attribute): New function.
6423         (@attributes, @second_attributes): New globals.
6424         ($ROMAN_START, $ROMAN_END): Likewise.
6425         (process_char): Call set_attribute when required.
6426         (print_char): Just print hex value.
6427         (print_block): Generate C++ syntax.
6428         (print_numerics): Likewise.
6429         (print_single_map): Likewise.
6430         (print_all_block): Likewise.
6431         (print_case_table): Likewise.
6432         (print_fast_tables): New function.
6433         Generate C++ code suitable for a header file.
6434         * java/lang/Character.java (table_search): Removed.
6435         (digit_value): Now native.
6436         (getNumericValue): Likewise.
6437         (getType): Likewise.
6438         Removed all automatically-generated tables.
6439         (Tamil_Digit_One): Removed.
6440         (isSpaceChar): Now native.
6441         (isTitleCase): Likewise.
6442         (isLowerCase): Likewise.
6443         (isUpperCase): Likewise.
6444         (toLowerCase): Likewise.
6445         (toTitleCase): Likewise.
6446         (toUpperCase): Likewise.
6447         (isDefined): Fixed sense of test.
6448
6449 Wed Sep 16 12:00:19 1998  Tom Tromey  <tromey@cygnus.com>
6450
6451         * java/lang/natString.cc (equalsIgnoreCase): Removed obsolete
6452         FIXME comment.
6453         (regionMatches): Likewise.
6454
6455 Tue Sep 15 14:35:12 1998  Tom Tromey  <tromey@cygnus.com>
6456
6457         * prims.cc (_Jv_AllocObject): Call _Jv_InitClass on the class.
6458
6459         * java/lang/Class.h (Object): For now, declare _Jv_AllocString as
6460         a friend.
6461         * java/lang/natString.cc (_Jv_AllocString): For now, don't call
6462         _Jv_AllocObject.
6463
6464         * java/lang/natString.cc (toUpperCase): Declare `ch' as a jchar,
6465         not a char.
6466
6467         * java/lang/natClass.cc (isAssignableFrom): Handle arrays.
6468
6469 Fri Sep 11 14:01:08 1998  Tom Tromey  <tromey@cygnus.com>
6470
6471         * prims.cc (instanceof_class): Removed.
6472         (instanceof_array): Likewise.
6473         (instanceof): Likewise.
6474         (_Jv_IsInstanceOf): Use Class::isAssignableFrom.
6475         (_Jv_CheckCast): Likewise.
6476         * java/lang/natClass.cc (isAssignableFrom): New method.
6477         * java/lang/Class.java (isAssignableFrom): Now native.
6478
6479         * include/cni.h (JvThrow): Use `extern inline'.
6480         (JvAllocObject): Likewise.
6481         (JvInitClass): Likewise.
6482
6483         * java/lang/natSystem.cc (arraycopy): Only check class of source
6484         object if not null.
6485
6486         * prims.cc (_Jv_CheckArrayStore): Wrote.
6487         (_Jv_MonitorEnter): Prefer `JvThrow'.
6488         Include ArrayStoreException.h.
6489         (_Jv_CheckCast): Indentation cleanup.
6490
6491 Thu Sep 10 18:59:29 1998  Tom Tromey  <tromey@cygnus.com>
6492
6493         * chartables.pl: New file.
6494         * java/lang/Character.java: Rewrote from scratch.
6495
6496 Fri Sep 18 18:15:58 1998  Warren Levy  <warrenl@cygnus.com>
6497
6498         * java/lang/ArithmeticException.java,
6499         java/lang/ArrayIndexOutOfBoundsException.java,
6500         java/lang/ArrayStoreException.java,
6501         java/lang/ClassCastException.java,
6502         java/lang/ClassNotFoundException.java,
6503         java/lang/CloneNotSupportedException.java,
6504         java/lang/Exception.java, java/lang/IllegalAccessException.java,
6505         java/lang/IllegalArgumentException.java,
6506         java/lang/IllegalMonitorStateException.java,
6507         java/lang/IllegalThreadStateException.java,
6508         java/lang/IndexOutOfBoundsException.java,
6509         java/lang/InstantiationException.java,
6510         java/lang/InterruptedException.java,
6511         java/lang/NegativeArraySizeException.java,
6512         java/lang/NoSuchMethodException.java,
6513         java/lang/NullPointerException.java,
6514         java/lang/NumberFormatException.java,
6515         java/lang/RuntimeException.java, java/lang/SecurityException.java,
6516         java/lang/StringIndexOutOfBoundsException.java: Rewritten.
6517
6518         * java/lang/IllegalStateException.java,
6519         java/lang/NoSuchFieldException.java,
6520         java/lang/UnsupportedOperationException.java: Created.
6521
6522 Fri Sep 18 15:01:42 1998  Warren Levy  <warrenl@cygnus.com>
6523
6524         * java/lang/Integer.java, java/lang/Long.java: Rewritten.
6525         * java/lang/Byte.java, java/lang/Short.java (decode): Uncommented.
6526
6527 Fri Sep 11 16:49:19 1998  Per Bothner  <bothner@cygnus.com>
6528
6529         * prims.cc (JvRunMain):  No longer need to call _Jv_InitClass.
6530
6531 Thu Sep 10 12:23:55 1998  Warren Levy  <warrenl@cygnus.com>
6532
6533         * Makefile.am (nat_headers): Added StringIndexOutOfBoundsException.h.
6534
6535         * Makefile.in: Rebuilt.
6536
6537         * include/javaprims.h (java::lang): Added
6538         StringIndexOutOfBoundsException.
6539
6540         * java/lang/String.java: Added header comment and FIXME comment for 
6541         missing constructors/methods.
6542         (endsWith): Adjusted offset into string to look at just the last chars.
6543         Commented out undocumented method.
6544
6545         * java/lang/natString.cc: Added includes for
6546         ArrayIndexOutOfBoundsException.h & StringIndexOutOfBoundsException.h.
6547         (String::init): Throw StringIndexOutOfBoundsException.
6548         (String::charAt): Throw StringIndexOutOfBoundsException.
6549         (String::substring): Throw StringIndexOutOfBoundsException.
6550         (String::getChars): Throw ArrayIndexOutOfBoundsException.
6551         (String::getBytes): Throw ArrayIndexOutOfBoundsException.
6552         (String::compareTo): Return difference/offset between chars/strings.
6553
6554 Tue Sep  8 13:22:33 1998  Warren Levy  <warrenl@cygnus.com>
6555
6556         * java/lang/Boolean.java (TYPE): Added comment.
6557         
6558         * java/lang/Byte.java (decode): Added - commented out until dependent
6559         code for Integer is written.
6560         (compareTo): JDK 1.2 methods written.
6561         (hashCode): Added comment to note that values have been verified.
6562         
6563         * java/lang/Short.java (decode): Added - commented out until dependent
6564         code for Integer is written.
6565         (compareTo): JDK 1.2 methods written.
6566         (hashCode): Added comment to note that values have been verified.
6567
6568         * java/lang/Comparable.java: Created - JDK 1.2 interface.
6569
6570 Fri Sep  4 10:36:35 1998  Tom Tromey  <tromey@cygnus.com>
6571
6572         * include/javaprims.h (java::lang): Added VirtualMachineError,
6573         OutOfMemoryError.
6574         * Makefile.in: Rebuilt.
6575         * Makefile.am (nat_headers): Added OutOfMemoryError.h,
6576         VirtualMachineError.h.
6577         * prims.cc (_Jv_NewPrimArray): Throw OutOfMemoryError.
6578         (lookupArray): Likewise.
6579         (makeUtf8Const): Likewise.
6580         (_Jv_AllocObject): Likewise.
6581         (_Jv_NewObjectArray): Likewise.
6582         Include OutOfMemoryError.h.
6583
6584         * java/io/natFileDescriptor.cc (newstr): Removed.  Changed callers
6585         to use JvNewStringLatin1.
6586
6587         * java/io/io-defs.h: Include java/lang/IOException.h.
6588         * Makefile.in: Rebuilt.
6589         * Makefile.am (nat_headers): Added
6590         ArrayIndexOutOfBoundsException.h,
6591         ClassFormatError.h,ClassNotFoundException.h,
6592         ClassCircularityError.h, ClassCastException.h,
6593         IncompatibleClassChangeError.h, AbstractMethodError.h,
6594         IllegalAccessError.h, LinkageError.h, Error.h,
6595         NegativeArraySizeException.h, IOException.h.
6596         * include/cni.h (SignalError): Removed declaration.
6597         * java/util/natDate.cc (setTime): Use JvFail, not sorry.
6598         * java/lang/natObject.cc (clone): Use JvFail, not sorry.
6599         * java/lang/natClass.cc (getInterfaces): Use JvFail, not sorry.
6600         (newInstance): Likewise.
6601         (forName): Likewise.
6602         * java/io/natFileDescriptor.cc (open_read_write): Use JvFail, not
6603         sorry.
6604         (read): Use JvThrow, not SignalError.
6605         (read): Likewise.
6606         (write): Likewise.
6607         (skip): Likewise.
6608         (close): Likewise.
6609         (open_read): Likewise.
6610         (open_write): Likewise.
6611         (ftell): Likewise.
6612         (fseek): Likewise.
6613         (newstr): New function.
6614         * java/io/natFile.cc (isDirectoryUnchecked): Use JvFail, not
6615         sorry.
6616         (lastModifiedUnchecked): Likewise.
6617         (lengthUnchecked): Likewise.
6618         * include/javaprims.h (sorry): Removed declaration.
6619         (java::lang): Added ArrayIndexOutOfBoundsException, LinkageError,
6620         ClassFormatError, ClassNotFoundException, ClassCircularityError,
6621         ClassCastException, IncompatibleClassChangeError,
6622         AbstractMethodError, IllegalAccessError, NegativeArraySizeException.
6623         * prims.cc (instanceof_array): Use JvFail, not sorry.
6624         (sorry): Removed.
6625         Include ArrayIndexOutOfBoundsException.h,
6626         ClassFormatError.h,ClassNotFoundException.h,
6627         ClassCircularityError.h, ClassCastException.h,
6628         IncompatibleClassChangeError.h, AbstractMethodError.h,
6629         IllegalAccessError.h, NegativeArraySizeException.h.
6630         (_Jv_ThrowBadArrayIndex): Implemented.
6631         (JvNewStringUTF): Use JvFail, not sorry.
6632         (_Jv_FindClass): Likewise.
6633         (_Jv_NewArray): Likewise.
6634         (throwException): Removed.
6635         (getClass): Use JvThrow.
6636         (processClass): Likewise.
6637         (_Jv_NewObjectArray): Likewise.
6638         (_Jv_NewMultiArray): Likewise.
6639         (_Jv_CheckCast): Likewise.
6640         (_Jv_LookupInterfaceMethod): Likewise.
6641         (SignalError): Removed.
6642         (getClass): Use _Jv_NewStringUtf8Const to create String.
6643
6644         * java/lang/natSystem.cc (arraycopy): Throw
6645         ArrayIndexOutOfBoundsException, not IndexOutOfBoundsException.
6646
6647         * Makefile.in: Rebuilt.
6648         * Makefile.am (GCJH): Renamed.  Now use `gcjh'.  Changed all
6649         users.
6650         * include/java-array.h: Mention gcjh, not gjavah.
6651
6652         * java/io/natFile.cc (existsUnchecked): Use JvGetStringUTFRegion.
6653         (canReadUnchecked): Likewise.
6654         (canWriteUnchecked): Likewise.
6655         (isFileUnchecked): Likewise.
6656         * java/io/natFileDescriptor.cc: Don't include cni.h.
6657
6658         * java/lang/Thread.java (run__): Declare.
6659         * java/lang/natThread.cc (run__): New method, to avoid compiler
6660         warning.
6661         (start): Use run__, not run_.
6662
6663         * java/io/io-defs.h: Include cni.h and jvm.h.
6664
6665 Thu Sep  3 18:20:08 1998  Per Bothner  <bothner@cygnus.com>
6666
6667         Re-implement java.lang.String, using "COMPACT_STRINGS" representation.
6668         * prims.cc (JvAllocString, JvNewString, JvNewStringlatin1):  Moved
6669         to natString.cc (with suitable renaming, inlines etc).
6670         (javaString2CString):  Removed.  Subsumed by _Jv_GetStringUTFRegion.
6671         * java/lang/Class.h:  Renamed Utf8Const to _Jv_Utf8Const.
6672         * java/lang/String.h:  Removed - now generated using gjavah.
6673         * java/lang/String.java:  Re-written from scratch. Many native methods.
6674         * java/lang/natDouble.cc, java/util/natDate.cc:  #include <cni.h>.
6675         * java/lang/natString.cc:  Many functions re-written for "compact
6676         strings" representation, or native java.lang.String methods added.
6677         (Utf8Const2JavaString):  Renamed to _Jv_NewStringUtf8Const.
6678         (_Jv_GetStringUTFLength, _Jv_GetStringUTFRegion):  New methods.
6679         * java/lang/natClass.cc (getName):  Use new _Jv_NewStringUtf8Const.
6680         * java/io/natFileDescriptor.cc:  Use new JvGetStringUTFRegion.
6681         * include/cni.h:  Add inline method.
6682         * include/java-array.h (jobjectArrayjchar):  gjavah bug work-around.
6683         * include/javaprims.h:  Moved some stuff frm String.h.
6684         * include/jvm.h (UTF8_GET, Utf8Const, StringClass):  Moved here.
6685         * Makefile.am (nat_header):  Added Character.h and String.h.
6686         (String.h):  Add new rule.
6687
6688 Thu Sep  3 10:28:16 1998  Tom Tromey  <tromey@cygnus.com>
6689
6690         * no-threads.cc: Include config.h, cni.h, jvm.h.  Don't include
6691         java-assert.h.
6692         * posix-threads.cc: Include cni.h, jvm.h.
6693         * quick-threads.cc: Include cni.h, jvm.h.
6694         * nogc.cc: Include cni.h, not javaprims.h.
6695         * java/lang/natFirstThread.cc: Include cni.h, jvm.h.
6696         * java/lang/natThread.cc: Rearranged #include ordering.  Don't
6697         include java-assert.h.
6698         * java/lang/natSystem.cc: Include cni.h.  Don't include
6699         java-assert.h.
6700         * java/lang/natRuntime.cc: Include cni.h.  Don't include
6701         java-assert.h.
6702         * prims.cc: Rearranged #include ordering.  Don't include
6703         java-array.h or java-assert.h.
6704         * boehm.cc: Include config.h, cni.h.
6705         * exception.cc: Include config.h, cni.h.
6706         * include/jvm.h: Include java-assert.h.
6707         * include/cni.h: Include java/lang/Object.h.  Don't include
6708         java-threads.h or java-array.h.
6709
6710 Thu Sep  3 16:03:08 1998  Warren Levy  <warrenl@cygnus.com>
6711
6712         * java/lang/Boolean.java: Rewritten.
6713
6714 Thu Sep  3 10:28:16 1998  Tom Tromey  <tromey@cygnus.com>
6715
6716         * java/lang/natFirstThread.cc (main_func): New typedef.
6717         (run): Use main_func, not JvPrivThreadStartFunc.
6718         * include/no-threads.h (JvPrivThreadStartFunc): Use correct
6719         argument type.
6720         * include/posix-threads.h (JvPrivThreadStartFunc): Use correct
6721         argument type.
6722         * include/quick-threads.h (JvPrivThreadStartFunc): Use correct
6723         argument type.
6724
6725         Can't throw Java exceptions with C++ `throw':
6726         * quick-threads.cc (qthrow): Use _Jv_Throw, not throw.
6727         * java/lang/natThread.cc (join): Use _Jv_Throw, not throw.
6728         (setPriority): Likewise.
6729         (sleep): Likewise.
6730         (start): Likewise.
6731         (stop): Likewise.
6732         * java/lang/natSystem.cc (arraycopy): Use _Jv_Throw, not throw.
6733         * prims.cc (_Jv_MonitorEnter): Use _Jv_Throw, not throw.
6734
6735         Can't catch Java exceptions from C++:
6736         * java/lang/natThread.cc (finish_): New method.
6737         (run_): Removed.
6738         * java/lang/Thread.java (run_): Rewrote in Java.
6739         (finish_): New native method.
6740
6741 Wed Sep  2 17:30:39 1998  Warren Levy  <warrenl@cygnus.com>
6742
6743         * java/lang/Cloneable.java, java/lang/Number.java: Rewritten.
6744
6745         * include/javaprims.h (java::io): Added Serializable.
6746
6747 Wed Sep  2 15:22:00 1998  Warren Levy  <warrenl@cygnus.com>
6748
6749         * java/util/EmptyStackException.java,
6750         java/util/NoSuchElementException.java: Rewritten.
6751         
6752         * java/util/ConcurrentModificationException.java,
6753         java/util/MissingResourceException.java,
6754         java/util/TooManyListenersException.java: Created.
6755
6756 Wed Sep  2 13:36:57 1998  Tom Tromey  <tromey@cygnus.com>
6757
6758         * include/cni.h (JvThrow): New function.
6759         * include/javaprims.h (_Jv_Throw): Declare.
6760
6761 Wed Sep  2 14:07:48 1998  Warren Levy  <warrenl@cygnus.com>
6762
6763         * java/util/Observable.java: Rewritten.
6764
6765 Wed Sep  2 13:36:57 1998  Tom Tromey  <tromey@cygnus.com>
6766
6767         * prims.cc (_Jv_MonitorExit): Assert that object is non-null.
6768         (_Jv_MonitorEnter): Throw NullPointerException if object is null.
6769         Include NullPointerException.h.
6770
6771 Tue Sep  1 12:07:35 1998  Tom Tromey  <tromey@cygnus.com>
6772
6773         * java/lang/natSystem.cc (arraycopy): Removed overlapping-copy
6774         assignability checks.  Don't bother using memcpy.
6775
6776         * quick-threads.cc (JvPrivThreadStart): Don't call coop_start.
6777         (started): Removed.
6778         * include/quick-threads.h (JvPrivThreadWait): New function.
6779         * include/no-threads.h (JvPrivThreadWait): New function.
6780         * include/posix-threads.h (JvPrivThreadWait): New function.
6781         * prims.cc (JvRunMain): Call JvPrivThreadWait.
6782
6783         * java/lang/natSystem.cc (arraycopy): Do nothing if count is 0.
6784
6785         * java/lang/natSystem.cc (arraycopy): Multiply both src and dst
6786         offsets by size of type that is being copied.
6787
6788         * java/lang/natThread.cc (start): Don't pass `object' argument to
6789         JvPrivThreadStart.
6790         * no-threads.cc (JvPrivThreadStart): Removed `object' argument.
6791         * posix-threads.cc (JvPrivThreadStart): Removed `object'
6792         argument.
6793         * quick-threads.cc (JvPrivThreadStart): Removed `object' argument;
6794         always pass thread as object.
6795         * include/quick-threads.h, include/posix-threads.h,
6796         include/no-threads.h (JvPrivThreadStart): Removed `object'
6797         argument.
6798
6799 Mon Aug 31 19:11:53 1998  Warren Levy  <warrenl@cygnus.com>
6800
6801         * java/util/Dictionary.java: Rewritten.
6802
6803 Mon Aug 31 14:35:55 1998  Tom Tromey  <tromey@cygnus.com>
6804
6805         * include/quick-threads.h (JvPrivThreadInitData): Use 0, not NULL.
6806         (JvPrivThreadDestroy): Likewise.
6807         
6808 Mon Aug 31 12:56:01 1998  Warren Levy  <warrenl@cygnus.com>
6809
6810         * java/lang/natRuntime.cc (exit): Changed final call to ::exit.
6811
6812 Thu Aug 27 12:24:40 1998  Tom Tromey  <tromey@cygnus.com>
6813
6814         * java/lang/natSystem.cc: Rewrote from scratch.
6815         * java/lang/System.java: Rewrote from scratch.
6816         * java/lang/Class.h (Class): Declare isAssignableFrom.
6817         * include/javaprims.h (java::lang): Added ArrayStoreException,
6818         IndexOutOfBoundsException.
6819         * Makefile.in: Rebuilt.
6820         * Makefile.am (nat_headers): Added ArrayStoreException.h,
6821         IndexOutOfBoundsException.h.
6822         * java/lang/natObject.cc (hashCode): Use _Jv_HashCode.
6823         * include/jvm.h (_Jv_HashCode): New function.
6824
6825         * java/lang/natThread.cc (suspend): Call checkAccess.
6826         (resume): Likewise.
6827         * java/lang/Thread.java (setDaemon): Call checkAccess.
6828
6829 Thu Aug 27 12:24:40 1998  Tom Tromey  <tromey@cygnus.com>
6830
6831         * java/lang/Runtime.java: Rewrote from scratch.
6832         * java/lang/natRuntime.cc: Rewrote from scratch.
6833
6834         * nogc.cc (JvPrivGCTotalMemory): New function.
6835         (JvPrivGCFreeMemory): Likewise.
6836         (total): New global.
6837         (JvPrivAllocObj): Increment total.
6838         (JvPrivAllocArray): Likewise.
6839         (JvPrivAllocBytes): Likewise.
6840         * include/jvm.h: Declare JvPrivGCTotalMemory, JvPrivGCFreeMemory.
6841         * boehm.cc (JvPrivGCTotalMemory): New function.
6842         (sum_blocks): Likewise.
6843         (JvPrivGCFreeMemory): Likewise.
6844
6845 Wed Aug 26 12:30:32 1998  Tom Tromey  <tromey@cygnus.com>
6846
6847         * include/javaprims.h (java::lang): Added FirstThread.
6848         * java/lang/natFirstThread.cc: New file.
6849         * java/lang/FirstThread.java: New file.
6850         * prims.cc (main_signature): Removed.
6851         (main_name): Removed.
6852         #include FirstThread.h.
6853         * Makefile.in: Rebuilt.
6854         * Makefile.am (TFRIEND): Removed.
6855         (java/lang/Thread.h): Likewise.
6856         (FTFRIEND): New macro.
6857         (java/lang/FirstThread.h): New target.
6858         (nat_files): Added natFirstThread.o.
6859         (nat_headers): Added FirstThread.h.
6860         * include/jvm.h (_Jv_StartFirstThread): Don't declare.
6861         * java/lang/natThread.cc (_Jv_StartFirstThread): Removed.
6862
6863         * java/lang/Thread.java (setName): Throw IllegalArgumentException
6864         if name is null.
6865         (Thread): Likewise.
6866
6867         * java/lang/natThread.cc (start): Synchronize the thread.
6868         (stop): Synchronize the thread.
6869
6870         * java/lang/ThreadDeath.java: Rewrote from scratch.
6871
6872         * Makefile.in: Rebuilt.
6873         * Makefile.am (TGFRIEND): New macro.
6874         (java/lang/ThreadGroup.h): New target.
6875         ($(nat_files) prims.o boehm.o nogc.o): Native files depend on the
6876         native headers.
6877         ($(javao_files) $(nat_files) prims.o boehm.o nogc.o): Removed.
6878
6879         * nogc.cc: Include config.h.
6880
6881         * java/lang/ThreadGroup.java: Rewrote from scratch.
6882
6883 Tue Aug 25 00:12:54 1998  Tom Tromey  <tromey@cygnus.com>
6884
6885         * java/lang/Thread.java (checkAccess): Only call in to security
6886         manager if it exists.
6887         (Thread): Don't check access when creating the first thread.  Add
6888         this thread to the appropriate ThreadGroup.
6889
6890         * java/lang/natThread.cc (run_): Call uncaughtException method on
6891         the ThreadGroup.
6892
6893         * java/lang/Runnable.java: Rewrote from scratch.
6894         * java/lang/Thread.java: Updated copyright comment to correct
6895         form.
6896
6897 Wed Aug 26 15:16:18 1998  Warren Levy  <warrenl@cygnus.com>
6898
6899         * java/util/Random.java: Rewritten.
6900
6901 Wed Aug 26 14:25:39 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
6902
6903         * prims.cc (_Jv_NewMultiArray): Need one more slot to store
6904         trailing 0 in array[].
6905
6906 Wed Aug 26 12:21:06 1998  Anthony Green  <green@cygnus.com>
6907
6908         * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT, 
6909         and RUNTESTFLAGS from AM_MAKEFLAGS.
6910         (SUBDIRS): Conditionally include testsuite.
6911         * Makefile.in: Rebuilt.
6912
6913 Tue Aug 25 18:14:53 1998  Anthony Green  <green@cygnus.com>
6914
6915         * java/lang/Object.h: Include java-assert.h.
6916
6917 Tue Aug 25 17:33:57 1998  Anthony Green  <green@cygnus.com>
6918
6919         * Makefile.am: Add testsuite directory.
6920         * configure.in: Build testsuite/Makefile.
6921         * Makefile.in, configure: Rebuilt.
6922         
6923 Tue Aug 25 00:12:54 1998  Tom Tromey  <tromey@cygnus.com>
6924
6925         * prims.cc (JvRunMain): Use _Jv_StartFirstThread.
6926         * include/jvm.h (_Jv_StartFirstThread): Declare.
6927
6928         * include/javaprims.h (java::lang): Added Exception,
6929         RuntimeException.
6930
6931         * Makefile.in: Rebuilt.
6932         * Makefile.am (nat_headers): Added NullPointerException.h,
6933         InterruptedException.h, IllegalArgumentException.h, Exception.h,
6934         Throwable.h, RuntimeException.h, IllegalThreadStateException.h.
6935         (java/lang/Thread.h): New target.
6936         (TFRIEND): New macro
6937
6938         * include/java-assert.h (JvFail): Use 0 and not NULL.
6939
6940         * posix-threads.cc (JvPrivThreadStart): Use getPriority() method
6941         instead of assuming we are a friend of Thread.
6942         * quick-threads.cc (JvPrivThreadStart): Use isDaemon() method
6943         instead of assuming we are a friend of Thread.
6944
6945 Mon Aug 24 15:58:36 1998  Tom Tromey  <tromey@cygnus.com>
6946
6947         * java/lang/natThread.cc: Rewrote from scratch.
6948         * java/lang/Thread.java: Rewrote from scratch.
6949         * prims.cc (JvRunMain): Use new Thread constructor.
6950         * include/javaprims.h (java::lang): Added InterruptedException.
6951         * Makefile.in: Rebuilt.
6952         * Makefile.am (nat_headers): Added java/lang/Thread.h.
6953         * java/lang/Thread.h: Removed.
6954         * quick-threads.cc (JvPrivThreadStart): Added `data' argument.
6955         * no-threads.cc (JvPrivThreadStart): Added JvPrivThread_t
6956         argument.
6957         * posix-threads.cc (JvPrivThreadJoin): Removed.
6958         (JvPrivThreadInitData): Don't initialize join_mutex or join_cond.
6959         (really_start): Don't notify join_cond.
6960         (JvPrivThreadStart): Added `data' argument.
6961         * include/no-threads.h (JvPrivThreadInterrupt): Removed.
6962         (JvPrivThreadJoin): Likewise.
6963         Use JvFail instead of sorry.
6964         (JvPrivThreadSuspend): Removed.
6965         (JvPrivThreadResume): Removed.
6966         * include/quick-threads.h (JvPrivThreadInterrupt): Removed.
6967         (JvPrivThreadJoin): Likewise.
6968         (JvPrivThreadSuspend): Use JvFail.
6969         (JvPrivThreadResume): Likewise.
6970         (JvPrivThreadSuspend): Removed.
6971         (JvPrivThreadResume): Likewise.
6972         * include/posix-threads.h (JvPrivThreadInterrupt): Removed.
6973         (JvPrivThread_t): Removed join_mutex, join_cond.
6974         Use JvFail instead of sorry.
6975         (JvPrivThreadSuspend): Removed.
6976         (JvPrivThreadResume): Likewise.
6977
6978 Tue Aug 25 12:50:13 1998  Warren Levy  <warrenl@cygnus.com>
6979
6980         * java/util/Observer.java: Rewritten
6981         * java/util/Enumeration.java: Rewritten
6982
6983 Tue Aug 25 11:33:54 1998  Warren Levy  <warrenl@cygnus.com>
6984
6985         * java/util/StringTokenizer.java: Rewritten
6986         * java/util/Stack.java: Added COPYRIGHT-TBD comment
6987         * java/util/Vector.java: Added COPYRIGHT-TBD comment
6988         * java/io/Serializable.java: Added COPYRIGHT-TBD comment
6989         
6990 Fri Aug 21 10:14:22 1998  Tom Tromey  <tromey@cygnus.com>
6991
6992         * include/java-assert.h (JvFail): Call _Jv_Abort even when DEBUG
6993         not defined.
6994
6995         * no-threads.cc (JvPrivThreadStart): Use JvAssert.
6996         Include java-assert.h.
6997         * include/java-assert.h: New file.
6998         * prims.cc (_Jv_Abort): New function.
6999         Include java-assert.h, not assert.h.
7000         (_Jv_MonitorExit): Use JvAssert.
7001         (resolveConstants): Likewise.
7002         (processClass): Likewise.
7003         (JvRunMain): Assert that method is found.
7004
7005         * configure: Rebuilt.
7006         * configure.in: Check for test subdir.
7007         * Makefile.in: Rebuilt.
7008         * Makefile.am (SUBDIRS): Conditional on TESTSUBDIR.
7009
7010         * prims.cc (JvRunMain): Use NORM_PRIORITY.
7011         * java/lang/Thread.h (Thread): Added NORM_PRIORITY.
7012
7013         * prims.cc (resolveConstants): Removed unused variables.
7014         (processClass): Likewise.
7015
7016         * include/quick-threads.h (JvPrivThreadCurrent): Use
7017         coop_getspecific.
7018         * quick-threads.cc (destroy_data): New function.
7019         (JvPrivInitThreads): Create key.
7020         (JvPrivThreadKey): New global.
7021         (JvPrivThreadStart): Use coop_setspecific.
7022
7023         * include/quick-threads.h, include/posix-threads.h,
7024         include/no-threads.h, no-threads.cc, quick-threads.cc,
7025         posix-threads.cc, nogc.cc, boehm.cc: Added copyright comment.
7026
7027 Thu Aug 20 10:57:30 1998  Tom Tromey  <tromey@cygnus.com>
7028
7029         * include/no-threads.h (JvPrivThreadInitData): Don't set
7030         JvPrivOnlyThread.
7031
7032         * include/quick-threads.h (JvPrivCondWait): coop function now
7033         takes microseconds.
7034         (JvPrivThreadJoin): Likewise.
7035
7036         * java/lang/Thread.h (Thread): Updated declaration of
7037         JvPrivThreadStart.
7038         * include/quick-threads.h, include/posix-threads.h: Updated
7039         declaration of JvPrivThreadStart.
7040         * include/no-threads.h (JvPrivThreadStart): Changed definition
7041         into declaration.
7042         * no-threads.cc (JvPrivThreadStart): Removed `data' argument.
7043         * quick-threads.cc (JvPrivThreadStart): Removed `data' argument.
7044         * posix-threads.cc (JvPrivThreadStart): Removed `data' argument.
7045
7046 Wed Aug 19 14:53:59 1998  Tom Tromey  <tromey@cygnus.com>
7047
7048         * quick-threads.cc (qthrow): New function.
7049         (JvPrivInitThreads): New function.
7050         (started): New global.
7051         (JvPrivThreadStart): Call coop_start if required.
7052         * include/quick-threads.h (JvPrivThreadCancel): Implement.
7053         (JvPrivThreadDestroy): Likewise.
7054         (JvPrivInitThreads): Removed.
7055         * include/posix-threads.h (JvPrivThreadCancel): Added error
7056         argument.
7057         * java/lang/natThread.cc (stop_): Pass exception to
7058         JvPrivThreadCancel.
7059
7060 Tue Aug 18 12:58:22 1998  Tom Tromey  <tromey@cygnus.com>
7061
7062         * include/javaprims.h (java::lang): Added
7063         IllegalArgumentException, IllegalThreadStateException, Math,
7064         NullPointerException, ThreadDeath.
7065         (java::util): Added Enumeration.
7066
7067         * Makefile.in: Rebuilt.
7068         * Makefile.am (nat_headers): Added java/lang/ThreadGroup.h.
7069
7070         * java/lang/ThreadGroup.java (ThreadGroup): No-args constructor
7071         now public.
7072         (threadsv): Renamed from threads to avoid clash in C++ header.
7073         (groupsv): Likewise.
7074         * include/no-threads.h (JvPrivThreadStart): Removed.
7075         * no-threads.cc (JvPrivThreadStart): New function.
7076         * java/lang/Thread.java (Thread): New constructor for internal use.
7077         * java/lang/Thread.h (Thread): Declare JvRunMain as friend.
7078         (Thread): Declare constructor.
7079         * prims.cc (JvRunMain): Create the initial Thread and
7080         ThreadGroup.
7081         Include <java/lang/Thread.h> and <java/lang/ThreadGroup.h>.
7082         * posix-threads.cc (JvPrivThreadStart): Added `thread' argument.
7083         Removed `daemon' argument.
7084
7085         * prims.cc (JvRunMain): Call _Jv_InitializeSyncMutex.
7086         * java/lang/Object.h (Object): Declare _Jv_InitializeSyncMutex as
7087         a friend.
7088         * java/lang/natObject.cc (_Jv_InitializeSyncMutex): New function.
7089
7090         * Makefile.in: Rebuilt.
7091         * Makefile.am (INCLUDES): Include THREADINCS.
7092
7093         * configure: Rebuilt.
7094         * configure.in: Recognize `qt' as a threads package.
7095
7096 Thu Aug 20 12:42:32 1998  Warren Levy  <warrenl@cygnus.com>
7097
7098         * java/util/Stack.java (pop): Null out topmost node for robustness.
7099
7100 Thu Aug 20 12:30:30 1998  Warren Levy  <warrenl@cygnus.com>
7101
7102         * java/util/Stack.java: Rewritten.
7103         * java/util/Vector.java (isEmpty): Simplified expression.
7104
7105 Wed Aug 19 18:02:19 1998  Warren Levy  <warrenl@cygnus.com>
7106
7107         * prims.cc (_Jv_NewObjectArray): Renamed from JvNewObjectArray.
7108         (soft_anewarray): Removed, _Jv_NewObjectArray used instead.
7109
7110         * include/java-array.h (JvNewObjectArray): Created inline to
7111         _Jv_NewObjectArray.
7112
7113         * java/lang/Class.h (_Jv_NewObjectArray): Renamed from
7114         JvNewObjectArray.
7115         
7116 Wed Aug 19 14:12:02 1998  Warren Levy  <warrenl@cygnus.com>
7117
7118         * java/util/Vector.java: Rewritten.
7119         * java/io/Serializable.java: Created.
7120
7121 Fri Aug 14 10:31:54 1998  Tom Tromey  <tromey@cygnus.com>
7122
7123         * java/lang/Float.java (NEGATIVE_INFINITY, POSITIVE_INFINITY):
7124         Infinity is 1/0, not 1/1.
7125
7126         * boehm.cc (JvPrivAllocArray): Use GC_generic_malloc.
7127
7128         * configure: Rebuilt.
7129         * configure.in: Removed duplicate AC_ARG_WITH.
7130
7131 Thu Aug 13 14:51:47 1998  Warren Levy  <warrenl@cygnus.com>
7132
7133         * prims.cc (_Jv_ThrowBadArrayIndex): Renamed from
7134         soft_badarrayindex.
7135         (_Jv_InitClass): Renamed from soft_initialise_class.
7136         (_Jv_NewMultiArray): Renamed from soft_multianewarray.
7137         (_Jv_CheckCast): Renamed from soft_checkcast.
7138         (_Jv_LookupInterfaceMethod): Renamed from soft_lookupinterfacemethod.
7139         (_Jv_CheckArrayStore): Renamed from soft_checkarraystore.
7140         (JvRunMain): Call JvInitClass instead of soft_initialise_class.
7141         * include/cni.h (JvInitClass): New function.
7142         (_Jv_InitClass): Renamed from soft_initialise_class.
7143
7144 Wed Aug 12 10:07:04 1998  Tom Tromey  <tromey@cygnus.com>
7145
7146         * configure: Rebuilt.
7147         * configure.in (CXX): Don't set.
7148         * Makefile.in: Rebuilt.
7149         * Makefile.am (AM_CXXFLAGS): New macro.
7150
7151         * Makefile.in: Rebuilt.
7152         * Makefile.am ($(javao_files) $(nat_files) prims.o boehm.o
7153         nogc.o): New target.
7154
7155         * boehm.cc (mark_obj): Update PUSH_CONTENTS call for new Boehm
7156         GC.
7157         (mark_array): Likewise.
7158
7159 Tue Aug 11 11:44:53 1998  Per Bothner  <bothner@cygnus.com>
7160
7161         * java/lang/Class.h (JvMethod):  Removed some unused fields.
7162         (JvField.info):  Removed unused idx union variant.
7163
7164 Mon Aug 10 15:00:14 1998  Tom Tromey  <tromey@cygnus.com>
7165
7166         * prims.cc (makeUtf8Const): Mask off high bits of hash value to
7167         match compiler.
7168
7169 Mon Aug  3 16:13:54 1998  Per Bothner  <bothner@cygnus.com>
7170
7171         * configure.in, configure (CXX):  Add -fvtable-thunks.
7172
7173 Thu Jul 30 14:34:47 1998  Per Bothner  <bothner@cygnus.com>
7174
7175         * java/lang/Object.java (finalize):  Move first.
7176         * java/lang/Object.h (_JvObjectPrefix):  New dummy base class.
7177         (Object):  Re-arrange order to match Object.java.
7178
7179 Tue Jul 28 21:42:16 1998  Per Bothner  <bothner@cygnus.com>
7180
7181         * prims.cc (hashUtf8String):  Fix - use new JavaSoft specification.
7182         * java/lang/natString.cc (hashChars):  Likewise.
7183
7184         * prims.cc (RuntimeClass):  New macro.
7185         (JvRunMain):  Do soft_initialise_class of RuntimeClass before exit.
7186
7187 Mon Jul 27 22:20:10 1998  Tom Tromey  <tromey@cygnus.com>
7188
7189         * Makefile.in: Rebuilt.
7190         * Makefile.am (AM_MAKEFLAGS): New macro.
7191
7192 Fri Jul 24 11:21:24 1998  Tom Tromey  <tromey@cygnus.com>
7193
7194         * nogc.cc: Include <javaprims.h>.
7195
7196         * Makefile.in: Rebuilt.
7197         * Makefile.am (GJAVAH): gjavah no longer in java subdir.
7198
7199 Thu Jul 23 11:38:40 1998  Tom Tromey  <tromey@cygnus.com>
7200
7201         * exception.cc (terminate): Removed.
7202         (unexpected): Removed.
7203
7204         * configure: Rebuilt.
7205         * configure.in: Handle case where target subdir is ".".
7206
7207         * configure: Rebuilt.
7208         * configure.in: Compute COMPPATH based on --with-target-subdir
7209         option.  Added --with-target-subdir and --with-cross-host.  Use
7210         --with-cross-host to determine when a cross compiler is in use.
7211
7212         * Makefile.in: Rebuilt.
7213         * Makefile.am (GJAVAH): Include COMPPATH.
7214         * configure: Rebuilt.
7215         * configure.in: Subst COMPPATH.
7216
7217 Mon Jul 20 16:13:43 1998  Tom Tromey  <tromey@cygnus.com>
7218
7219         * prims.cc (lockMutex): Removed.
7220         (unlockMutex): Likewise.
7221         (processClass): Lock the class using a JvSynchronize object.
7222
7223 Fri Jul 17 11:27:48 1998  Tom Tromey  <tromey@cygnus.com>
7224
7225         * java/lang/natString.cc (gc_calloc_fixed): Removed.
7226         (gc_free_fixed): Removed.
7227         (rehash): Use JvPrivAllocBytes, not gc_calloc_fixed; don't bother
7228         freeing old value of strhash.
7229
7230         * exception.cc (_Jv_type_matcher): Cast first argument to
7231         _Jv_IsInstanceOf.
7232
7233 Thu Jul 16 14:51:44 1998  Tom Tromey  <tromey@cygnus.com>
7234
7235         * include/java-array.h (jstringArray): New type.
7236         * java/lang/natSystem.cc (setProperty): Removed.
7237         (initProperties): Directly call JvNewStringLatin1 for arguments.
7238         * java/util/natDate.cc: Include java/util/Date.h, not
7239         java-util.h.
7240         (setTime): Removed.
7241         * java/io/FileDescriptor.java (available): No longer static.
7242         * java/lang/natDouble.cc (Double): Removed class definition.
7243         * include/javaprims.h (java::lang::Number): Declare.
7244         (java::lang::NumberFormatException): Likewise.
7245         (java::io::FilenameFilter): Likewise.
7246         (java::lang::Character): Likewise.
7247         (java::lang::Error): Likewise.
7248         (java::lang::SecurityManager): Likewise.
7249         (java::util::Vector): Likewise.
7250         (java::io::FileNotFoundException): Likewise.
7251         (java::io::IOException): Likewise.
7252         (java::lang::NativeLang): Likewise.
7253         (java::lang::UnsatisfiedLinkError): Likewise.
7254         (java::util::StringTokenizer): Likewise.
7255         (java::io::InputStream, java::io::OutputStream): Likewise.
7256         (java::io::PrintStream, java::lang::SecurityException): Likewise.
7257         (java::util::Hashtable): Likewise.
7258         * Makefile.in: Rebuilt.
7259         * Makefile.am (nat_headers): Added java/lang/Double.h,
7260         java/lang/Number.h, java/lang/System.h, java/lang/Runtime.h.
7261         (MOSTLYCLEANFILES): Added nat_headers.
7262         * include/jvm.h: Moved many defines, declarations, and functions
7263         to java/lang/Class.h.
7264         (struct JvSyncInfo): Moved to java/lang/Object.h.
7265         (UTF8_GET): Moved to java/lang/String.h.
7266
7267 Wed Jul 15 09:02:31 1998  Tom Tromey  <tromey@cygnus.com>
7268
7269         * java/io/io-defs.h: Don't include java-io.h.
7270         * include/java-io.h: Removed.
7271         * include/javaprims.h: Include java::io.
7272
7273 Tue Jul 14 17:04:26 1998  Tom Tromey  <tromey@cygnus.com>
7274
7275         * include/java-io.h (File): Removed
7276         (FileDescriptor): Likewise.
7277
7278         * java/io/io-defs.h: Include java/io/File.h and
7279         java/io/FileDescriptor.h.
7280
7281         * Makefile.in: Rebuilt.
7282         * Makefile.am (GJAVAH): New macro.
7283         (.class.h): New rule.
7284         (SUFFIXES): Added .h.
7285         (nat_headers): New macro.
7286         ($(nat_headers)): New target.
7287         (BUILT_SOURCES): Added nat_headers.
7288
7289         * include/java-util.h: Removed.
7290
7291 Fri Jul  3 10:17:14 1998  Tom Tromey  <tromey@cygnus.com>
7292
7293         * include/java-io.h: Changed to avoid java-lang.h.
7294         * java/lang/natThread.cc: Include java/lang/Thread.h, not
7295         java-lang.h.
7296         * java/lang/natSystem.cc: Include java/lang/System.h, not
7297         java-lang.h.
7298         * java/lang/natString.cc: Include java/lang/String.h, not
7299         java-lang.h.
7300         * java/lang/natRuntime.cc: Include java/lang/Runtime.h, not
7301         java-lang.h.
7302         * java/lang/natClass.cc: Include java/lang/Class.h, not
7303         java-lang.h.
7304         * java/lang/natDouble.cc: Include java/lang/Object.h, not
7305         java-lang.h.
7306         * java/lang/natObject.cc: Include java/lang/Object.h, not
7307         java-lang.h.
7308         * exception.cc: Don't include java-lang.h.
7309         * posix-threads.cc: Include java/lang/Thread.h, not java-lang.h.
7310         * no-threads.cc: Include java/lang/Thread.h, not java-lang.h.
7311         * nogc.cc: Don't include java-lang.h.
7312         * boehm.cc: Include java/lang/Class.h, not java-lang.h.
7313         * prims.cc (processClass): Don't use `init_type'; just cast to
7314         type directly.
7315         Include java/lang/Class.h and jvm.h, not java-lang.h.
7316         (JvAllocObject): Wrote single-argument version.
7317         (PrimClass): Inherit from Class.
7318         (initPrimClass): Removed.
7319         * include/java-lang.h: Removed.
7320         * include/jvm.h: Declare struct _dispatchTable.
7321         * include/cni.h: Don't declare _Jv_MonitorEnter,
7322         _Jv_MonitorExit, struct _dispatchTable.
7323         * include/javaprims.h: Moved all typedefs here, from cni.h.
7324         * java/lang/Class.h: New file.
7325         * include/java-array.h: New file.
7326         * java/lang/Object.h: New file.
7327
7328         * prims.cc (classFromSig): Now static.
7329
7330 Wed Jul  1 12:28:48 1998  Tom Tromey  <tromey@cygnus.com>
7331
7332         * include/cni.h: Don't mention soft_new.
7333         * include/java-lang.h (Object): Don't mention soft_new.  Mention
7334         _Jv_NewPrimArray, not newPrimArray.
7335         * prims.cc (soft_new): Removed.
7336         (_Jv_NewArray): Renamed from soft_newarray.
7337         (soft_anewarray): Use JvNewObjectArray.
7338         (newArray): Likewise.
7339         (newRefArray): Removed.
7340         (_Jv_NewPrimArray): Renamed from newPrimArray.
7341         (equalUtf8Consts): Now static.
7342         (soft_instanceof): Removed.
7343         * java/lang/natDouble.cc (doubleToString): Now static.
7344
7345         * java/lang/natDouble.cc (java_lang_Double_doubleToLongBits,
7346         java_lang_Double_longBitsToDouble, java_lang_Double_toString):
7347         Removed.
7348
7349 Tue Jun 30 10:54:57 1998  Tom Tromey  <tromey@cygnus.com>
7350
7351         * include/java-lang.h: Renamed functions to _Jv_MonitorEnter and
7352         _Jv_MonitorExit.
7353         * include/cni.h: Renamed functions to _Jv_MonitorEnter and
7354         _Jv_MonitorExit.
7355         * include/no-threads.h (JvPrivMutexLock): Always return -1.
7356         (JvPrivMutexUnlock): Likewise.
7357         * prims.cc (_Jv_MonitorEnter): Renamed from soft_monitorenter.
7358         Return value now jint.
7359         (_Jv_MonitorExit): Renamed from soft_monitorexit.  Return value
7360         now jint.
7361
7362         * Makefile.in: Rebuilt.
7363         * Makefile.am: Don't allow `jV' names.
7364         (maintainer-check): Depend on libjava.a.
7365         * exception.cc (_Jv_eh_free): Renamed from __jV_eh_free.
7366
7367         * Makefile.in: Rebuilt.
7368         * Makefile.am (NM): New macro.
7369         (maintainer-check): New target.
7370
7371         * include/posix-threads.h (_MIT_POSIX_THREADS): Removed.
7372
7373         * configure: Rebuilt.
7374         * configure.in: Use --enable-threads, not --enable-gc.  Fix
7375         documentation for --enable-threads.  Changed option to work like
7376         identical option in gcc/configure.
7377
7378 Mon Jun 29 10:44:29 1998  Tom Tromey  <tromey@cygnus.com>
7379
7380         * boehm.cc (mark_array): Use JvGetArrayLength.
7381
7382 Thu Jun 25 11:56:21 1998  Per Bothner  <bothner@cygnus.com>
7383
7384         * exception.cc:  New file (mostly written by Andrew MacLeod),
7385         exception handling support.
7386         * Makefile.am (libjava_a_SOURCES), Makefile.in:  Add exception.cc.
7387         Remove -fexceptions - it is now the default.
7388
7389         * prims.cc (JvIsInstanceOf):  Renamed to _Jv_IsInstanceOf.
7390         (JvAllocObject):  Renamed to _Jv_AllocObject.
7391         (soft_athrow):  Removed.  Replaced by _Jv_Throw in exception.cc.
7392         (loadClass):  Renamed to _Jv_FindClass.
7393         * include/cni.h (JvIsInstanceOf, JvAllocObject).  Make into
7394         inline methods that call _Jv_IsInstanceOf and _Jv_AllocObject.
7395         * include/java-lang.h (JvGetArrayLength):  New CNI function.
7396         * include/jvm.h (_Jv_FindClass):  Added declaration.
7397
7398         * java/lang/natString.cc:  More implementation if COMPACT_STRINGS.
7399
7400 Wed Jun 24 16:41:30 1998  Per Bothner  <bothner@cygnus.com>
7401
7402         * java/lang/natClass.cc (getName):  Add implementation.
7403         * java/lang/Throwable.java (printStackTrace): Handle missing backtrace.
7404
7405 Tue Jun 23 15:56:24 1998  Tom Tromey  <tromey@cygnus.com>
7406
7407         * Makefile.in: Rebuilt.
7408         * Makefile.am (.class.o): Added -fexceptions.
7409
7410 Mon Jun 15 14:54:06 1998  Tom Tromey  <tromey@cygnus.com>
7411
7412         * configure: Rebuilt.
7413         * configure.in: Don't check for __nanosleep.
7414         * posix-threads.cc (nanosleep): Never define.
7415
7416 Sun Jun 14 22:37:23 1998  Tom Tromey  <tromey@cygnus.com>
7417
7418         * posix-threads.cc (JvPrivCondWait): Fixed computation of
7419         timespec.
7420
7421 Thu Jun 11 10:51:44 1998  Tom Tromey  <tromey@cygnus.com>
7422
7423         * java/lang/natThread.cc (enumerate): Uncommented.
7424         * java/lang/Thread.java (interrupted_): Renamed from `interrupt_'.
7425         (interrupt): Call it.
7426
7427 Wed Jun 10 15:57:16 1998  Tom Tromey  <tromey@cygnus.com>
7428
7429         * configure: Rebuilt.
7430         * configure.in (GCLIBS): Use `-lgc' so gjavac can recognize it.
7431
7432 Mon Jun  8 12:04:11 1998  Tom Tromey  <tromey@cygnus.com>
7433
7434         * include/no-threads.h (JvPrivThreadInterrupt): New method.
7435         * include/java-lang.h (Thread): Added `interrupted_' method.
7436         * java/lang/Thread.java (interrupted_): New method.
7437         * java/lang/natThread.cc (join): Possibly throw interrupted
7438         exception after join finishes.
7439         (interrupted_): New method.
7440         * posix-threads.cc (JvPrivThreadInitData): Initialize join_mutex,
7441         join_cond.
7442         (JvPrivThreadJoin): New function.
7443         (really_start): Notify all threads waiting for this thread.
7444         (struct starter): Added `data' member.
7445         (JvPrivThreadStart): Set it.
7446         * include/posix-threads.h (JvPrivThread_t): Added join_mutex,
7447         join_cond.
7448         (JvPrivThreadJoin): No longer inline.
7449         (JvPrivThreadInterrupt): New function.
7450
7451         * include/no-threads.h (JvPrivThreadSleep): Removed.
7452         * posix-threads.cc (JvPrivThreadSleep): Removed.
7453
7454 Fri Jun  5 13:51:25 1998  Tom Tromey  <tromey@cygnus.com>
7455
7456         * configure: Rebuilt.
7457         * configure.in (THREADOBJS): Initialize to no-threads.o in
7458         no-threads case.
7459         * posix-threads.cc (key): New global.
7460         (JvPrivInitThreads): New function.
7461         (really_start): Set thread-specific data to point to object.
7462         (JvPrivThreadStart): Added `daemon' argument.
7463         (JvPrivThreadSleep): Added `data' argument.
7464         * include/posix-threads.h (JvPrivInitThreads): Removed
7465         implementation.
7466         (JvPrivThreadCurrent): New function.
7467         * include/no-threads.h (JvPrivThreadInitData): Initialize
7468         JvPrivOnlyThread.  Added `thread' argument.
7469         (JvPrivThreadCurrent): New function.
7470         (JvPrivThreadStart): Added `daemon' argument.
7471         * no-threads.cc: New file.
7472         * java/lang/natThread.cc (init_data): New function.
7473         (isAlive): Removed.
7474         (start): Set `alive' member.
7475         (stop_): Clear `alive' member.
7476         (destroy): Likewise.
7477         (currentThread): Implemented.
7478         (start): Pass `daemon' argument to JvPrivThreadStart.
7479         (sleep): Rewrote.
7480         * include/java-lang.h (Thread): Added `alive', `tsync' members.
7481         (Thread): Added `init_data' method.
7482         * java/lang/Thread.java (alive, data): New instance variables.
7483         (init_data): New private method.
7484         (isAlive): No longer native.
7485
7486 Thu Jun  4 14:09:32 1998  Tom Tromey  <tromey@cygnus.com>
7487
7488         * include/java-lang.h (JvRunMain): Declare.
7489         * include/jvm.h (JvPrivInitGC): Revert to C++ linkage.
7490         * prims.cc (JvRunMain): New function.
7491         (main_signature, main_name): New globals.
7492
7493         * boehm.cc (mark_array): Use `elements' function and not
7494         operator[] on jarray.
7495
7496         * posix-threads.cc: Include <config.h>.  Define nanosleep if
7497         required.
7498
7499         * configure: Rebuilt.
7500         * configure.in: Check for _nanosleep.
7501
7502         * configure: Rebuilt.
7503         * configure.in: Check for pthread_mutexattr_settype.
7504
7505         * include/cni.h (class JvSynchronize): New class.
7506         * java/lang/Thread.java (sleep): Throws InterruptedException.
7507         (join): Throws InterruptedException.
7508         (resume): Not native.
7509         (resume_): New method.
7510         (start): Now synchronized.
7511         (stop_): New method.
7512         (Thread): Synchronize when accessing threadNumber.
7513         (misc): Removed.
7514         * java/lang/natThread.cc (throwException): New macro.
7515         (sleep): Throw InterruptedException.
7516         (resume_): Renamed.
7517         (stop_): Renamed.
7518         * include/java-lang.h (Runtime): Added interrupted().
7519
7520         * boehm.cc (call_finalizer): Correctly initialize jobj.
7521         * include/java-lang.h (Runtime): Added getRuntime() and exit().
7522
7523         * java/lang/natSystem.cc (currentTimeMillis): Use #elif, not
7524         `#elseif'.
7525
7526         * configure: Rebuilt.
7527         * configure.in: Added support for --disable-threads.
7528         * include/no-threads.h: New file.
7529
7530         * acconfig.h (HAVE_PTHREAD_MUTEXATTR_INIT): New macro.
7531
7532         * Makefile.in: Rebuilt.
7533         * Makefile.am (EXTRA_libjava_a_SOURCES): Added posix-threads.cc.
7534         (libjava_a_DEPENDENCIES): Added THREADOBJS.
7535         (libjava_a_LIBADD): Added THREADOBJS.
7536         * configure: Rebuilt.
7537         * configure.in: Added --with-threads option.
7538         * posix-threads.cc: New file.
7539         * include/posix-threads.h: New file.
7540         * include/java-lang.h (Object): Added static member sync_mutex,
7541         member sync_info, method init_mutex.
7542         (struct JvSyncInfo): New struct.
7543         Include "java-threads.h".
7544         * prims.cc (soft_monitorenter): Wrote.
7545         (soft_monitorexit): Likewise.
7546         * java/lang/natObject.cc (init_mutex): New method.
7547         (notify): Wrote.
7548         (notifyAll): Wrote.
7549         (wait): Wrote.
7550         (sync_mutex): Define.
7551         Include "java-threads.h".
7552
7553 Tue Jun  2 15:24:33 1998  Per Bothner  <bothner@cygnus.com>
7554
7555         * include/java-lang.h (JvPrivInitGC):  Make extern "C".
7556         * include/jvm.h (JvConvertArgv, JvNewObjectArray):  Likewise.
7557
7558 Mon Jun  1 11:21:34 1998  Per Bothner  <bothner@cygnus.com>
7559
7560         * include/cni.h (jbyte etc):  Re-define using __java_byte etc.
7561         Added extern "Java" in places to tell G++ Object is a "Java" type.
7562         Other minor renaming and fixes.
7563         * include/java-io.h (FileDescriptor):  Add friend class declarations.
7564         G++ no longer allows non-Java types in method parameters and results
7565         of Java classes.  Converted most offending methods to friends.
7566         * java/lang/natDouble.cc (Double::toString):  Rename to doubleToString.
7567         * java/lang/natSystem.cc (setProperty):  Make friend.
7568         * java/lang/natString.cc, include/java-lang.h (String):  Rename
7569         methods findInternSlot to __JvStringFindSlot and __JvStringGetSlot.
7570         * include/java-lang.h (JArray):  Remove getData and eoprator[].
7571         Add elements friend function instead.
7572         * java/lang/natSystem.cc (arraycopy):  Use elements function.
7573         * java/io/natFileDescriptor.cc (read, write):  Likewise.
7574         * include/java-lang.h (Object):  Remove unused make method.
7575         (System::setProperty(char*,char*)): Turn into friend function.
7576         (Class):  Rename newObject by JvAllocObject.
7577         * prims.cc:  Update to use JvAllocObject, and elements.
7578
7579         * java/lang/natDouble.cc:  Fix double -> jdouble.
7580
7581 Wed May 20 16:50:06 1998  Per Bothner  <bothner@cygnus.com>
7582
7583         * Makefile.am (INCLUDES):  Add -Iinclude (to get config.h).
7584
7585 Mon May 18 13:46:02 1998  Tom Tromey  <tromey@cygnus.com>
7586
7587         * java/lang/natRuntime.cc (finalize_on_exit): Define.
7588         * include/java-lang.h (Runtime): finalize_on_exit and
7589         runFinalizersOnExit now static.
7590         * java/lang/Runtime.java (runFinalizersOnExit): Now static, to
7591         match JDK 1.2b3.
7592         (finalize_on_exit): Now static.
7593
7594         * boehm.cc (mark_obj): Get class using getClass() method on
7595         object.
7596         (_dispatchTable): Removed.
7597
7598 Mon May 11 15:26:52 1998  Tom Tromey  <tromey@cygnus.com>
7599
7600         * java/io/natFileDescriptor.cc (open_read): Only call open if
7601         HAVE_OPEN defined.
7602         (open_write): Likewise.
7603
7604         * Makefile.in: Rebuilt.
7605         * Makefile.am ($(nat_files)): Depend on config.h.
7606
7607 Thu May  7 16:22:00 1998  Tom Tromey  <tromey@cygnus.com>
7608
7609         * prims.cc (ObjectClass): Now a macro; updated for new class name
7610         mangling scheme.
7611         (StringClass): Likewise.
7612         (ClassClass): Likewise.
7613
7614 Wed May  6 00:26:44 1998  Tom Tromey  <tromey@cygnus.com>
7615
7616         * java/io/natFileDescriptor.cc (available): Do nothing unless
7617         HAVE_SELECT defined.
7618         * java/util/natDate.cc (setTime): Conditional on
7619         HAVE_GETTIMEOFDAY.
7620         (toString): Conditional on HAVE_TIME.
7621         * aclocal.m4, configure: Rebuilt.
7622         * acinclude.m4: New file.
7623         * configure.in: Don't actually call AM_EXEEXT.  Call
7624         AC_CANONICAL_HOST.  Use LIB_AC_PROG_CC and LIB_AC_PROG_CXX.  Added
7625         --with-target-subdir option.  Check for select and open
7626         functions.
7627
7628 Tue May  5 00:10:45 1998  Tom Tromey  <tromey@cygnus.com>
7629
7630         * boehm.cc (JvPrivRegisterFinalizer): Changed interface.
7631         (call_finalizer): Likewise.
7632         * nogc.cc (JvPrivRegisterFinalizer): Changed interface.
7633         * prims.cc (newObject): Pass actual method pointer to
7634         JvPrivRegisterFinalizer.
7635         * include/jvm.h (JvPrivFinalizerFunc): New typedef.
7636         (JvPrivRegisterFinalizer): Changed interface.
7637
7638         * Makefile.in: Rebuilt.
7639         * Makefile.am (MOSTLYCLEANFILES): New macro.
7640         (CLEANFILES): Removed javao_files.
7641
7642 Fri May  1 22:52:24 1998  Tom Tromey  <tromey@cygnus.com>
7643
7644         * nogc.cc: New file.
7645         * Makefile.in: Rebuilt.
7646         * Makefile.am (INCLUDES): Use GCINCS, not paths to boehm-gc.
7647         (EXTRA_libjava_a_SOURCES): New macro.
7648         (libjava_a_SOURCES): Removed boehm.cc.
7649         (libjava_a_DEPENDENCIES): Added GCOBJS.
7650         (libjava_a_LIBADD): Likewise.
7651         * configure: Rebuilt.
7652         * configure.in: Added code for --enable-gc=TYPE.
7653
7654 Thu Apr 30 14:54:00 1998  Tom Tromey  <tromey@cygnus.com>
7655
7656         * boehm.cc (mark_array): Don't further dereference pointer from
7657         array.
7658
7659         * boehm.cc: Include <boehm-config.h>, not <private/config.h>.
7660         * Makefile.in: Rebuilt.
7661         * Makefile.am (INCLUDES): Removed -I for boehm-gc/include; added
7662         one for boehm-gc build directory.
7663
7664 Wed Apr 29 09:45:19 1998  Tom Tromey  <tromey@cygnus.com>
7665
7666         * include/java-lang.h (finalize_on_exit): New instance variable in
7667         java::lang::Runtime.
7668         (runFinalizersOnExit): New method.
7669         * java/lang/Runtime.java (finalize_on_exit): New instance
7670         variable.
7671         (runAllFinalizers_): New private method.
7672         (runFinalizersOnExit): New method.
7673         * boehm.cc (JvPrivRunFinalizers): New function.
7674         (JvPrivRunAllFinalizers): Likewise.
7675         (JvPrivRunGC): Likewise.
7676         * java/lang/natRuntime.cc: Include "jvm.h".
7677         (gc): Call JvPrivRunGC.
7678         (runFinalization): Call JvPrivRunFinalizers.
7679         (runFinalizersOnExit): New method.
7680         (exit_): Call JvPrivRunAllFinalizers if required.
7681         * include/jvm.h: Declare JvPrivRunFinalizers,
7682         JvPrivRunAllFinalizers, JvPrivRunGC.
7683
7684 Tue Apr 28 15:06:50 1998  Tom Tromey  <tromey@cygnus.com>
7685
7686         * boehm.cc (JvPrivRegisterFinalizer): New function.
7687         (call_finalizer): Likewise.
7688         * include/jvm.h: Declare JvPrivRegisterFinalizer.
7689         * prims.cc (finalize_name): New global.
7690         (newObject): Just call other newObject.
7691         (newObject): Register finalizer if it exists.
7692
7693 Mon Apr 27 12:47:03 1998  Tom Tromey  <tromey@cygnus.com>
7694
7695         * prims.cc (gc_malloc): Removed.
7696         (makeUtf8Const): Use JvPrivAllocBytes.
7697         (lookupArray): Likewise.
7698         (newPrimArray): Likewise.
7699         (JvNewObjectArray): Use JvPrivAllocArray.
7700         (newObject): Use JvPrivAllocObj.
7701         (newObject): Likewise.
7702         Changed Method -> JvMethod everywhere.
7703         Changed Field -> JvField everywhere.
7704         * include/java-lang.h (Object): Changed type of `fields' to
7705         JvField*.
7706         (jmethodID, jfieldID): New typedefs.
7707         (Object): JvGetFirstInstanceField and JvNumInstanceFields now
7708         friends.
7709         * include/jvm.h (struct JvMethod): Renamed from Method, and moved
7710         from java-lang.h.
7711         (METHOD_NATIVECODE): Moved from java-lang.h.
7712         (class JvField): New class.
7713         (JvGetFirstInstanceField): New function.
7714         (JvFieldIsRef): Likewise.
7715         (JvGetObjectField): Likewise.
7716         (JvNumInstanceFields): Likewise.
7717
7718 Thu Apr 23 16:42:11 1998  Tom Tromey  <tromey@cygnus.com>
7719
7720         * boehm.cc: New file.
7721         * Makefile.in: Rebuilt.
7722         * Makefile.am (libjava_a_SOURCES): Added boehm.cc.
7723         (INCLUDES): Added -I options to find boehm-gc files.
7724
7725 Wed Apr 29 15:11:37 1998  Tom Tromey  <tromey@cygnus.com>
7726
7727         * configure: Rebuilt.
7728         * configure.in (CXX): Put -fno-rtti here and not in CXXFLAGS.
7729
7730         * Makefile.in: Rebuilt.
7731         * Makefile.am (nat_files): New macro.
7732         (libjava_a_DEPENDENCIES): Use it.
7733         (libjava_a_LIBADD): Likewise.
7734         ($(nat_files)): New static pattern rule.
7735         (class_files): Run separate find to find .class files.
7736         (javao_files): Compute based on class_files.
7737         (BUILT_SOURCES): New macro.
7738
7739 Thu Apr 23 16:42:11 1998  Tom Tromey  <tromey@cygnus.com>
7740
7741         * Makefile.am (java_files): New macro.
7742         (class_files): Likewise.
7743         (javao_files): Likewise.
7744         (libjava_a_DEPENDENCIES): Include $(javao_files).
7745         (libjava_a_LIBADD): Likewise.
7746         (classes.stamp): Depend on $(java_files); only recompile changed
7747         files.
7748         (here): New macro.
7749         (CLEANFILES): Don't run find; use macros.  Don't mention
7750         libjava.a.
7751         (.class.o): New target.
7752         (compiled.stamp): Removed.
7753
7754 Thu Apr 23 14:17:43 1998  Per Bothner  <bothner@cygnus.com>
7755
7756         * java/io/{Reader,InputStreamReader,FileReader,BufferedReader,
7757         LineNumberReader}>java:  Newly-implemented standard classes.
7758
7759 Thu Apr 23 14:02:04 1998  Tom Tromey  <tromey@cygnus.com>
7760
7761         * Makefile.in: Rebuilt.
7762         * Makefile.am (compiled.stamp): Use $(CC), not $(GCC).
7763
7764         * Makefile.in: Rebuilt.
7765         * Makefile.am (hack): New macro.
7766         (libjava_a_LIBADD): Use $(hack) to work around automake oddity.
7767
7768 Wed Apr 22 16:49:57 1998  Tom Tromey  <tromey@cygnus.com>
7769
7770         * include/config.h.in: New file.
7771         * include/config.h: Removed.
7772         * acconfig.h: New file.
7773         * Makefile.am (AR, ARFLAGS, JAVAC, GCC, CXX, CXXFLAGS): Removed.
7774         (lib_LIBRARIES, libjava_a_SOURCES, libjava_a_DEPENDENCIES,
7775         libjava_a_LIBADD): New macros.
7776         (INCLUDES): New macro.
7777         (prims.o): Removed.
7778         (.cc.o): Removed.
7779         (SUFFIXES): Removed.
7780         (all): Removed.
7781         (libjava.a): Removed.
7782
7783         * configure: Rebuilt.
7784         * configure.in: Call AC_PROG_CC, AC_PROG_CXX, AC_PROG_RANLIB.
7785         Look for headers and functions we require.  Create
7786         include/config.h.
7787
7788 Mon Apr 20 22:25:00 1998  Per Bothner  <bothner@cygnus.com>
7789
7790         * prims.cc (instance_class, instanceof, JvIsInstanceOf, JvConvertArgv,
7791         soft_instanceof, newObject, JbNewObjectArray, soft_checkcast,
7792         soft_lookupinterfacemethod):  New functions.
7793         (PrimClass):  Actually initialize the primitive classes.
7794         (Utf8Const2JavaString):  Moved to java/lang/natString.cc.
7795
7796         * include/java-util.h:  Removed java::util definition.
7797         * include/cni.h:  Moved java::util here and added Properties.
7798         Added more function prototypes.
7799         * include/java-lang.h:  Added mroe methods and friend declarations.
7800         * include/config.h (HAVE_GETTIMEOFDAY, HAVE_TIME):  Added.
7801         * include/jvm.h (strLengthUtf8):  Add declaration.
7802         
7803         * java/lang/{Integer,Long,Boolean,Character,Float,Double}.java (TYPE):
7804         New static field.
7805         * java/lang/{Byte,Short,Void}.java:  New classes.
7806         * java/lang/Character.java (isJavaIdentifierStart,
7807         JavaIdentifierPart):  New static methods.
7808         * java/lang/Number.java (byteValue, shortValue):  New methods.
7809
7810         * java/lang/String.java (intern, hashCode):  Make native.
7811         * java/lang/natString.cc:  New file.  Handle the string pool.
7812         * Makefile.am:  Build natString.o.  Use CXXFLAGS.
7813
7814         * java/lang/Class.java (isArray, isPrimitive, getComponentType,
7815         isInstance, isAssignableFrom), java/lang/natClass.cc:  New methods.
7816         * java/lang/Throwable.java (<init>):  Don't fillInStackTrace yet.
7817         * java/lang/System.java (setProperty):  New private method.
7818         (initProperties):  Take argument, and make native.
7819         * java/lang/natSystem.cc:  Implement (preliminary) initProperties.
7820         (currentTimeMillis):  Make more robust.
7821
7822         * java/io/{Writer,PrintWriter,OutputStreamWriter}.java:  New classes.
7823         * java/io/UnsupportedEncodingException.java:  New exception class.
7824
7825         * java/io/DataInputStream.java:  Don't use a PushbackInputStream.
7826         * java/io/FilterOutputStream.java:  Add missing 'extends OutputStream'.
7827         
7828 Fri Apr 10 11:52:10 1998  Per Bothner  <bothner@cygnus.com>
7829
7830         * Makefile.am (CXXFLAGS, JC1FLAGS):  New macro.
7831         * prims.cc:  Added bunch of stuff.
7832         * include/cni.h:  Added various definitions.
7833         * include/java-lang.h:  Added Method, various friends, some macros.
7834
7835         * include/config.h:  Added HAVA_MEMMOVE and HAVE_MEMCPY.
7836         * java/lang/System.java (arraycopy):  Make native.
7837
7838 Sun Apr  5 23:58:51 1998  Per Bothner  <bothner@cygnus.com>
7839
7840         * java/lang/{netObject.cc,natClass.cc,natDouble.cc,natRuntime.cc,
7841         natSystem.cc,natThread.cc}:  Native (C++) methods for various classes.
7842         * java/lang/ClassLoader.java (defineClass):  Now takes extra argument.
7843         * java/lang/Double.java (toString, doubleToLongBits, longBitsToDouble):
7844         Make native.
7845         * java/lang/Runtime.java:  Declare methods as native instead of
7846         using NativeLang.
7847         * java/lang/SecurityManager.java (getClassContext):  Just throw Error.
7848         * java/lang/System.java:  Comment out some stuff, for now.
7849         * java/lang/Thread.java:  Re-write.  Use native methods.
7850         * java/lang/NativeLang.java:  Remove most of it.
7851         
7852         * java/util/natDate.cc:  Native (C++) methods for Date.
7853         * java/util/{Calendar.java,GregorianCalendar.java}:  New classes.
7854         * java/util/Date.java:  Complete re-write.
7855
7856         * java/io/io-defs.h:  New header file.
7857         * java/io/FileDescriptor.java:  Add a bunch of private methods,
7858         mostly moved from NativeIO.java and natNativeIO.cc.
7859         * java/io/{natFile.cc,java/io/natFileDescriptor.cc}:  New native code.
7860         * java/io/File.java:  Use new code.
7861         * java/io/{FileInputStream.java.FileOutputStream.java,
7862         RandomAccessFile.java}:  Use new private FileDescriptor methods.
7863         * java/io/NativeIO.java:  Removed, no longer used.
7864
7865         * java/io/StreamTokenizer.java (numericChars):  Make char array.
7866
7867         * include/*.h:  Various header files used by the C++ native code.
7868
7869         * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in:
7870         New autoconf+automake-based setup.
7871         * prims.cc:  New file for Java "primitives".
7872