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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-dev/] [fsf-gcc-snapshot-1-mar-12/] [or1k-gcc/] [libjava/] [ChangeLog-1998] - Diff between revs 751 and 783

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 751 Rev 783
1998-12-30  Anthony Green  
1998-12-30  Anthony Green  
        * README: Removed.
        * README: Removed.
        * LIBJAVA_LICENSE, COPYING.LIB: Created.
        * LIBJAVA_LICENSE, COPYING.LIB: Created.
1998-12-23  Tom Tromey  
1998-12-23  Tom Tromey  
        * java/io/PushbackInputStream.java (read): `off' already includes
        * java/io/PushbackInputStream.java (read): `off' already includes
        `numBytes'.
        `numBytes'.
1998-12-17  Tom Tromey  
1998-12-17  Tom Tromey  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (GCJ_canadian): Include target_alias.
        * Makefile.am (GCJ_canadian): Include target_alias.
        * java/lang/natFirstThread.cc (run): Require main's class to be
        * java/lang/natFirstThread.cc (run): Require main's class to be
        public.
        public.
1998-12-16  Tom Tromey  
1998-12-16  Tom Tromey  
        * java/util/Locale.java (JAPAN): Language is `ja', not `jp'.
        * java/util/Locale.java (JAPAN): Language is `ja', not `jp'.
        * java/util/ResourceBundle.java (getBundle): Throw
        * java/util/ResourceBundle.java (getBundle): Throw
        NullPointerException if locale argument is null.
        NullPointerException if locale argument is null.
        * java/lang/natClass.cc (forName): Throw NullPointerException if
        * java/lang/natClass.cc (forName): Throw NullPointerException if
        argument is null.
        argument is null.
        Include NullPointerException.h.
        Include NullPointerException.h.
1998-12-14  Tom Tromey  
1998-12-14  Tom Tromey  
        * java/lang/Character.java (Character): Implement Comparable.
        * java/lang/Character.java (Character): Implement Comparable.
        (compareTo): New methods.
        (compareTo): New methods.
        * java/util/Locale.java (CANADA, FRANCE, JAPAN): Now `final'.  Use
        * java/util/Locale.java (CANADA, FRANCE, JAPAN): Now `final'.  Use
        correct country and language codes.
        correct country and language codes.
        (UK, US): New constants.
        (UK, US): New constants.
        (setDefault): Language codes are lower-case.
        (setDefault): Language codes are lower-case.
        * java/lang/natClass.cc (getDeclaredConstructor): New method.
        * java/lang/natClass.cc (getDeclaredConstructor): New method.
        (getDeclaredConstructors): Likewise.
        (getDeclaredConstructors): Likewise.
        (getDeclaredField): Likewise.
        (getDeclaredField): Likewise.
        (getDeclaredFields): Likewise.
        (getDeclaredFields): Likewise.
        (getDeclaredMethod): Likewise.
        (getDeclaredMethod): Likewise.
        (getDeclaredMethods): Likewise.
        (getDeclaredMethods): Likewise.
        (getField): Likewise.
        (getField): Likewise.
        (getFields): Likewise.
        (getFields): Likewise.
        (getMethod): Likewise.
        (getMethod): Likewise.
        (getMethods): Likewise.
        (getMethods): Likewise.
        * java/lang/Class.java: Declare new methods.
        * java/lang/Class.java: Declare new methods.
        * java/lang/Class.h: Declare new methods.
        * java/lang/Class.h: Declare new methods.
        * java/lang/natString.cc: Removed `#pragma implementation'.
        * java/lang/natString.cc: Removed `#pragma implementation'.
        * include/cni.h (_Jv_GetStringChars): New function.
        * include/cni.h (_Jv_GetStringChars): New function.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (java/lang/String.h): Don't generate definition for
        * Makefile.am (java/lang/String.h): Don't generate definition for
        _Jv_GetStringChars.
        _Jv_GetStringChars.
        * java/lang/natString.cc: Added `#pragma implementation'.
        * java/lang/natString.cc: Added `#pragma implementation'.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (libjava.zip): Put build directory first in class
        * Makefile.am (libjava.zip): Put build directory first in class
        path to avoid bug in compiler.
        path to avoid bug in compiler.
1998-12-14  Anthony Green  
1998-12-14  Anthony Green  
        * java/util/Locale.java: Add CANADA, FRANCE and JAPAN.
        * java/util/Locale.java: Add CANADA, FRANCE and JAPAN.
        * include/javaprims.h: Add EventObject, ListResourceBundle and
        * include/javaprims.h: Add EventObject, ListResourceBundle and
        ResourceBundle.
        ResourceBundle.
1998-12-13  Anthony Green  
1998-12-13  Anthony Green  
        * mauve-libjava: Run the ResourceBundle tests.
        * mauve-libjava: Run the ResourceBundle tests.
        * java/lang/natClass.cc (_Jv_FindClass): Don't fail when loader is
        * java/lang/natClass.cc (_Jv_FindClass): Don't fail when loader is
        NULL.
        NULL.
Sun Dec 13 18:11:21 1998  Per Bothner  
Sun Dec 13 18:11:21 1998  Per Bothner  
        * configure.in, configure:  Make --enable-gcj-classes and
        * configure.in, configure:  Make --enable-gcj-classes and
        --enable-source-compilation the default.  (Nervously...)  Yeah!
        --enable-source-compilation the default.  (Nervously...)  Yeah!
        Based on a patch from Tom Tromey.
        Based on a patch from Tom Tromey.
1998-12-13  Tom Tromey  
1998-12-13  Tom Tromey  
        * java/util/EventObject.java: New file.
        * java/util/EventObject.java: New file.
        * java/util/EventListener.java: New file.
        * java/util/EventListener.java: New file.
        * include/javaprims.h: Updated class declarations.
        * include/javaprims.h: Updated class declarations.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added Constructor.h.
        * Makefile.am (nat_headers): Added Constructor.h.
        (java/lang/String.h): Don't inline String::length().
        (java/lang/String.h): Don't inline String::length().
        * java/lang/Class.h (getConstructor, getConstructors): Declare.
        * java/lang/Class.h (getConstructor, getConstructors): Declare.
        * java/lang/Class.java (initializeClass, hackRunInitializers,
        * java/lang/Class.java (initializeClass, hackRunInitializers,
        hackTrampoline): No need to mark `final'.
        hackTrampoline): No need to mark `final'.
        (getConstructor, getConstructors): Declare.
        (getConstructor, getConstructors): Declare.
        * java/lang/reflect/Field.java (equals): New method.
        * java/lang/reflect/Field.java (equals): New method.
        * java/lang/natClass.cc (getConstructor): New method.
        * java/lang/natClass.cc (getConstructor): New method.
        (getConstructors): Likewise.
        (getConstructors): Likewise.
        Include Method.h, Field.h, Constructor.h.
        Include Method.h, Field.h, Constructor.h.
        * java/lang/reflect/Constructor.java: New file.
        * java/lang/reflect/Constructor.java: New file.
        * java/lang/reflect/Method.java (toString): No space before open
        * java/lang/reflect/Method.java (toString): No space before open
        paren.
        paren.
        (equals): Simplified.
        (equals): Simplified.
1998-12-13  Anthony Green  
1998-12-13  Anthony Green  
        * java/util/ResourceBundle.java: New file.
        * java/util/ResourceBundle.java: New file.
        * java/util/ListResourceBundle.java: New file.
        * java/util/ListResourceBundle.java: New file.
1998-12-12  Tom Tromey  
1998-12-12  Tom Tromey  
        * java/lang/System.java (in, out, err): Now buffered streams by
        * java/lang/System.java (in, out, err): Now buffered streams by
        default.
        default.
        * include/javaprims.h: Updated class declarations.
        * include/javaprims.h: Updated class declarations.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added AccessibleObject.h, Method.h,
        * Makefile.am (nat_headers): Added AccessibleObject.h, Method.h,
        InvocationTargetException.h, Void.h, Byte.h, Short.h, Integer.h,
        InvocationTargetException.h, Void.h, Byte.h, Short.h, Integer.h,
        Long.h, Boolean.h.
        Long.h, Boolean.h.
        (nat_files): Added natMethod.o.
        (nat_files): Added natMethod.o.
        * java/lang/reflect/natMethod.cc: New file.
        * java/lang/reflect/natMethod.cc: New file.
        * java/lang/reflect/Field.java (Field): Now extends
        * java/lang/reflect/Field.java (Field): Now extends
        AccessibleObject.
        AccessibleObject.
        * java/lang/reflect/AccessibleObject.java: New file.
        * java/lang/reflect/AccessibleObject.java: New file.
        * java/lang/reflect/InvocationTargetException.java: New file.
        * java/lang/reflect/InvocationTargetException.java: New file.
1998-12-11  Tom Tromey  
1998-12-11  Tom Tromey  
        * boehm.cc, prims.cc, include/jvm.h, java/lang/Class.h,
        * boehm.cc, prims.cc, include/jvm.h, java/lang/Class.h,
        java/lang/Object.h, java/lang/natClass.cc, java/lang/natObject.cc:
        java/lang/Object.h, java/lang/natClass.cc, java/lang/natObject.cc:
        Renamed dtable -> vtable and _Jv_DispatchTable -> _Jv_VTable.
        Renamed dtable -> vtable and _Jv_DispatchTable -> _Jv_VTable.
        * java/io/OutputStreamWriter.java (buffer): Size at 8192 bytes.
        * java/io/OutputStreamWriter.java (buffer): Size at 8192 bytes.
1998-12-09  Tom Tromey  
1998-12-09  Tom Tromey  
        * java/util/natDate.cc (_POSIX_THREAD_SEMANTICS): Define if
        * java/util/natDate.cc (_POSIX_THREAD_SEMANTICS): Define if
        HAVE_CTIME_R.
        HAVE_CTIME_R.
        * java/lang/natCharacter.cc (toTitleCase): Handle case where
        * java/lang/natCharacter.cc (toTitleCase): Handle case where
        character is already titlecase.
        character is already titlecase.
        * java/lang/Character.java (isJavaLetter): Follow spec.
        * java/lang/Character.java (isJavaLetter): Follow spec.
        (isJavaLetterOrDigit): Likewise.
        (isJavaLetterOrDigit): Likewise.
        * java/util/GregorianCalendar.java (gregorianCutover): Append
        * java/util/GregorianCalendar.java (gregorianCutover): Append
        `L'.
        `L'.
        * java/lang/Character.java (isWhitespace): Use \r and not \u000d.
        * java/lang/Character.java (isWhitespace): Use \r and not \u000d.
1998-12-08  Tom Tromey  
1998-12-08  Tom Tromey  
        * java/lang/reflect/Modifier.java (toString): Replace second
        * java/lang/reflect/Modifier.java (toString): Replace second
        `static' with `synchronized'.
        `static' with `synchronized'.
        * java/lang/natObject.cc (_Jv_FinalizeObject): Call hack12_6.
        * java/lang/natObject.cc (_Jv_FinalizeObject): Call hack12_6.
        * java/lang/Object.h (Object::hack12_6): Declare.
        * java/lang/Object.h (Object::hack12_6): Declare.
        * java/lang/Object.java (hack12_6): New function.
        * java/lang/Object.java (hack12_6): New function.
1998-12-07  Tom Tromey  
1998-12-07  Tom Tromey  
        * include/java-array.h (__JArray::clone): Removed decl.
        * include/java-array.h (__JArray::clone): Removed decl.
        * prims.cc (__JArray::clone): Removed.
        * prims.cc (__JArray::clone): Removed.
        * java/lang/natObject.cc (clone): Incorporate code to clone an
        * java/lang/natObject.cc (clone): Incorporate code to clone an
        array.
        array.
        * java/lang/natClass.cc (_Jv_NewClass): Set class loader.
        * java/lang/natClass.cc (_Jv_NewClass): Set class loader.
        (_Jv_FindArrayClass): Set dtable_method_count on new class.
        (_Jv_FindArrayClass): Set dtable_method_count on new class.
        Correctly use dtable_method_count.
        Correctly use dtable_method_count.
1998-12-07  Andrew Haley  
1998-12-07  Andrew Haley  
        * java/lang/Double.java (isInfinite, isNaN): Handle correct
        * java/lang/Double.java (isInfinite, isNaN): Handle correct
        IEEE754 values.
        IEEE754 values.
1998-12-06  Anthony Green  
1998-12-06  Anthony Green  
        * mauve-libjava: Don't test ResourceBundle.
        * mauve-libjava: Don't test ResourceBundle.
1998-12-04  Tom Tromey  
1998-12-04  Tom Tromey  
        More JDK 1.2 spec fixes:
        More JDK 1.2 spec fixes:
        * java/util/Date.java (millis): Now private.
        * java/util/Date.java (millis): Now private.
        * java/text/DateFormat.java (DateFormat): Constructor now
        * java/text/DateFormat.java (DateFormat): Constructor now
        protected.
        protected.
        * java/lang/Void.java (Void): New private constructor.
        * java/lang/Void.java (Void): New private constructor.
        * java/lang/System.java (System): New private constructor.
        * java/lang/System.java (System): New private constructor.
        * java/lang/SecurityManager.java (classLoaderDepth): Uncommented
        * java/lang/SecurityManager.java (classLoaderDepth): Uncommented
        body.
        body.
        (currentClassLoader): New method.
        (currentClassLoader): New method.
        (currentLoadedClass): New method.
        (currentLoadedClass): New method.
        * java/lang/Math.java (Math): New private constructor.
        * java/lang/Math.java (Math): New private constructor.
        * java/lang/Compiler.java (Compiler): New private constructor.
        * java/lang/Compiler.java (Compiler): New private constructor.
        * java/lang/Class.java (Class): New private constructor.
        * java/lang/Class.java (Class): New private constructor.
        * java/lang/Double.java (toString): Removed access specifier from
        * java/lang/Double.java (toString): Removed access specifier from
        two-argument `toString' method.
        two-argument `toString' method.
1998-12-04  Andrew Haley  
1998-12-04  Andrew Haley  
        * java/lang/s_rint.c (rint): Make the variable w volatile; this
        * java/lang/s_rint.c (rint): Make the variable w volatile; this
        causes it to be flushed from an fp register (where it may be
        causes it to be flushed from an fp register (where it may be
        longer than double precision) to a double in memory.  This is
        longer than double precision) to a double in memory.  This is
        essential to ensure correct rounding behaviour.
        essential to ensure correct rounding behaviour.
1998-12-04  Tom Tromey  
1998-12-04  Tom Tromey  
        * include/java-assert.h (_Jv_Abort): Declare as `noreturn'
        * include/java-assert.h (_Jv_Abort): Declare as `noreturn'
        function.
        function.
        * java/lang/Character.java (isIdentifierIgnorable): Added comment
        * java/lang/Character.java (isIdentifierIgnorable): Added comment
        explaining apparent divergence from JDK 1.2.
        explaining apparent divergence from JDK 1.2.
1998-12-04  Per Bothner  
1998-12-04  Per Bothner  
        * include/no-threads.h:  Remove unused parameter names.
        * include/no-threads.h:  Remove unused parameter names.
        This silences a bunch of warnings.
        This silences a bunch of warnings.
1998-12-04  Tom Tromey  
1998-12-04  Tom Tromey  
        * include/config.h.in: Rebuilt.
        * include/config.h.in: Rebuilt.
        * acconfig.h (HAVE_CTIME_R): New symbol.
        * acconfig.h (HAVE_CTIME_R): New symbol.
1998-12-03  Tom Tromey  
1998-12-03  Tom Tromey  
        * mauve-libjava: Added many more categories to reject.
        * mauve-libjava: Added many more categories to reject.
        Changes to follow JDK1.2 spec:
        Changes to follow JDK1.2 spec:
        * java/lang/System.java (arraycopy, init_properties, checkSetIO,
        * java/lang/System.java (arraycopy, init_properties, checkSetIO,
        setErr, setIn, setOut): No need to be `final'.
        setErr, setIn, setOut): No need to be `final'.
        * java/lang/natObject.cc (wait): `nanos' argument is an int.
        * java/lang/natObject.cc (wait): `nanos' argument is an int.
        * java/lang/Object.h (Object::wait): `nanos' argument is an int.
        * java/lang/Object.h (Object::wait): `nanos' argument is an int.
        * java/lang/Object.java (wait): `nanos' argument is an int.
        * java/lang/Object.java (wait): `nanos' argument is an int.
        * java/lang/VirtualMachineError.java: Class is abstract.
        * java/lang/VirtualMachineError.java: Class is abstract.
        * java/lang/ThreadDeath.java: Made constructors public.
        * java/lang/ThreadDeath.java: Made constructors public.
        * java/io/FileDescriptor.java (FileDescriptor): Added missing
        * java/io/FileDescriptor.java (FileDescriptor): Added missing
        constructor.
        constructor.
Thu Dec  3 20:29:38 1998  Warren Levy  
Thu Dec  3 20:29:38 1998  Warren Levy  
        * java/text/DateFormatSymbols.java (getAmPmStrings,
        * java/text/DateFormatSymbols.java (getAmPmStrings,
        getLocalPatternChars, setShortWeekdays): Fixed typos in method names.
        getLocalPatternChars, setShortWeekdays): Fixed typos in method names.
Thu Dec  3 19:21:53 1998  Warren Levy  
Thu Dec  3 19:21:53 1998  Warren Levy  
        * java/io/RandomAccessFile.java (writeInt, writeLong, writeFloat,
        * java/io/RandomAccessFile.java (writeInt, writeLong, writeFloat,
        writeDouble, writeByte, writeBytes, writeChar, writeChars,
        writeDouble, writeByte, writeBytes, writeChar, writeChars,
        writeShort, writeUTF): Added 'final' to signature to match JDK 1.1
        writeShort, writeUTF): Added 'final' to signature to match JDK 1.1
        and 1.2.
        and 1.2.
        * java/lang/IllegalThreadStateException.java
        * java/lang/IllegalThreadStateException.java
        (IllegalThreadStateException): Changed extending class to match spec.
        (IllegalThreadStateException): Changed extending class to match spec.
        * java/lang/NumberFormatException.java
        * java/lang/NumberFormatException.java
        (java/lang/NumberFormatException): Changed extending class to match
        (java/lang/NumberFormatException): Changed extending class to match
        spec.
        spec.
        * java/util/Observer.java (Observer): Changed sig to match JCL.
        * java/util/Observer.java (Observer): Changed sig to match JCL.
Thu Dec  3 19:05:26 1998  Warren Levy  
Thu Dec  3 19:05:26 1998  Warren Levy  
        * java/io/DataOutputStream.java (writeInt, writeLong, writeFloat,
        * java/io/DataOutputStream.java (writeInt, writeLong, writeFloat,
        writeDouble, writeBytes, writeChars, writeUTF): Added 'final' to
        writeDouble, writeBytes, writeChars, writeUTF): Added 'final' to
        signature to match JDK 1.1 and 1.2.
        signature to match JDK 1.1 and 1.2.
Thu Dec  3 16:47:42 1998  Warren Levy  
Thu Dec  3 16:47:42 1998  Warren Levy  
        * Makefile.am: Changed to use $(PERL) rather than hardcoded 'perl'.
        * Makefile.am: Changed to use $(PERL) rather than hardcoded 'perl'.
        * configure.in (PERL): Added AC_CHECK_PROGS to look for installed perl.
        * configure.in (PERL): Added AC_CHECK_PROGS to look for installed perl.
        * Makefile.in, configure: Rebuilt.
        * Makefile.in, configure: Rebuilt.
        * java/text/ParsePosition.java (setErrorIndex): Fixed typo in method
        * java/text/ParsePosition.java (setErrorIndex): Fixed typo in method
        name.
        name.
1998-12-02  Tom Tromey  
1998-12-02  Tom Tromey  
        * mauve-libjava: New file.
        * mauve-libjava: New file.
        The remaining `-W -Wall' fixes:
        The remaining `-W -Wall' fixes:
        * java/lang/e_sqrt.c (__ieee754_sqrt): Added cast to unsigned to
        * java/lang/e_sqrt.c (__ieee754_sqrt): Added cast to unsigned to
        avoid warning.
        avoid warning.
        * java/lang/s_scalbn.c (scalbn): Added braces to avoid ambiguous
        * java/lang/s_scalbn.c (scalbn): Added braces to avoid ambiguous
        `else'.
        `else'.
        * java/lang/s_floor.c (floor): Added cast to unsigned to avoid
        * java/lang/s_floor.c (floor): Added cast to unsigned to avoid
        warning.
        warning.
        * java/lang/e_pow.c (__ieee754_pow): Added cast to unsigned to
        * java/lang/e_pow.c (__ieee754_pow): Added cast to unsigned to
        avoid warning.
        avoid warning.
        * java/lang/e_log.c (__ieee754_log): Added braces to avoid
        * java/lang/e_log.c (__ieee754_log): Added braces to avoid
        ambiguous `else'.
        ambiguous `else'.
        * java/lang/s_ceil.c (ceil): Cast `i1' to unsigned to avoid
        * java/lang/s_ceil.c (ceil): Cast `i1' to unsigned to avoid
        warning.
        warning.
        * java/lang/e_atan2.c (__ieee754_atan2): Added parentheses per gcc
        * java/lang/e_atan2.c (__ieee754_atan2): Added parentheses per gcc
        suggestion.
        suggestion.
        * java/lang/strtod.c (_strtod_r): Added parentheses per gcc
        * java/lang/strtod.c (_strtod_r): Added parentheses per gcc
        suggestion.
        suggestion.
        * java/lang/mprec.c (Balloc): Removed unused variable.
        * java/lang/mprec.c (Balloc): Removed unused variable.
        (mult): Added parentheses per gcc suggestion.
        (mult): Added parentheses per gcc suggestion.
        (pow5mult): Likewise.
        (pow5mult): Likewise.
        (lshift): Likewise.
        (lshift): Likewise.
        (ulp): Likewise.
        (ulp): Likewise.
        (b2d): Likewise.
        (b2d): Likewise.
        (d2b): Likewise.
        (d2b): Likewise.
        * java/lang/dtoa.c (_dtoa_r): Added some parentheses per gcc
        * java/lang/dtoa.c (_dtoa_r): Added some parentheses per gcc
        suggestion.  Added cast to `int' to avoid signed/unsigned
        suggestion.  Added cast to `int' to avoid signed/unsigned
        comparison.
        comparison.
        * jni.cc (_Jv_JNI_GetSuperclass): Removed name of unused
        * jni.cc (_Jv_JNI_GetSuperclass): Removed name of unused
        parameter.
        parameter.
        (IsAssignableFrom): Likewise.
        (IsAssignableFrom): Likewise.
        (_Jv_JNI_GetObjectField): Likewise.
        (_Jv_JNI_GetObjectField): Likewise.
        (_Jv_JNI_GetByteField): Likewise.
        (_Jv_JNI_GetByteField): Likewise.
        (_Jv_JNI_GetShortField): Likewise.
        (_Jv_JNI_GetShortField): Likewise.
        (_Jv_JNI_GetIntField): Likewise.
        (_Jv_JNI_GetIntField): Likewise.
        (_Jv_JNI_GetLongField): Likewise.
        (_Jv_JNI_GetLongField): Likewise.
        (_Jv_JNI_GetStringLength): Likewise.
        (_Jv_JNI_GetStringLength): Likewise.
        (_Jv_JNI_ToReflectedField): Likewise.
        (_Jv_JNI_ToReflectedField): Likewise.
        (_Jv_JNI_FromReflectedField): Likewise.
        (_Jv_JNI_FromReflectedField): Likewise.
        (_Jv_JNIFunctions): Uncommented IsAssignableFrom.
        (_Jv_JNIFunctions): Uncommented IsAssignableFrom.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (AM_CFLAGS): Define conditionally.
        * Makefile.am (AM_CFLAGS): Define conditionally.
        (WARNINGS): New macro.
        (WARNINGS): New macro.
        (AM_CXXFLAGS): Include WARNINGS.
        (AM_CXXFLAGS): Include WARNINGS.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in (USING_GCC): New conditional.
        * configure.in (USING_GCC): New conditional.
        * prims.cc (_Jv_Abort): Declare twice, to avoid warnings.
        * prims.cc (_Jv_Abort): Declare twice, to avoid warnings.
        * java/lang/Character.java: Changed classification constants to
        * java/lang/Character.java: Changed classification constants to
        type `byte' to match JDK 1.2 docs.
        type `byte' to match JDK 1.2 docs.
1998-12-01  Tom Tromey  
1998-12-01  Tom Tromey  
        Some fixes to be `-W -Wall' clean:
        Some fixes to be `-W -Wall' clean:
        * boehm.cc (_Jv_MarkObj): Removed name of unused parameter.
        * boehm.cc (_Jv_MarkObj): Removed name of unused parameter.
        (_Jv_MarkArray): Likewise.
        (_Jv_MarkArray): Likewise.
        * java/lang/natCharacter.cc (to_lower_title): `i' is unsigned.
        * java/lang/natCharacter.cc (to_lower_title): `i' is unsigned.
        (to_upper_title): Likewise.
        (to_upper_title): Likewise.
        (isTitleCase): Likewise.
        (isTitleCase): Likewise.
        (toTitleCase): Likewise.
        (toTitleCase): Likewise.
        (getNumericValue): Likewise.
        (getNumericValue): Likewise.
        (isLowerCase): Likewise.
        (isLowerCase): Likewise.
        * java/lang/natString.cc (charAt): Don't cast `i' to unsigned
        * java/lang/natString.cc (charAt): Don't cast `i' to unsigned
        (avoids compiler warning).
        (avoids compiler warning).
        * java/lang/natClass.cc (getDeclaredClasses): Always return a
        * java/lang/natClass.cc (getDeclaredClasses): Always return a
        value.
        value.
        (getDeclaringClass): Likewise.
        (getDeclaringClass): Likewise.
        (_Jv_LookupInterfaceMethod): Likewise.
        (_Jv_LookupInterfaceMethod): Likewise.
        (_Jv_NewClass): Removed name of unused parameter.
        (_Jv_NewClass): Removed name of unused parameter.
        * exception.cc (_Jv_type_matcher): Removed unused variable.
        * exception.cc (_Jv_type_matcher): Removed unused variable.
        (_Jv_setup_eh_info): Removed name of unused parameter.
        (_Jv_setup_eh_info): Removed name of unused parameter.
        * prims.cc (_Jv_NewArray): Always return a value.
        * prims.cc (_Jv_NewArray): Always return a value.
        (_Jv_FindClassFromSignature): Likewise.
        (_Jv_FindClassFromSignature): Likewise.
        * include/java-field.h (getNameUtf8Const): Removed name of unused
        * include/java-field.h (getNameUtf8Const): Removed name of unused
        parameter.
        parameter.
        * include/quick-threads.h (_Jv_ThreadInitData): Removed name of
        * include/quick-threads.h (_Jv_ThreadInitData): Removed name of
        unused parameter.
        unused parameter.
        (_Jv_ThreadSetPriority): Likewise.
        (_Jv_ThreadSetPriority): Likewise.
        * java/lang/natString.cc (hashChars): Now static.
        * java/lang/natString.cc (hashChars): Now static.
        * java/lang/FirstThread.java (FirstThread): Now final.
        * java/lang/FirstThread.java (FirstThread): Now final.
        * java/io/File.java (performMkdir, performRenameTo): Now private.
        * java/io/File.java (performMkdir, performRenameTo): Now private.
        * java/lang/natSystem.cc (currentTimeMillis): Return a value even
        * java/lang/natSystem.cc (currentTimeMillis): Return a value even
        if no time function defined.
        if no time function defined.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Look for ctime_r, ctime.
        * configure.in: Look for ctime_r, ctime.
        * java/util/Date.java (toString): Now native.
        * java/util/Date.java (toString): Now native.
        * java/util/natDate.cc (toString): Rewrote.
        * java/util/natDate.cc (toString): Rewrote.
1998-11-27  Andrew Haley  
1998-11-27  Andrew Haley  
        * Add LDFLAGS line to allow TX39 test cases to link when cross
        * Add LDFLAGS line to allow TX39 test cases to link when cross
        compiling.
        compiling.
1998-11-23  Anthony Green  
1998-11-23  Anthony Green  
        * boehm.cc, chartables.pl, classes.pl, exception.cc, jni.cc,
        * boehm.cc, chartables.pl, classes.pl, exception.cc, jni.cc,
        no-threads.cc, nogc.cc, posix-threads.cc, prims.cc,
        no-threads.cc, nogc.cc, posix-threads.cc, prims.cc,
        quick-threads.cc, include/boehm-gc.h, include/cni.h,
        quick-threads.cc, include/boehm-gc.h, include/cni.h,
        include/java-array.h, include/java-assert.h, include/java-field.h,
        include/java-array.h, include/java-assert.h, include/java-field.h,
        include/javaprims.h, include/jni.h, include/jvm.h,
        include/javaprims.h, include/jni.h, include/jvm.h,
        include/no-gc.h, include/no-threads.h, include/posix-threads.h,
        include/no-gc.h, include/no-threads.h, include/posix-threads.h,
        include/quick-threads.h, java/io/BufferedInputStream.java,
        include/quick-threads.h, java/io/BufferedInputStream.java,
        java/io/BufferedOutputStream.java, java/io/BufferedReader.java,
        java/io/BufferedOutputStream.java, java/io/BufferedReader.java,
        java/io/BufferedWriter.java, java/io/ByteArrayInputStream.java,
        java/io/BufferedWriter.java, java/io/ByteArrayInputStream.java,
        java/io/ByteArrayOutputStream.java, java/io/CharArrayReader.java,
        java/io/ByteArrayOutputStream.java, java/io/CharArrayReader.java,
        java/io/CharArrayWriter.java,
        java/io/CharArrayWriter.java,
        java/io/CharConversionException.java, java/io/DataInput.java,
        java/io/CharConversionException.java, java/io/DataInput.java,
        java/io/DataInputStream.java, java/io/DataOutput.java,
        java/io/DataInputStream.java, java/io/DataOutput.java,
        java/io/DataOutputStream.java, java/io/EOFException.java,
        java/io/DataOutputStream.java, java/io/EOFException.java,
        java/io/File.java, java/io/FileDescriptor.java,
        java/io/File.java, java/io/FileDescriptor.java,
        java/io/FileInputStream.java, java/io/FileNotFoundException.java,
        java/io/FileInputStream.java, java/io/FileNotFoundException.java,
        java/io/FileOutputStream.java, java/io/FileReader.java,
        java/io/FileOutputStream.java, java/io/FileReader.java,
        java/io/FileWriter.java, java/io/FilenameFilter.java,
        java/io/FileWriter.java, java/io/FilenameFilter.java,
        java/io/FilterInputStream.java, java/io/FilterOutputStream.java,
        java/io/FilterInputStream.java, java/io/FilterOutputStream.java,
        java/io/FilterReader.java, java/io/FilterWriter.java,
        java/io/FilterReader.java, java/io/FilterWriter.java,
        java/io/IOException.java, java/io/InputStream.java,
        java/io/IOException.java, java/io/InputStream.java,
        java/io/InputStreamReader.java,
        java/io/InputStreamReader.java,
        java/io/InterruptedIOException.java,
        java/io/InterruptedIOException.java,
        java/io/LineNumberInputStream.java, java/io/LineNumberReader.java,
        java/io/LineNumberInputStream.java, java/io/LineNumberReader.java,
        java/io/OutputStream.java, java/io/OutputStreamWriter.java,
        java/io/OutputStream.java, java/io/OutputStreamWriter.java,
        java/io/PipedInputStream.java, java/io/PipedOutputStream.java,
        java/io/PipedInputStream.java, java/io/PipedOutputStream.java,
        java/io/PipedReader.java, java/io/PipedWriter.java,
        java/io/PipedReader.java, java/io/PipedWriter.java,
        java/io/PrintStream.java, java/io/PrintWriter.java,
        java/io/PrintStream.java, java/io/PrintWriter.java,
        java/io/PushbackInputStream.java, java/io/PushbackReader.java,
        java/io/PushbackInputStream.java, java/io/PushbackReader.java,
        java/io/RandomAccessFile.java, java/io/Reader.java,
        java/io/RandomAccessFile.java, java/io/Reader.java,
        java/io/SequenceInputStream.java, java/io/Serializable.java,
        java/io/SequenceInputStream.java, java/io/Serializable.java,
        java/io/StreamTokenizer.java,
        java/io/StreamTokenizer.java,
        java/io/StringBufferInputStream.java, java/io/StringReader.java,
        java/io/StringBufferInputStream.java, java/io/StringReader.java,
        java/io/StringWriter.java, java/io/SyncFailedException.java,
        java/io/StringWriter.java, java/io/SyncFailedException.java,
        java/io/UTFDataFormatException.java,
        java/io/UTFDataFormatException.java,
        java/io/UnsupportedEncodingException.java, java/io/Writer.java,
        java/io/UnsupportedEncodingException.java, java/io/Writer.java,
        java/io/natFile.cc, java/io/natFileDescriptorEcos.cc,
        java/io/natFile.cc, java/io/natFileDescriptorEcos.cc,
        java/io/natFileDescriptorPosix.cc,
        java/io/natFileDescriptorPosix.cc,
        java/lang/AbstractMethodError.java,
        java/lang/AbstractMethodError.java,
        java/lang/ArithmeticException.java,
        java/lang/ArithmeticException.java,
        java/lang/ArrayIndexOutOfBoundsException.java,
        java/lang/ArrayIndexOutOfBoundsException.java,
        java/lang/ArrayStoreException.java, java/lang/Boolean.java,
        java/lang/ArrayStoreException.java, java/lang/Boolean.java,
        java/lang/Byte.java, java/lang/Character.java, java/lang/Class.h,
        java/lang/Byte.java, java/lang/Character.java, java/lang/Class.h,
        java/lang/Class.java, java/lang/ClassCastException.java,
        java/lang/Class.java, java/lang/ClassCastException.java,
        java/lang/ClassCircularityError.java,
        java/lang/ClassCircularityError.java,
        java/lang/ClassFormatError.java, java/lang/ClassLoader.java,
        java/lang/ClassFormatError.java, java/lang/ClassLoader.java,
        java/lang/ClassNotFoundException.java,
        java/lang/ClassNotFoundException.java,
        java/lang/CloneNotSupportedException.java,
        java/lang/CloneNotSupportedException.java,
        java/lang/Cloneable.java, java/lang/Comparable.java,
        java/lang/Cloneable.java, java/lang/Comparable.java,
        java/lang/Compiler.java, java/lang/Double.java,
        java/lang/Compiler.java, java/lang/Double.java,
        java/lang/Error.java, java/lang/Exception.java,
        java/lang/Error.java, java/lang/Exception.java,
        java/lang/ExceptionInInitializerError.java,
        java/lang/ExceptionInInitializerError.java,
        java/lang/FirstThread.java, java/lang/Float.java,
        java/lang/FirstThread.java, java/lang/Float.java,
        java/lang/IllegalAccessError.java,
        java/lang/IllegalAccessError.java,
        java/lang/IllegalAccessException.java,
        java/lang/IllegalAccessException.java,
        java/lang/IllegalArgumentException.java,
        java/lang/IllegalArgumentException.java,
        java/lang/IllegalMonitorStateException.java,
        java/lang/IllegalMonitorStateException.java,
        java/lang/IllegalStateException.java,
        java/lang/IllegalStateException.java,
        java/lang/IllegalThreadStateException.java,
        java/lang/IllegalThreadStateException.java,
        java/lang/IncompatibleClassChangeError.java,
        java/lang/IncompatibleClassChangeError.java,
        java/lang/IndexOutOfBoundsException.java,
        java/lang/IndexOutOfBoundsException.java,
        java/lang/InstantiationError.java,
        java/lang/InstantiationError.java,
        java/lang/InstantiationException.java, java/lang/Integer.java,
        java/lang/InstantiationException.java, java/lang/Integer.java,
        java/lang/InternalError.java, java/lang/InterruptedException.java,
        java/lang/InternalError.java, java/lang/InterruptedException.java,
        java/lang/LinkageError.java, java/lang/Long.java,
        java/lang/LinkageError.java, java/lang/Long.java,
        java/lang/Math.java, java/lang/NegativeArraySizeException.java,
        java/lang/Math.java, java/lang/NegativeArraySizeException.java,
        java/lang/NoClassDefFoundError.java,
        java/lang/NoClassDefFoundError.java,
        java/lang/NoSuchFieldError.java,
        java/lang/NoSuchFieldError.java,
        java/lang/NoSuchFieldException.java,
        java/lang/NoSuchFieldException.java,
        java/lang/NoSuchMethodError.java,
        java/lang/NoSuchMethodError.java,
        java/lang/NoSuchMethodException.java,
        java/lang/NoSuchMethodException.java,
        java/lang/NullPointerException.java, java/lang/Number.java,
        java/lang/NullPointerException.java, java/lang/Number.java,
        java/lang/NumberFormatException.java, java/lang/Object.h,
        java/lang/NumberFormatException.java, java/lang/Object.h,
        java/lang/Object.java, java/lang/OutOfMemoryError.java,
        java/lang/Object.java, java/lang/OutOfMemoryError.java,
        java/lang/Process.java, java/lang/Runnable.java,
        java/lang/Process.java, java/lang/Runnable.java,
        java/lang/Runtime.java, java/lang/RuntimeException.java,
        java/lang/Runtime.java, java/lang/RuntimeException.java,
        java/lang/SecurityException.java, java/lang/SecurityManager.java,
        java/lang/SecurityException.java, java/lang/SecurityManager.java,
        java/lang/Short.java, java/lang/StackOverflowError.java,
        java/lang/Short.java, java/lang/StackOverflowError.java,
        java/lang/String.java, java/lang/StringBuffer.java,
        java/lang/String.java, java/lang/StringBuffer.java,
        java/lang/StringIndexOutOfBoundsException.java,
        java/lang/StringIndexOutOfBoundsException.java,
        java/lang/System.java, java/lang/Thread.java,
        java/lang/System.java, java/lang/Thread.java,
        java/lang/ThreadDeath.java, java/lang/ThreadGroup.java,
        java/lang/ThreadDeath.java, java/lang/ThreadGroup.java,
        java/lang/Throwable.java, java/lang/UnknownError.java,
        java/lang/Throwable.java, java/lang/UnknownError.java,
        java/lang/UnsatisfiedLinkError.java,
        java/lang/UnsatisfiedLinkError.java,
        java/lang/UnsupportedOperationException.java,
        java/lang/UnsupportedOperationException.java,
        java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
        java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
        java/lang/Void.java, java/lang/natCharacter.cc,
        java/lang/Void.java, java/lang/natCharacter.cc,
        java/lang/natClass.cc, java/lang/natDouble.cc,
        java/lang/natClass.cc, java/lang/natDouble.cc,
        java/lang/natFirstThread.cc, java/lang/natFloat.cc,
        java/lang/natFirstThread.cc, java/lang/natFloat.cc,
        java/lang/natMath.cc, java/lang/natObject.cc,
        java/lang/natMath.cc, java/lang/natObject.cc,
        java/lang/natRuntime.cc, java/lang/natString.cc,
        java/lang/natRuntime.cc, java/lang/natString.cc,
        java/lang/natSystem.cc, java/lang/natThread.cc,
        java/lang/natSystem.cc, java/lang/natThread.cc,
        java/lang/reflect/Field.java, java/lang/reflect/Member.java,
        java/lang/reflect/Field.java, java/lang/reflect/Member.java,
        java/lang/reflect/Modifier.java, java/lang/reflect/natField.cc,
        java/lang/reflect/Modifier.java, java/lang/reflect/natField.cc,
        java/text/DateFormat.java, java/text/DateFormatSymbols.java,
        java/text/DateFormat.java, java/text/DateFormatSymbols.java,
        java/text/FieldPosition.java, java/text/Format.java,
        java/text/FieldPosition.java, java/text/Format.java,
        java/text/NumberFormat.java, java/text/ParseException.java,
        java/text/NumberFormat.java, java/text/ParseException.java,
        java/text/ParsePosition.java, java/text/SimpleDateFormat.java,
        java/text/ParsePosition.java, java/text/SimpleDateFormat.java,
        java/util/BitSet.java, java/util/Calendar.java,
        java/util/BitSet.java, java/util/Calendar.java,
        java/util/ConcurrentModificationException.java,
        java/util/ConcurrentModificationException.java,
        java/util/Date.java, java/util/Dictionary.java,
        java/util/Date.java, java/util/Dictionary.java,
        java/util/EmptyStackException.java, java/util/Enumeration.java,
        java/util/EmptyStackException.java, java/util/Enumeration.java,
        java/util/GregorianCalendar.java, java/util/Hashtable.java,
        java/util/GregorianCalendar.java, java/util/Hashtable.java,
        java/util/Locale.java, java/util/MissingResourceException.java,
        java/util/Locale.java, java/util/MissingResourceException.java,
        java/util/NoSuchElementException.java, java/util/Observable.java,
        java/util/NoSuchElementException.java, java/util/Observable.java,
        java/util/Observer.java, java/util/Properties.java,
        java/util/Observer.java, java/util/Properties.java,
        java/util/Random.java, java/util/SimpleTimeZone.java,
        java/util/Random.java, java/util/SimpleTimeZone.java,
        java/util/Stack.java, java/util/StringTokenizer.java,
        java/util/Stack.java, java/util/StringTokenizer.java,
        java/util/TimeZone.java, java/util/TooManyListenersException.java,
        java/util/TimeZone.java, java/util/TooManyListenersException.java,
        java/util/Vector.java, java/util/natGregorianCalendar.cc:  Updated
        java/util/Vector.java, java/util/natGregorianCalendar.cc:  Updated
        copyright notices.
        copyright notices.
        * exception.cc: Include eh-common.h instead of duplicating
        * exception.cc: Include eh-common.h instead of duplicating
        code.
        code.
1998-11-23  Tom Tromey  
1998-11-23  Tom Tromey  
        * configure.host: Don't add `-O2' to libjava_flags.  Only add
        * configure.host: Don't add `-O2' to libjava_flags.  Only add
        `-Os' to libjava_flags once.
        `-Os' to libjava_flags once.
1998-11-17  Andrew Haley  
1998-11-17  Andrew Haley  
        * Makefile.am: add LIBJAVA_JAVAFLAGS.
        * Makefile.am: add LIBJAVA_JAVAFLAGS.
        * Makefile.in: likewise
        * Makefile.in: likewise
        * acconfig.h: add ECOS conditional for configure.h
        * acconfig.h: add ECOS conditional for configure.h
        * config.h.in: likewise
        * config.h.in: likewise
        * configure: add test for --with-ecos
        * configure: add test for --with-ecos
        * configure.in: likewise
        * configure.in: likewise
        * java/io/natFileDescriptorEcos.cc (java::io::FileDescriptor::write):
        * java/io/natFileDescriptorEcos.cc (java::io::FileDescriptor::write):
        rename call to avoid name clash.
        rename call to avoid name clash.
        * java/lang/natSystem.cc: add eCos clock support.
        * java/lang/natSystem.cc: add eCos clock support.
        * java/util/natGregorianCalendar.cc: add eCos support.
        * java/util/natGregorianCalendar.cc: add eCos support.
1998-11-20  Andrew Haley  
1998-11-20  Andrew Haley  
        * Makefile.am, Makefile.in, configure.host: tx39 build option
        * Makefile.am, Makefile.in, configure.host: tx39 build option
        "-G 0" added.
        "-G 0" added.
Wed Nov 18 18:55:25 1998  Warren Levy  
Wed Nov 18 18:55:25 1998  Warren Levy  
        * java/io/BufferedReader.java: Added more comments for clarity.
        * java/io/BufferedReader.java: Added more comments for clarity.
        (mark): Used more mnemonic name for local var extraBuffSpace.
        (mark): Used more mnemonic name for local var extraBuffSpace.
        * java/io/LineNumberReader.java (lineEnd): Removed method to avoid
        * java/io/LineNumberReader.java (lineEnd): Removed method to avoid
        confusion with private method of same name in superclass.
        confusion with private method of same name in superclass.
        (skipRedundantLF): Set fields in special case to avoid infinite
        (skipRedundantLF): Set fields in special case to avoid infinite
        recursion.  Check if markPos has been invalidated in special case.
        recursion.  Check if markPos has been invalidated in special case.
        (readLine): Rewritten to use readLine method of superclass.
        (readLine): Rewritten to use readLine method of superclass.
        (skip): Incorporated code from lineEnd.
        (skip): Incorporated code from lineEnd.
Wed Nov 18 02:46:03 1998  Warren Levy  
Wed Nov 18 02:46:03 1998  Warren Levy  
        * java/io/BufferedReader.java (readLine): New method.
        * java/io/BufferedReader.java (readLine): New method.
        (lineEnd): new private method.
        (lineEnd): new private method.
        (mark): Track special case for readLine of getting '\r' at the
        (mark): Track special case for readLine of getting '\r' at the
        end of the buffer.
        end of the buffer.
        (reset): Ditto.
        (reset): Ditto.
        (read): Ditto.
        (read): Ditto.
        (fill): Ditto.
        (fill): Ditto.
        (skip): Ditto.
        (skip): Ditto.
        * java/io/InputStreamReader.java (read): Return number chars skipped
        * java/io/InputStreamReader.java (read): Return number chars skipped
        rather than requested.
        rather than requested.
        * java/lang/StringBuffer.java (append): Update count and differentiate
        * java/lang/StringBuffer.java (append): Update count and differentiate
        between field and local variable.
        between field and local variable.
        * java/util/Date.java (parseTz): Evaluate in minutes rather than
        * java/util/Date.java (parseTz): Evaluate in minutes rather than
        seconds.  Deal with military style time.
        seconds.  Deal with military style time.
        (parse): Consistently treat all timezones in minutes until final
        (parse): Consistently treat all timezones in minutes until final
        calculation.  Flag as non-local timezone.  Return value in milliseconds.
        calculation.  Flag as non-local timezone.  Return value in milliseconds.
        (setTime): Adjust for year offset from 1900.
        (setTime): Adjust for year offset from 1900.
        (UTC): Adjust for year offset from 1900.
        (UTC): Adjust for year offset from 1900.
1998-11-17  Tom Tromey  
1998-11-17  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Switch on host, not target.
        * configure.in: Switch on host, not target.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (GCJ_no): New macro.
        * Makefile.am (GCJ_no): New macro.
        (GCJ): Use @CANADIAN@.
        (GCJ): Use @CANADIAN@.
        (GCJH_no): New macro
        (GCJH_no): New macro
        (GCJH_canadian): New macro.
        (GCJH_canadian): New macro.
        (GCJH): Use @CANADIAN@.
        (GCJH): Use @CANADIAN@.
        (ZIP_no): New macro.
        (ZIP_no): New macro.
        (ZIP_canadian): New macro.
        (ZIP_canadian): New macro.
        (ZIP): Use @CANADIAN@.
        (ZIP): Use @CANADIAN@.
        * aclocal.m4, configure: Rebuilt.
        * aclocal.m4, configure: Rebuilt.
        * configure.in (CANADIAN): Compute and subst.
        * configure.in (CANADIAN): Compute and subst.
Tue Nov 17 12:44:37 1998  Anthony Green  
Tue Nov 17 12:44:37 1998  Anthony Green  
        * java/io/FileDescriptor.java (finalize): Only close file
        * java/io/FileDescriptor.java (finalize): Only close file
        descriptor if valid.
        descriptor if valid.
1998-11-17  Tom Tromey  
1998-11-17  Tom Tromey  
        * prims.cc (_Jv_InitRuntime): Removed.
        * prims.cc (_Jv_InitRuntime): Removed.
1998-11-16  Tom Tromey  
1998-11-16  Tom Tromey  
        * java/io/FileOutputStream.java (close): Only close file
        * java/io/FileOutputStream.java (close): Only close file
        descriptor if valid.
        descriptor if valid.
        (finalize): New method.
        (finalize): New method.
        * prims.cc (_Jv_NewObjectArray): Set vtbl last.
        * prims.cc (_Jv_NewObjectArray): Set vtbl last.
        (_Jv_NewPrimArray): Likewise.
        (_Jv_NewPrimArray): Likewise.
        * boehm.cc (_Jv_RegisterFinalizer): Use
        * boehm.cc (_Jv_RegisterFinalizer): Use
        GC_REGISTER_FINALIZER_NO_ORDER.
        GC_REGISTER_FINALIZER_NO_ORDER.
        (GC_GENERIC_MALLOC): New define.
        (GC_GENERIC_MALLOC): New define.
        (_Jv_AllocObj): Use it.
        (_Jv_AllocObj): Use it.
        (_Jv_AllocArray): Likewise.
        (_Jv_AllocArray): Likewise.
        (_Jv_AllocBytes): Likewise.
        (_Jv_AllocBytes): Likewise.
        (_Jv_MarkObj): Just return if vtbl not set.
        (_Jv_MarkObj): Just return if vtbl not set.
        (_Jv_MarkArray): Likewise.
        (_Jv_MarkArray): Likewise.
        (MAYBE_MARK): New macro; use everywhere.
        (MAYBE_MARK): New macro; use everywhere.
        (_Jv_MarkObj): Mark fields belonging to superclasses as well.
        (_Jv_MarkObj): Mark fields belonging to superclasses as well.
Mon Nov 16 14:57:53 1998  Warren Levy  
Mon Nov 16 14:57:53 1998  Warren Levy  
        * java/util/natGregorianCalendar.cc (computeTime): Cast a time_t
        * java/util/natGregorianCalendar.cc (computeTime): Cast a time_t
        to a jlong before calculation to prevent overflow.
        to a jlong before calculation to prevent overflow.
1998-11-16  Tom Tromey  
1998-11-16  Tom Tromey  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Fixed typo.
        * Makefile.am (nat_headers): Fixed typo.
1998-11-15  Tom Tromey  
1998-11-15  Tom Tromey  
        * java/lang/Class.h (Class::getName): Removed definition.
        * java/lang/Class.h (Class::getName): Removed definition.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added InstantiationException.h,
        * Makefile.am (nat_headers): Added InstantiationException.h,
        NoSuchMethodException.h.
        NoSuchMethodException.h.
        * java/lang/natClass.cc (clinit_name): Renamed from init_name.
        * java/lang/natClass.cc (clinit_name): Renamed from init_name.
        (init_name): New global.
        (init_name): New global.
        (hackRunInitializers): Use clinit_name.
        (hackRunInitializers): Use clinit_name.
        Include InstantiationException.h, NoSuchMethodException.h.
        Include InstantiationException.h, NoSuchMethodException.h.
        (newInstance): Do some error checking (but not all).  Call
        (newInstance): Do some error checking (but not all).  Call
        constructor.
        constructor.
        (forName): Throw exception if class not found.
        (forName): Throw exception if class not found.
        (getName): New method.
        (getName): New method.
        (forName): Transform class name from external format to internal
        (forName): Transform class name from external format to internal
        format before lookup.
        format before lookup.
1998-11-15  Anthony Green  
1998-11-15  Anthony Green  
        * java/lang/Class.h (Class::forName): Method is static.
        * java/lang/Class.h (Class::forName): Method is static.
        * java/lang/natClass.cc (newInstance): Add simple implementation.
        * java/lang/natClass.cc (newInstance): Add simple implementation.
        (forName): Ditto.
        (forName): Ditto.
Sat Nov 14 18:25:13 1998  Per Bothner  
Sat Nov 14 18:25:13 1998  Per Bothner  
        * java/lang/Class.h (Class::accflags):  Must be unsigned short (not
        * java/lang/Class.h (Class::accflags):  Must be unsigned short (not
        int), for compatibility with jc1.
        int), for compatibility with jc1.
1998-11-14  Tom Tromey  
1998-11-14  Tom Tromey  
        * include/config.h.in: Rebuilt.
        * include/config.h.in: Rebuilt.
        * acconfig.h (LINUX_THREADS): New define.
        * acconfig.h (LINUX_THREADS): New define.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Define LINUX_THREADS if using POSIX threads on
        * configure.in: Define LINUX_THREADS if using POSIX threads on
        Linux.  Look for pthread_mutexattr_setkind_np function.
        Linux.  Look for pthread_mutexattr_setkind_np function.
        * posix-threads.cc (throw_cleanup): New function.
        * posix-threads.cc (throw_cleanup): New function.
        (really_start): Push cleanup function.
        (really_start): Push cleanup function.
        (_Jv_ThreadCancel): New function.
        (_Jv_ThreadCancel): New function.
        (daemon_mutex, daemon_cond, non_daemon_count): New globals.
        (daemon_mutex, daemon_cond, non_daemon_count): New globals.
        (_Jv_ThreadInitData): Set `exception' field in new structure.
        (_Jv_ThreadInitData): Set `exception' field in new structure.
        (_Jv_ThreadStart): Increment non_daemon_count if not a daemon
        (_Jv_ThreadStart): Increment non_daemon_count if not a daemon
        thread.
        thread.
        (_Jv_ThreadWait): New function.
        (_Jv_ThreadWait): New function.
        (_Jv_InitThreads): Initialize daemon globals.
        (_Jv_InitThreads): Initialize daemon globals.
        (FLAG_DAEMON): New macro.
        (FLAG_DAEMON): New macro.
        (really_start): Notify daemon_cond when non-daemon thread exits.
        (really_start): Notify daemon_cond when non-daemon thread exits.
        Include .
        Include .
        (struct starter): `object' field now a thread.
        (struct starter): `object' field now a thread.
        (_Jv_MutexInit): Use pthread_mutexattr_setkind_np if it exists.
        (_Jv_MutexInit): Use pthread_mutexattr_setkind_np if it exists.
        * include/posix-threads.h (_Jv_CondInit): Use `0', not NULL.
        * include/posix-threads.h (_Jv_CondInit): Use `0', not NULL.
        (_Jv_ThreadWait): Removed definition.
        (_Jv_ThreadWait): Removed definition.
        (_Jv_Thread_t): Added `exception' field.
        (_Jv_Thread_t): Added `exception' field.
        (_Jv_ThreadCancel): Removed definition.
        (_Jv_ThreadCancel): Removed definition.
1998-11-13  Tom Tromey  
1998-11-13  Tom Tromey  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (libjava.zip): Compute javac before changing
        * Makefile.am (libjava.zip): Compute javac before changing
        directory.
        directory.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (libjava.zip): Include directory entries.
        * Makefile.am (libjava.zip): Include directory entries.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (expanded): New macro.
        * Makefile.am (expanded): New macro.
        (GCJ): Use it.
        (GCJ): Use it.
1998-11-12  Tom Tromey  
1998-11-12  Tom Tromey  
        * prims.cc (clone): New function.
        * prims.cc (clone): New function.
        * include/java-array.h (__JArray::clone): Removed definition.
        * include/java-array.h (__JArray::clone): Removed definition.
        * java/lang/natObject.cc (clone): Don't assert that class is not
        * java/lang/natObject.cc (clone): Don't assert that class is not
        an array; array's `clone' method just calls this one.
        an array; array's `clone' method just calls this one.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (libjava.zip): Renamed target from classes.stamp.
        * Makefile.am (libjava.zip): Renamed target from classes.stamp.
        Now creates zip file.  Changed all users.
        Now creates zip file.  Changed all users.
        (ZIP): New macro.
        (ZIP): New macro.
        (data_DATA): New macro.
        (data_DATA): New macro.
1998-11-11  Tom Tromey  
1998-11-11  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Recognize --enable-java-gc, not --enable-gc.
        * configure.in: Recognize --enable-java-gc, not --enable-gc.
Wed Nov 11 18:13:46 1998  Warren Levy  
Wed Nov 11 18:13:46 1998  Warren Levy  
        * java/io/InputStream.java (reset): Add msg to thrown exception.
        * java/io/InputStream.java (reset): Add msg to thrown exception.
Wed Nov 11 17:57:02 1998  Warren Levy  
Wed Nov 11 17:57:02 1998  Warren Levy  
        * java/io/LineNumberInputStream.java: Rewritten.
        * java/io/LineNumberInputStream.java: Rewritten.
        * java/io/StringBufferInputStream.java: Removed extraneous import.
        * java/io/StringBufferInputStream.java: Removed extraneous import.
Wed Nov 11 15:19:33 1998  Warren Levy  
Wed Nov 11 15:19:33 1998  Warren Levy  
        * java/io/StringBufferInputStream.java: Rewritten.
        * java/io/StringBufferInputStream.java: Rewritten.
        * java/util/Date.java (parseMonth): Optimize.
        * java/util/Date.java (parseMonth): Optimize.
        (parseDayOfWeek): Created.
        (parseDayOfWeek): Created.
        (parse): Optimize to use parseDayOfWeek.
        (parse): Optimize to use parseDayOfWeek.
1998-11-11  Tom Tromey  
1998-11-11  Tom Tromey  
        * java/lang/StringBuffer.java (append): Handle case where STR is
        * java/lang/StringBuffer.java (append): Handle case where STR is
        `null'.
        `null'.
        * include/javaprims.h: Regenerated class declarations.
        * include/javaprims.h: Regenerated class declarations.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Added --enable-gcj-classes,
        * configure.in: Added --enable-gcj-classes,
        --enable-single-compilation, --enable-source-compilation flags.
        --enable-single-compilation, --enable-source-compilation flags.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (java_io_files): New macro.
        * Makefile.am (java_io_files): New macro.
        (java_lang_files): Likewise.
        (java_lang_files): Likewise.
        (java_text_files): Likewise.
        (java_text_files): Likewise.
        (java_util_files): Likewise.
        (java_util_files): Likewise.
        (java_files): Use new macros.
        (java_files): Use new macros.
        (java-io.o): New target.
        (java-io.o): New target.
        (java-lang.o): Likewise.
        (java-lang.o): Likewise.
        (java-text.o): Likewise.
        (java-text.o): Likewise.
        (java-util.o): Likewise.
        (java-util.o): Likewise.
        (src_io_files): New macro.
        (src_io_files): New macro.
        (src_lang_files): Likewise.
        (src_lang_files): Likewise.
        (src_text_files): Likewise.
        (src_text_files): Likewise.
        (src_util_files): Likewise.
        (src_util_files): Likewise.
        (class_io_files): New macro.
        (class_io_files): New macro.
        (class_lang_files): Likewise.
        (class_lang_files): Likewise.
        (class_text_files): Likewise.
        (class_text_files): Likewise.
        (class_util_files): Likewise.
        (class_util_files): Likewise.
        (class_files): Use new macros.
        (class_files): Use new macros.
        (javao_files): Define conditionally.
        (javao_files): Define conditionally.
        (.java.o): New target.
        (.java.o): New target.
        ($(javao_files)): New target.
        ($(javao_files)): New target.
        (GCJ): new macro.
        (GCJ): new macro.
        (GCJH): Added $(EXEEXT).
        (GCJH): Added $(EXEEXT).
        (CLASSPATH_ENV): Removed.
        (CLASSPATH_ENV): Removed.
        (GCJCOMPILE): New macro.
        (GCJCOMPILE): New macro.
Wed Nov 11 12:03:15 1998  Warren Levy  
Wed Nov 11 12:03:15 1998  Warren Levy  
        * java/util/Date.java (parse): Written from scratch.
        * java/util/Date.java (parse): Written from scratch.
1998-11-11  Tom Tromey  
1998-11-11  Tom Tromey  
        * java/lang/Throwable.java (toString): Correct sense of test for
        * java/lang/Throwable.java (toString): Correct sense of test for
        determining when to include detail message in result.
        determining when to include detail message in result.
        * java/lang/ThreadDeath.java (ThreadDeath): Added missing
        * java/lang/ThreadDeath.java (ThreadDeath): Added missing
        constructor.
        constructor.
Fri Nov  6 16:30:20 1998  Tom Tromey  
Fri Nov  6 16:30:20 1998  Tom Tromey  
        * java/lang/Class.h: Use _Jv_RegisterClasses, not
        * java/lang/Class.h: Use _Jv_RegisterClasses, not
        _Jv_RegisterClass.
        _Jv_RegisterClass.
        * java/lang/natClass.cc (_Jv_RegisterClasses): New function.
        * java/lang/natClass.cc (_Jv_RegisterClasses): New function.
        (_Jv_RegisterClass): Use it.
        (_Jv_RegisterClass): Use it.
        * include/jvm.h (_Jv_RegisterClasses): Declare.
        * include/jvm.h (_Jv_RegisterClasses): Declare.
        * java/lang/natObject.cc (init): Removed.
        * java/lang/natObject.cc (init): Removed.
        (sync_init): Never call _Jv_InitializeSyncMutex.
        (sync_init): Never call _Jv_InitializeSyncMutex.
        (_Jv_InitializeSyncMutex): Don't set `init'.
        (_Jv_InitializeSyncMutex): Don't set `init'.
        * prims.cc (JvRunMain): Don't run init functions.
        * prims.cc (JvRunMain): Don't run init functions.
Thu Nov  5 17:14:37 1998  Tom Tromey  
Thu Nov  5 17:14:37 1998  Tom Tromey  
        * java/lang/natClass.cc (initializeClass): Set state before
        * java/lang/natClass.cc (initializeClass): Set state before
        resolving constants.
        resolving constants.
        * java/lang/natClass.cc (STATE_CONST_INIT): Removed.
        * java/lang/natClass.cc (STATE_CONST_INIT): Removed.
        (STATE_RESOLVED): New macro.
        (STATE_RESOLVED): New macro.
        (initializeClass): Call resolveConstants.
        (initializeClass): Call resolveConstants.
        (hackRunInitializers): Don't call resolveConstants.
        (hackRunInitializers): Don't call resolveConstants.
        (_Jv_FindArrayClass): Move short-circuit return for primitive
        (_Jv_FindArrayClass): Move short-circuit return for primitive
        element types earlier in function.
        element types earlier in function.
1998-11-03  Tom Tromey  
1998-11-03  Tom Tromey  
        * prims.cc (no_memory): New global.
        * prims.cc (no_memory): New global.
        (_Jv_makeUtf8Const): Throw no_memory.
        (_Jv_makeUtf8Const): Throw no_memory.
        (_Jv_AllocObject): Likewise.
        (_Jv_AllocObject): Likewise.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewPrimArray): Likewise.
        (_Jv_NewPrimArray): Likewise.
        (JvRunMain): Initialize no_memory.
        (JvRunMain): Initialize no_memory.
Tue Nov  3 17:15:45 1998  Warren Levy  
Tue Nov  3 17:15:45 1998  Warren Levy  
        * java/io/FileInputStream.java: Corrected date comment.
        * java/io/FileInputStream.java: Corrected date comment.
        * java/io/SequenceInputStream.java: Rewritten.
        * java/io/SequenceInputStream.java: Rewritten.
Mon Nov  2 17:20:31 1998  Tom Tromey  (tromey@cygnus.com)
Mon Nov  2 17:20:31 1998  Tom Tromey  (tromey@cygnus.com)
        * java/lang/FirstThread.java (die): New method.
        * java/lang/FirstThread.java (die): New method.
        * java/lang/natFirstThread.cc (die): Removed.
        * java/lang/natFirstThread.cc (die): Removed.
        (DIE): New macro.
        (DIE): New macro.
        (run): Use `DIE', not `die'.
        (run): Use `DIE', not `die'.
Mon Nov  2 16:23:41 1998  Warren Levy  
Mon Nov  2 16:23:41 1998  Warren Levy  
        * java/io/CharArrayReader.java (read): Move check into synchronized
        * java/io/CharArrayReader.java (read): Move check into synchronized
        block to prevent a close while in progress.
        block to prevent a close while in progress.
        (reset): Ditto.
        (reset): Ditto.
        (skip): Ditto.
        (skip): Ditto.
        * java/io/PushbackReader.java (read): Ditto.
        * java/io/PushbackReader.java (read): Ditto.
        (ready): Ditto.
        (ready): Ditto.
        (unread): Ditto.
        (unread): Ditto.
        * java/io/StringReader.java (mark): Ditto.
        * java/io/StringReader.java (mark): Ditto.
        (read): Ditto.
        (read): Ditto.
        (reset): Ditto.
        (reset): Ditto.
        (skip): Ditto.
        (skip): Ditto.
Mon Nov  2 15:56:20 1998  Warren Levy  
Mon Nov  2 15:56:20 1998  Warren Levy  
        * java/io/PipedInputStream.java: Updated status.
        * java/io/PipedInputStream.java: Updated status.
        (connect): Added code to prevent infinite recursion and to
        (connect): Added code to prevent infinite recursion and to
        differentiate exception causes.
        differentiate exception causes.
        (read): Added code to differentiate exception causes.
        (read): Added code to differentiate exception causes.
        (receive): Made exception pass string with the cause.
        (receive): Made exception pass string with the cause.
        * java/io/PipedOutputStream.java: Updated status.
        * java/io/PipedOutputStream.java: Updated status.
        (connect): Added code to call connect at the other end of the pipe.
        (connect): Added code to call connect at the other end of the pipe.
Mon Nov  2 00:22:12 1998  Warren Levy  
Mon Nov  2 00:22:12 1998  Warren Levy  
        * java/io/PipedInputStream.java (connect): Throw exception if
        * java/io/PipedInputStream.java (connect): Throw exception if
        already connected to the same output stream.
        already connected to the same output stream.
        (read): Do bounds checking first.
        (read): Do bounds checking first.
Sun Nov  1 22:48:55 1998  Warren Levy  
Sun Nov  1 22:48:55 1998  Warren Levy  
        * java/io/PipedInputStream.java: Added private boolean outClosed.
        * java/io/PipedInputStream.java: Added private boolean outClosed.
        (available): Removed check if output stream is open.
        (available): Removed check if output stream is open.
        (close): Mark the buffer as empty so available returns 0.
        (close): Mark the buffer as empty so available returns 0.
        (read): Check if the output stream was closed and then return EOF
        (read): Check if the output stream was closed and then return EOF
        when the buffer is empty.
        when the buffer is empty.
        (receive): Mark the output stream as closed when passed a -1.
        (receive): Mark the output stream as closed when passed a -1.
        * java/io/PipedOutputStream.java (close): Notify the input stream
        * java/io/PipedOutputStream.java (close): Notify the input stream
        that there's no more data coming.
        that there's no more data coming.
        (connect): Added a FIXME comment to note more coordination needed
        (connect): Added a FIXME comment to note more coordination needed
        with PipedInputStream.
        with PipedInputStream.
        (flush): Added a FIXME comment to mark what this method might do
        (flush): Added a FIXME comment to mark what this method might do
        instead of nothing.
        instead of nothing.
Fri Oct 30 14:27:21 1998  Warren Levy  
Fri Oct 30 14:27:21 1998  Warren Levy  
        * java/io/PipedInputStream.java: Rewritten.
        * java/io/PipedInputStream.java: Rewritten.
1998-10-30  Tom Tromey  
1998-10-30  Tom Tromey  
        * java/lang/Throwable.java: Rewrote from scratch.
        * java/lang/Throwable.java: Rewrote from scratch.
        * java/lang/Class.h (Class): Don't mention newMultiArray.
        * java/lang/Class.h (Class): Don't mention newMultiArray.
        * prims.cc (newMultiArray): Removed.
        * prims.cc (newMultiArray): Removed.
        (_Jv_NewMultiArray): Removed.
        (_Jv_NewMultiArray): Removed.
        (newArray): Removed.
        (newArray): Removed.
        (new_multi_array): New function.
        (new_multi_array): New function.
        (_Jv_NewMultiArray): Rewrote from scratch.
        (_Jv_NewMultiArray): Rewrote from scratch.
        * include/javaprims.h: Regenerated class declarations.
        * include/javaprims.h: Regenerated class declarations.
        * classes.pl (scan): Don't declare PrimClass.
        * classes.pl (scan): Don't declare PrimClass.
        * include/cni.h (JvPrimClass): Use new names for classes.
        * include/cni.h (JvPrimClass): Use new names for classes.
        * java/lang/Class.h (Class): Removed _Jv_initPrimClass as friend;
        * java/lang/Class.h (Class): Removed _Jv_initPrimClass as friend;
        added _Jv_PrimClass.
        added _Jv_PrimClass.
        * prims.cc (_Jv_PrimClass): Renamed from PrimClass.
        * prims.cc (_Jv_PrimClass): Renamed from PrimClass.
        (_Jv_initPrimClass): Removed.
        (_Jv_initPrimClass): Removed.
        (DECLARE_PRIM_TYPE): Generated globals now start with `_Jv_'.
        (DECLARE_PRIM_TYPE): Generated globals now start with `_Jv_'.
        (_Jv_AllocObject): Added comment.
        (_Jv_AllocObject): Added comment.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewPrimArray): Likewise.
        (_Jv_NewPrimArray): Likewise.
1998-10-29  Tom Tromey  
1998-10-29  Tom Tromey  
        * java/lang/natClass.cc (_Jv_NewClass): Initialize new field.
        * java/lang/natClass.cc (_Jv_NewClass): Initialize new field.
        (_Jv_FindArrayClass): Use dtable_method_count to compute size of
        (_Jv_FindArrayClass): Use dtable_method_count to compute size of
        new dtable.
        new dtable.
        * java/lang/Class.h (Class): Added `dtable_method_count' field.
        * java/lang/Class.h (Class): Added `dtable_method_count' field.
        * java/lang/natObject.cc (init): New global.
        * java/lang/natObject.cc (init): New global.
        (sync_init): Call _Jv_InitializeSyncMutex if required.
        (sync_init): Call _Jv_InitializeSyncMutex if required.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added ClassLoader.h.
        * Makefile.am (nat_headers): Added ClassLoader.h.
        * include/jvm.h (_Jv_FindClassFromSignature): Declare.
        * include/jvm.h (_Jv_FindClassFromSignature): Declare.
        * java/lang/Class.h (Class): simpleLookupClass, insertClass,
        * java/lang/Class.h (Class): simpleLookupClass, insertClass,
        internalAddClass, lookupArray no longer friends.
        internalAddClass, lookupArray no longer friends.
        _Jv_RegisterClass, _Jv_FindClassInCache, _Jv_NewClass,
        _Jv_RegisterClass, _Jv_FindClassInCache, _Jv_NewClass,
        _Jv_FindArrayClass now friends.
        _Jv_FindArrayClass now friends.
        * java/lang/natClass.cc (HASH_LEN): New macro.
        * java/lang/natClass.cc (HASH_LEN): New macro.
        (HASH_UTF): Likewise.
        (HASH_UTF): Likewise.
        (loaded_classes): New global.
        (loaded_classes): New global.
        (_Jv_FindClass): New function.
        (_Jv_FindClass): New function.
        (ClassClass): New define.
        (ClassClass): New define.
        (_Jv_FindClassInCache): New function.
        (_Jv_FindClassInCache): New function.
        (_Jv_RegisterClass): Likewise.
        (_Jv_RegisterClass): Likewise.
        (_Jv_NewClass): Likewise.
        (_Jv_NewClass): Likewise.
        Include 
        Include 
        (ObjectClass): New define.
        (ObjectClass): New define.
        (CloneableClass): New define.
        (CloneableClass): New define.
        * prims.cc (_Jv_FindClass): Removed.
        * prims.cc (_Jv_FindClass): Removed.
        (simpleLookupClass): Removed.
        (simpleLookupClass): Removed.
        (insertClass): Removed.
        (insertClass): Removed.
        (CLASSHASHSZ): Removed.
        (CLASSHASHSZ): Removed.
        (classPool): Removed.
        (classPool): Removed.
        (_Jv_RegisterClass): Removed.
        (_Jv_RegisterClass): Removed.
        (internalAddClass): Removed.
        (internalAddClass): Removed.
        (ClassClass): Removed.
        (ClassClass): Removed.
        (RuntimeClass): Removed.
        (RuntimeClass): Removed.
        (lookupArray): Removed.
        (lookupArray): Removed.
        (CloneableClass): Removed.
        (CloneableClass): Removed.
        (CLASSMAXSIG): Removed.
        (CLASSMAXSIG): Removed.
        Rearranged file to group related functions together.
        Rearranged file to group related functions together.
        (_Jv_IsInstanceOf): Moved to natClass.cc.
        (_Jv_IsInstanceOf): Moved to natClass.cc.
        (abort_final): Removed.
        (abort_final): Removed.
        Removed some unused includes.
        Removed some unused includes.
        (classFromSig): Removed.
        (classFromSig): Removed.
        (_Jv_FindClassFromSignature): New function.
        (_Jv_FindClassFromSignature): New function.
        (_Jv_initPrimClass): Renamed.
        (_Jv_initPrimClass): Renamed.
        (getClass): Removed.
        (getClass): Removed.
Thu Oct 29 23:17:17 1998  Warren Levy  
Thu Oct 29 23:17:17 1998  Warren Levy  
        * java/io/FileDescriptor.java (finalize): Throws IOException
        * java/io/FileDescriptor.java (finalize): Throws IOException
        instead of Throwable.
        instead of Throwable.
        * java/io/FileInputStream.java: Rewritten.
        * java/io/FileInputStream.java: Rewritten.
        * java/io/StreamTokenizer.java (nextToken): Unread newline character
        * java/io/StreamTokenizer.java (nextToken): Unread newline character
        at the end of a comment.
        at the end of a comment.
1998-10-29  Tom Tromey  
1998-10-29  Tom Tromey  
        * include/javaprims.h: Regenerated class declarations.
        * include/javaprims.h: Regenerated class declarations.
        * classes.pl (scan): Don't special-case ClassLoader.
        * classes.pl (scan): Don't special-case ClassLoader.
        * prims.cc (processClass): Removed.
        * prims.cc (processClass): Removed.
        (_Jv_InitClass): Removed.
        (_Jv_InitClass): Removed.
        Removed all CSTATE_ macros.
        Removed all CSTATE_ macros.
        (resolveConstants): Removed.
        (resolveConstants): Removed.
        (MAXDIMS): Removed.
        (MAXDIMS): Removed.
        (_Jv_NewMultiArray): Cleaned up.
        (_Jv_NewMultiArray): Cleaned up.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added NoClassDefFoundError.h.
        * Makefile.am (nat_headers): Added NoClassDefFoundError.h.
        * java/lang/Class.h (Class): Declare new methods.  processClass no
        * java/lang/Class.h (Class): Declare new methods.  processClass no
        longer a friend.
        longer a friend.
        * java/lang/Class.java (hackTrampoline): New method.
        * java/lang/Class.java (hackTrampoline): New method.
        (initializeClass): Declare.
        (initializeClass): Declare.
        (hackRunInitializers): Declare.
        (hackRunInitializers): Declare.
        * java/lang/natClass.cc (getClassLoader): Moved into Class.h.
        * java/lang/natClass.cc (getClassLoader): Moved into Class.h.
        (initializeClass): New method.
        (initializeClass): New method.
        (hackRunInitializers): New method.
        (hackRunInitializers): New method.
        (init_name, void_signature): Moved from prims.cc.
        (init_name, void_signature): Moved from prims.cc.
        (_Jv_InitClass): New function.
        (_Jv_InitClass): New function.
        (isAssignableFrom): Don't call processClass.
        (isAssignableFrom): Don't call processClass.
        (STATE_NOTHING): New macro.
        (STATE_NOTHING): New macro.
        (resolveConstants): New function.
        (resolveConstants): New function.
        Include Thread.h.
        Include Thread.h.
        (ErrorClass): New define.
        (ErrorClass): New define.
        * java/lang/Class.java (getClassLoader): Declare.
        * java/lang/Class.java (getClassLoader): Declare.
        * java/lang/ClassLoader.java: Rewrote from scratch.
        * java/lang/ClassLoader.java: Rewrote from scratch.
        * java/lang/natClass.cc: Include IncompatibleClassChangeError.h,
        * java/lang/natClass.cc: Include IncompatibleClassChangeError.h,
        AbstractMethodError.h, IllegalAccessError.h,
        AbstractMethodError.h, IllegalAccessError.h,
        NoClassDefFoundError.h.
        NoClassDefFoundError.h.
        * include/jvm.h (StringClass): Declare _Jv_equalUtf8Consts.
        * include/jvm.h (StringClass): Declare _Jv_equalUtf8Consts.
        * prims.cc (_Jv_equalUtf8Consts): Renamed from equalUtf8Consts; no
        * prims.cc (_Jv_equalUtf8Consts): Renamed from equalUtf8Consts; no
        longer static.  Changed return type.
        longer static.  Changed return type.
        * java/lang/natFirstThread.cc (run): Use _Jv_GetMethodLocal.
        * java/lang/natFirstThread.cc (run): Use _Jv_GetMethodLocal.
        * java/lang/Class.h (Class): findMethodLocal no longer a friend.
        * java/lang/Class.h (Class): findMethodLocal no longer a friend.
        * prims.cc (findMethodLocal): Removed.
        * prims.cc (findMethodLocal): Removed.
        (processClass): Use _Jv_GetMethodLocal.
        (processClass): Use _Jv_GetMethodLocal.
1998-10-28  Tom Tromey  
1998-10-28  Tom Tromey  
        * prims.cc (_Jv_LookupInterfaceMethod): Removed.
        * prims.cc (_Jv_LookupInterfaceMethod): Removed.
        * java/lang/Class.h (Class): Declare _Jv_GetMethodLocal as
        * java/lang/Class.h (Class): Declare _Jv_GetMethodLocal as
        friend.
        friend.
        * java/lang/natClass.cc (_Jv_GetMethodLocal): New function.
        * java/lang/natClass.cc (_Jv_GetMethodLocal): New function.
        (_Jv_LookupInterfaceMethod): New function (rewrote from scratch).
        (_Jv_LookupInterfaceMethod): New function (rewrote from scratch).
        * include/jni.h: Added copyright header.
        * include/jni.h: Added copyright header.
        * include/javaprims.h: Added copyright header.
        * include/javaprims.h: Added copyright header.
        * include/java-field.h: Added copyright header.
        * include/java-field.h: Added copyright header.
        * include/java-array.h: Added copyright header.
        * include/java-array.h: Added copyright header.
        * include/cni.h: Added copyright header.
        * include/cni.h: Added copyright header.
        * include/javaprims.h: Regenerated class declarations using
        * include/javaprims.h: Regenerated class declarations using
        classes.pl; now they are complete.
        classes.pl; now they are complete.
        * classes.pl: New file.
        * classes.pl: New file.
        * java/lang/natMath.cc: Include .
        * java/lang/natMath.cc: Include .
        * java/lang/reflect/natField.cc: Include .
        * java/lang/reflect/natField.cc: Include .
        * java/util/NativeUtil.java: Removed.
        * java/util/NativeUtil.java: Removed.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added Math.h.
        * Makefile.am (nat_headers): Added Math.h.
        * java/lang/Math.h: Removed.
        * java/lang/Math.h: Removed.
        * java/util/natGregorianCalendar.cc: Added copyright header.
        * java/util/natGregorianCalendar.cc: Added copyright header.
        Include .
        Include .
        * java/lang/natFloat.cc: Added copyright header.
        * java/lang/natFloat.cc: Added copyright header.
        * java/lang/Byte.java: Added copyright header.
        * java/lang/Byte.java: Added copyright header.
        * java/lang/Void.java: Added copyright header.
        * java/lang/Void.java: Added copyright header.
        * java/lang/Short.java: Added copyright header.
        * java/lang/Short.java: Added copyright header.
Wed Oct 28 12:55:47 1998  Warren Levy  
Wed Oct 28 12:55:47 1998  Warren Levy  
        * include/javaprims.h (java::io): Added bunch of missing classes.
        * include/javaprims.h (java::io): Added bunch of missing classes.
        * java/io/DataInputStream.java (readLine): Added a special case
        * java/io/DataInputStream.java (readLine): Added a special case
        for handling BufferedInputStream data to reduce the likelihood
        for handling BufferedInputStream data to reduce the likelihood
        of a pushback error.
        of a pushback error.
        (skipBytes): Added code to handle negative number of skip bytes.
        (skipBytes): Added code to handle negative number of skip bytes.
        * java/io/StreamTokenizer.java: Rewritten.
        * java/io/StreamTokenizer.java: Rewritten.
1998-10-28  Tom Tromey  
1998-10-28  Tom Tromey  
        * java/util/natGregorianCalendar.cc (computeFields): Call
        * java/util/natGregorianCalendar.cc (computeFields): Call
        getRawOffset as a method.
        getRawOffset as a method.
        * include/javaprims.h (java::io): Added FilterOutputStream.
        * include/javaprims.h (java::io): Added FilterOutputStream.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added PrintStream.h,
        * Makefile.am (nat_headers): Added PrintStream.h,
        FilterOutputStream.h.
        FilterOutputStream.h.
        * java/lang/natFirstThread.cc: Include System.h, Modifier.h,
        * java/lang/natFirstThread.cc: Include System.h, Modifier.h,
        PrintStream.h.
        PrintStream.h.
        (die): New function.
        (die): New function.
        (run): Die if `main' not found, is not public, or is not static.
        (run): Die if `main' not found, is not public, or is not static.
        * boehm.cc (_Jv_MarkObj): Use new field names.
        * boehm.cc (_Jv_MarkObj): Use new field names.
        * include/java-field.h (JvGetFirstInstanceField): Use new field
        * include/java-field.h (JvGetFirstInstanceField): Use new field
        names.
        names.
        (JvNumInstanceFields): Likewise.
        (JvNumInstanceFields): Likewise.
        * java/lang/natClass.cc (isAssignableFrom): Use new field names.
        * java/lang/natClass.cc (isAssignableFrom): Use new field names.
        (getInterfaces): Likewise.
        (getInterfaces): Likewise.
        * prims.cc (CLASS_CONSTANTS): Removed.
        * prims.cc (CLASS_CONSTANTS): Removed.
        (CLASS_CONST_SIZE): Likewise.
        (CLASS_CONST_SIZE): Likewise.
        (CLASS_CONST_TAG): Likewise.
        (CLASS_CONST_TAG): Likewise.
        (CLASS_CONST_DATA): Likewise.
        (CLASS_CONST_DATA): Likewise.
        (CLASS_CONST_UTF8): Likewise.
        (CLASS_CONST_UTF8): Likewise.
        (WORD2UTF): Likewise.
        (WORD2UTF): Likewise.
        (CLASS_CLASS): Likewise.
        (CLASS_CLASS): Likewise.
        (CLASS_PRIM_SIG): Likewise.
        (CLASS_PRIM_SIG): Likewise.
        (CLASS_ARRAY_CACHE): Likewise.
        (CLASS_ARRAY_CACHE): Likewise.
        (HASH_CHARS): Likewise.
        (HASH_CHARS): Likewise.
        (hashClassName): Likewise.
        (hashClassName): Likewise.
        Many changes to use new field names.
        Many changes to use new field names.
        * java/lang/Class.h (Class): Renamed fields to track compiler.
        * java/lang/Class.h (Class): Renamed fields to track compiler.
1998-10-27  Tom Tromey  
1998-10-27  Tom Tromey  
        * java/lang/natClass.cc: Use #pragma implementation.
        * java/lang/natClass.cc: Use #pragma implementation.
        (getComponentType): Moved into header.
        (getComponentType): Moved into header.
        (getModifiers): Likewise.
        (getModifiers): Likewise.
        (getName): Likewise.
        (getName): Likewise.
        (getSuperclass): Likewise.
        (getSuperclass): Likewise.
        (isArray): Likewise.
        (isArray): Likewise.
        (isPrimitive): Likewise.
        (isPrimitive): Likewise.
        * include/jvm.h (_Jv_FindClass): Declare.
        * include/jvm.h (_Jv_FindClass): Declare.
        * java/lang/natFirstThread.cc (run): Updated for new Class.h.
        * java/lang/natFirstThread.cc (run): Updated for new Class.h.
        * java/lang/natSystem.cc (arraycopy): Updated for new Class.h.
        * java/lang/natSystem.cc (arraycopy): Updated for new Class.h.
        * include/javaprims.h: Use _Jv_Method, not JvMethod.
        * include/javaprims.h: Use _Jv_Method, not JvMethod.
        * java/lang/Class.h: Rewrote from scratch.
        * java/lang/Class.h: Rewrote from scratch.
        * prims.cc: Many changes to work with new Class.h.
        * prims.cc: Many changes to work with new Class.h.
        * include/java-field.h (CLASS_FIELDS): Removed.
        * include/java-field.h (CLASS_FIELDS): Removed.
        (CLASS_SFIELDS): Likewise.
        (CLASS_SFIELDS): Likewise.
        (CLASS_IFIELDS): Likewise.
        (CLASS_IFIELDS): Likewise.
        (CLASS_NFIELDS): Likewise.
        (CLASS_NFIELDS): Likewise.
        (CLASS_NIFIELDS): Likewise.
        (CLASS_NIFIELDS): Likewise.
        (CLASS_NSFIELDS): Likewise.
        (CLASS_NSFIELDS): Likewise.
        (CLASS_FSIZE): Likewise.
        (CLASS_FSIZE): Likewise.
        (JvGetFirstInstanceField): Rewrote.
        (JvGetFirstInstanceField): Rewrote.
        (JvNumInstanceFields): Likewise.
        (JvNumInstanceFields): Likewise.
        * java/lang/Object.h: Added copyright comment.
        * java/lang/Object.h: Added copyright comment.
Wed Oct 28 00:32:23 1998  Per Bothner  
Wed Oct 28 00:32:23 1998  Per Bothner  
        * java/text:  New package directory.
        * java/text:  New package directory.
        * java/text/FieldPosition.java:  New class.
        * java/text/FieldPosition.java:  New class.
        * java/text/ParsePosition.java:  New class.
        * java/text/ParsePosition.java:  New class.
        * java/text/ParseException.java:  New Exception class.
        * java/text/ParseException.java:  New Exception class.
        * java/text/Format.java:  New class.
        * java/text/Format.java:  New class.
        * java/text/NumberFormat.java:  New (empty placeholder) class.
        * java/text/NumberFormat.java:  New (empty placeholder) class.
        * java/text/DateFormatSymbols.java:  New class (no Locales support).
        * java/text/DateFormatSymbols.java:  New class (no Locales support).
        * java/text/DateFormat.java:  New Format class (incomplete).
        * java/text/DateFormat.java:  New Format class (incomplete).
        * java/text/SimpleDateFormat.java:  New DateFormat class.
        * java/text/SimpleDateFormat.java:  New DateFormat class.
        * include/javaprims.h (java::test):  Added new package and classes.
        * include/javaprims.h (java::test):  Added new package and classes.
        * java/util/Calendar.java (clone):  New method.
        * java/util/Calendar.java (clone):  New method.
        * java/util/Date.java (toString):  Added non-native implementation.
        * java/util/Date.java (toString):  Added non-native implementation.
        (parse):  Made public instead of synchronized.
        (parse):  Made public instead of synchronized.
        * java/util/natDate.cc (toString):  Removed.
        * java/util/natDate.cc (toString):  Removed.
        * java/util/natGregorianCalendar.cc (computeFields):
        * java/util/natGregorianCalendar.cc (computeFields):
        Use gmtime (or gmtime_r) if no zone offset (the default, for now!).
        Use gmtime (or gmtime_r) if no zone offset (the default, for now!).
1998-10-27  Tom Tromey  
1998-10-27  Tom Tromey  
        * boehm.cc (_Jv_MarkObj): Correctly mark a class' interfaces.
        * boehm.cc (_Jv_MarkObj): Correctly mark a class' interfaces.
        * prims.cc (lookupArray): Added explanatory comment.
        * prims.cc (lookupArray): Added explanatory comment.
        * boehm.cc (_Jv_MarkObj): Correctly scan methods and fields of
        * boehm.cc (_Jv_MarkObj): Correctly scan methods and fields of
        class.  Mark the class of each object.
        class.  Mark the class of each object.
        (_Jv_MarkArray): Mark the object's class.
        (_Jv_MarkArray): Mark the object's class.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Create java-gc.h.
        * configure.in: Create java-gc.h.
        * include/boehm-gc.h: New file.
        * include/boehm-gc.h: New file.
        * include/no-gc.h: New file.
        * include/no-gc.h: New file.
        * java/lang/Class.h (Class): Declare JV_MARKOBJ_DECL as friend, if
        * java/lang/Class.h (Class): Declare JV_MARKOBJ_DECL as friend, if
        defined.
        defined.
        * java/lang/Object.h: Include java-gc.h.
        * java/lang/Object.h: Include java-gc.h.
        (Object): Declare JV_MARKOBJ_DECL and JV_MARKARRAY_DECL as
        (Object): Declare JV_MARKOBJ_DECL and JV_MARKARRAY_DECL as
        friends, if defined.
        friends, if defined.
        * boehm.cc (_Jv_MarkObj): Renamed from mark_obj; changed
        * boehm.cc (_Jv_MarkObj): Renamed from mark_obj; changed
        signature.
        signature.
        (_Jv_MarkArray): Renamed from mark_array; changed signature.
        (_Jv_MarkArray): Renamed from mark_array; changed signature.
1998-10-26  Tom Tromey  
1998-10-26  Tom Tromey  
        * java/lang/natCharacter.cc (isSpaceChar): Look for line and
        * java/lang/natCharacter.cc (isSpaceChar): Look for line and
        paragraph separators, not numbers.
        paragraph separators, not numbers.
        * java/io/Writer.java (write): Removed write(char) to avoid
        * java/io/Writer.java (write): Removed write(char) to avoid
        ambiguity.
        ambiguity.
        * java/util/Properties.java: Rewrote from scratch.
        * java/util/Properties.java: Rewrote from scratch.
        * include/javaprims.h (java::io): Added PrintWriter,
        * include/javaprims.h (java::io): Added PrintWriter,
        BufferedWriter, PushbackReader.
        BufferedWriter, PushbackReader.
Mon Oct 26 13:13:28 1998  Anthony Green  
Mon Oct 26 13:13:28 1998  Anthony Green  
        * java/lang/System.java: exit() is a static method.
        * java/lang/System.java: exit() is a static method.
1998-10-26  Tom Tromey  
1998-10-26  Tom Tromey  
        * java/lang/natString.cc (_Jv_NewStringUTF): Use
        * java/lang/natString.cc (_Jv_NewStringUTF): Use
        _Jv_strLengthUtf8.
        _Jv_strLengthUtf8.
        (_Jv_NewStringUtf8Const): Likewise.
        (_Jv_NewStringUtf8Const): Likewise.
        * include/jvm.h (_Jv_strLengthUtf8): Declare.
        * include/jvm.h (_Jv_strLengthUtf8): Declare.
        * prims.cc (_Jv_strLengthUtf8): Renamed from strLengthUtf8.
        * prims.cc (_Jv_strLengthUtf8): Renamed from strLengthUtf8.
        * java/lang/Object.h (Object): Add mark_array as friend function.
        * java/lang/Object.h (Object): Add mark_array as friend function.
        * prims.cc (_Jv_NewPrimArray): Use _Jv_AllocObj, not
        * prims.cc (_Jv_NewPrimArray): Use _Jv_AllocObj, not
        _Jv_AllocBytes, to ensure that header is marked.
        _Jv_AllocBytes, to ensure that header is marked.
        * boehm.cc (mark_obj): Push sync_info field for all objects, not
        * boehm.cc (mark_obj): Push sync_info field for all objects, not
        just Objects.
        just Objects.
        (mark_array): Push sync_info field for array.
        (mark_array): Push sync_info field for array.
1998-10-24  Tom Tromey  
1998-10-24  Tom Tromey  
        * java/lang/String.java (String): Updated for StringBuffer
        * java/lang/String.java (String): Updated for StringBuffer
        change.
        change.
        * java/util/BitSet.java: Renamed field (data->bits) to conform to
        * java/util/BitSet.java: Renamed field (data->bits) to conform to
        serialization spec.
        serialization spec.
        * java/lang/StringBuffer.java: Renamed fields to conform to
        * java/lang/StringBuffer.java: Renamed fields to conform to
        serialization spec: buffer->value, next->count, copy->shared.
        serialization spec: buffer->value, next->count, copy->shared.
Wed Oct 21 18:24:57 1998  Per Bothner  
Wed Oct 21 18:24:57 1998  Per Bothner  
        * java/util/TimeZone.java:  New class.
        * java/util/TimeZone.java:  New class.
        * java/util/SimpleTimeZone.java:  New class.
        * java/util/SimpleTimeZone.java:  New class.
        * java/util/Locale.java:  New file.
        * java/util/Locale.java:  New file.
        * java/util/Calendar.java:  Make almost complete.
        * java/util/Calendar.java:  Make almost complete.
        * java/util/GregorianCalendar.java
        * java/util/GregorianCalendar.java
        * java/util/natGregorianCalendar.cc:  New file.
        * java/util/natGregorianCalendar.cc:  New file.
        * java/util/Date.java:  Re-written from scratch.
        * java/util/Date.java:  Re-written from scratch.
        * java/util/natDate.cc (setTime):  Removed - no longer native.
        * java/util/natDate.cc (setTime):  Removed - no longer native.
        * include/javaprims.h (java::util):  Add new classes.
        * include/javaprims.h (java::util):  Add new classes.
        * Makefile.am (nat_files):  Add java/util/natGregorianCalendar.o.
        * Makefile.am (nat_files):  Add java/util/natGregorianCalendar.o.
        (nat_headers);  Add TimeZone.h, Calendar.h, GregorianCalendar.h.
        (nat_headers);  Add TimeZone.h, Calendar.h, GregorianCalendar.h.
Sat Oct 24 22:58:25 1998  Warren Levy  
Sat Oct 24 22:58:25 1998  Warren Levy  
        * java/io/natFileDescriptorPosix.cc (read): Zero extend jbyte b before
        * java/io/natFileDescriptorPosix.cc (read): Zero extend jbyte b before
        returning it as a jint.
        returning it as a jint.
1998-10-23  Tom Tromey  
1998-10-23  Tom Tromey  
        * prims.cc (arg_vec, main_group, main_thread): New globals.
        * prims.cc (arg_vec, main_group, main_thread): New globals.
        (JvRunMain): Use them.
        (JvRunMain): Use them.
Fri Oct 23 17:10:12 1998  Warren Levy  
Fri Oct 23 17:10:12 1998  Warren Levy  
        * java/io/DataInputStream.java: Rewritten.
        * java/io/DataInputStream.java: Rewritten.
        * java/io/DataOutputStream.java (writeUTF): OR secondary and
        * java/io/DataOutputStream.java (writeUTF): OR secondary and
        tertiary bytes with 0x80 per spec.
        tertiary bytes with 0x80 per spec.
1998-10-23  Tom Tromey  
1998-10-23  Tom Tromey  
        * java/lang/String.java (init): Changed name of `copy' argument.
        * java/lang/String.java (init): Changed name of `copy' argument.
        * java/lang/natString.cc (init): Inverted sense of `copy'
        * java/lang/natString.cc (init): Inverted sense of `copy'
        argument.
        argument.
        * java/lang/Object.h (Object): Declare mark_obj as a friend.
        * java/lang/Object.h (Object): Declare mark_obj as a friend.
        * java/lang/Class.h (Class): Declare mark_obj as a friend.
        * java/lang/Class.h (Class): Declare mark_obj as a friend.
        * boehm.cc (ObjectClass): New define.
        * boehm.cc (ObjectClass): New define.
        (ClassClass): Likewise.
        (ClassClass): Likewise.
        (mark_obj): Special-case Object and Class.
        (mark_obj): Special-case Object and Class.
        * prims.cc (_Jv_NewPrimArray): Pass correct args to memset.
        * prims.cc (_Jv_NewPrimArray): Pass correct args to memset.
        * java/util/BitSet.java: Rewrote from scratch.
        * java/util/BitSet.java: Rewrote from scratch.
        * prims.cc (lookupArray): Removed useless cast.
        * prims.cc (lookupArray): Removed useless cast.
        * java/lang/natObject.cc: Use `#pragma implementation'.
        * java/lang/natObject.cc: Use `#pragma implementation'.
        * java/lang/String.java (init): Added `copy' argument.
        * java/lang/String.java (init): Added `copy' argument.
        (String): Look in StringBuffer to find char array.
        (String): Look in StringBuffer to find char array.
        * java/lang/natString.cc (init): Added `copy' argument.
        * java/lang/natString.cc (init): Added `copy' argument.
        * java/lang/StringBuffer.java: Rewrote from scratch.
        * java/lang/StringBuffer.java: Rewrote from scratch.
        * java/lang/Compiler.java: Rewrote from scratch.
        * java/lang/Compiler.java: Rewrote from scratch.
        * java/lang/Throwable.java: Don't use NativeLang.
        * java/lang/Throwable.java: Don't use NativeLang.
        * include/javaprims.h (java::lang): Don't mention NativeLang.
        * include/javaprims.h (java::lang): Don't mention NativeLang.
        * java/lang/Process.java: Rewrote from scratch.
        * java/lang/Process.java: Rewrote from scratch.
        * java/lang/SecurityManager.java (classLoaderDepth): Commented
        * java/lang/SecurityManager.java (classLoaderDepth): Commented
        out.
        out.
        (currentClassLoader): Likewise.
        (currentClassLoader): Likewise.
        (currentLoadedClass): Likewise.
        (currentLoadedClass): Likewise.
        * java/lang/natClass.cc (getClassLoader): Commented out.
        * java/lang/natClass.cc (getClassLoader): Commented out.
        * java/lang/Class.java (getClassLoader): Commented out.
        * java/lang/Class.java (getClassLoader): Commented out.
        * java/lang/Compiler.java: Removed.
        * java/lang/Compiler.java: Removed.
        * java/lang/NativeLang.java: Removed.
        * java/lang/NativeLang.java: Removed.
        * java/lang/natFirstThread.cc (run): Use _Jv_makeUtf8Const.
        * java/lang/natFirstThread.cc (run): Use _Jv_makeUtf8Const.
        * include/jvm.h (StringClass): Declare _Jv_makeUtf8Const.
        * include/jvm.h (StringClass): Declare _Jv_makeUtf8Const.
        * prims.cc (_Jv_makeUtf8Const): Renamed from makeUtf8Const.
        * prims.cc (_Jv_makeUtf8Const): Renamed from makeUtf8Const.
        (_Jv_hashUtf8String): Now static.
        (_Jv_hashUtf8String): Now static.
        * include/java-field.h (getNameUtf8Const): Use `_Jv_Utf8Const' as
        * include/java-field.h (getNameUtf8Const): Use `_Jv_Utf8Const' as
        name of return type.
        name of return type.
        * java/lang/Class.h (Class): Declare checkMemberAccess.
        * java/lang/Class.h (Class): Declare checkMemberAccess.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added Member.h.
        * Makefile.am (nat_headers): Added Member.h.
        * java/lang/natClass.cc: Include Member.h.
        * java/lang/natClass.cc: Include Member.h.
        (getDeclaredClasses): Call checkMemberAccess.
        (getDeclaredClasses): Call checkMemberAccess.
        * java/lang/Class.java (checkMemberAccess): Call
        * java/lang/Class.java (checkMemberAccess): Call
        SecurityManager.checkMemberAccess.
        SecurityManager.checkMemberAccess.
Fri Oct 23 08:01:54 1998  Anthony Green  
Fri Oct 23 08:01:54 1998  Anthony Green  
        * java/lang/SecurityManager.java: Rewritten.
        * java/lang/SecurityManager.java: Rewritten.
Thu Oct 22 17:16:10 1998  Anthony Green  
Thu Oct 22 17:16:10 1998  Anthony Green  
        * java/applet/Applet.java, java/applet/AppletContext.java,
        * java/applet/Applet.java, java/applet/AppletContext.java,
        java/applet/AppletStub.java, java/applet/AudioClip.java,
        java/applet/AppletStub.java, java/applet/AudioClip.java,
        java/awt/AWTError.java, java/awt/AWTException.java,
        java/awt/AWTError.java, java/awt/AWTException.java,
        java/awt/BorderLayout.java, java/awt/Button.java,
        java/awt/BorderLayout.java, java/awt/Button.java,
        java/awt/Canvas.java, java/awt/CardLayout.java,
        java/awt/Canvas.java, java/awt/CardLayout.java,
        java/awt/Checkbox.java, java/awt/CheckboxGroup.java,
        java/awt/Checkbox.java, java/awt/CheckboxGroup.java,
        java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
        java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
        java/awt/Color.java, java/awt/Component.java,
        java/awt/Color.java, java/awt/Component.java,
        java/awt/Container.java, java/awt/Dialog.java,
        java/awt/Container.java, java/awt/Dialog.java,
        java/awt/Dimension.java, java/awt/Event.java,
        java/awt/Dimension.java, java/awt/Event.java,
        java/awt/FileDialog.java, java/awt/FlowLayout.java,
        java/awt/FileDialog.java, java/awt/FlowLayout.java,
        java/awt/Font.java, java/awt/FontMetrics.java,
        java/awt/Font.java, java/awt/FontMetrics.java,
        java/awt/Frame.java, java/awt/Graphics.java,
        java/awt/Frame.java, java/awt/Graphics.java,
        java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
        java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
        java/awt/GridLayout.java, java/awt/Image.java,
        java/awt/GridLayout.java, java/awt/Image.java,
        java/awt/Insets.java, java/awt/Label.java,
        java/awt/Insets.java, java/awt/Label.java,
        java/awt/LayoutManager.java, java/awt/List.java,
        java/awt/LayoutManager.java, java/awt/List.java,
        java/awt/MediaTracker.java, java/awt/Menu.java,
        java/awt/MediaTracker.java, java/awt/Menu.java,
        java/awt/MenuBar.java, java/awt/MenuComponent.java,
        java/awt/MenuBar.java, java/awt/MenuComponent.java,
        java/awt/MenuContainer.java, java/awt/MenuItem.java,
        java/awt/MenuContainer.java, java/awt/MenuItem.java,
        java/awt/Panel.java, java/awt/Point.java, java/awt/Polygon.java,
        java/awt/Panel.java, java/awt/Point.java, java/awt/Polygon.java,
        java/awt/Rectangle.java, java/awt/Scrollbar.java,
        java/awt/Rectangle.java, java/awt/Scrollbar.java,
        java/awt/TextArea.java, java/awt/TextComponent.java,
        java/awt/TextArea.java, java/awt/TextComponent.java,
        java/awt/TextField.java, java/awt/Toolkit.java,
        java/awt/TextField.java, java/awt/Toolkit.java,
        java/awt/Window.java, java/awt/image/ColorModel.java,
        java/awt/Window.java, java/awt/image/ColorModel.java,
        java/awt/image/CropImageFilter.java,
        java/awt/image/CropImageFilter.java,
        java/awt/image/DirectColorModel.java,
        java/awt/image/DirectColorModel.java,
        java/awt/image/FilteredImageSource.java,
        java/awt/image/FilteredImageSource.java,
        java/awt/image/ImageConsumer.java,
        java/awt/image/ImageConsumer.java,
        java/awt/image/ImageFilter.java,
        java/awt/image/ImageFilter.java,
        java/awt/image/ImageObserver.java,
        java/awt/image/ImageObserver.java,
        java/awt/image/ImageProducer.java,
        java/awt/image/ImageProducer.java,
        java/awt/image/IndexColorModel.java,
        java/awt/image/IndexColorModel.java,
        java/awt/image/MemoryImageSource.java,
        java/awt/image/MemoryImageSource.java,
        java/awt/image/PixelGrabber.java,
        java/awt/image/PixelGrabber.java,
        java/awt/image/RGBImageFilter.java, java/awt/peer/ButtonPeer.java,
        java/awt/image/RGBImageFilter.java, java/awt/peer/ButtonPeer.java,
        java/awt/peer/CanvasPeer.java,
        java/awt/peer/CanvasPeer.java,
        java/awt/peer/CheckboxMenuItemPeer.java,
        java/awt/peer/CheckboxMenuItemPeer.java,
        java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
        java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
        java/awt/peer/ComponentPeer.java,
        java/awt/peer/ComponentPeer.java,
        java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
        java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
        java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
        java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
        java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
        java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
        java/awt/peer/MenuBarPeer.java,
        java/awt/peer/MenuBarPeer.java,
        java/awt/peer/MenuComponentPeer.java,
        java/awt/peer/MenuComponentPeer.java,
        java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
        java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
        java/awt/peer/PanelPeer.java, java/awt/peer/ScrollbarPeer.java,
        java/awt/peer/PanelPeer.java, java/awt/peer/ScrollbarPeer.java,
        java/awt/peer/TextAreaPeer.java,
        java/awt/peer/TextAreaPeer.java,
        java/awt/peer/TextComponentPeer.java,
        java/awt/peer/TextComponentPeer.java,
        java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java,
        java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java,
        java/net/ContentHandler.java, java/net/ContentHandlerFactory.java,
        java/net/ContentHandler.java, java/net/ContentHandlerFactory.java,
        java/net/DatagramPacket.java, java/net/DatagramSocket.java,
        java/net/DatagramPacket.java, java/net/DatagramSocket.java,
        java/net/DefaultSocketImpl.java, java/net/InetAddress.java,
        java/net/DefaultSocketImpl.java, java/net/InetAddress.java,
        java/net/MalformedURLException.java, java/net/NativeNet.java,
        java/net/MalformedURLException.java, java/net/NativeNet.java,
        java/net/ProtocolException.java, java/net/ServerSocket.java,
        java/net/ProtocolException.java, java/net/ServerSocket.java,
        java/net/Socket.java, java/net/SocketException.java,
        java/net/Socket.java, java/net/SocketException.java,
        java/net/SocketImpl.java, java/net/SocketImplFactory.java,
        java/net/SocketImpl.java, java/net/SocketImplFactory.java,
        java/net/URL.java, java/net/URLConnection.java,
        java/net/URL.java, java/net/URLConnection.java,
        java/net/URLEncoder.java, java/net/URLStreamHandler.java,
        java/net/URLEncoder.java, java/net/URLStreamHandler.java,
        java/net/URLStreamHandlerFactory.java,
        java/net/URLStreamHandlerFactory.java,
        java/net/UnknownHostException.java,
        java/net/UnknownHostException.java,
        java/net/UnknownServiceException.java: Removed.
        java/net/UnknownServiceException.java: Removed.
1998-10-22  Tom Tromey  
1998-10-22  Tom Tromey  
        * prims.cc (_Jv_AllocObject): Register finalizer if class'
        * prims.cc (_Jv_AllocObject): Register finalizer if class'
        finalizer is not Object.finalize.
        finalizer is not Object.finalize.
        (internalAddClass): Don't set `final' member of class.
        (internalAddClass): Don't set `final' member of class.
        * java/lang/Object.h: Updated _JvObjectPrefix comment to mention
        * java/lang/Object.h: Updated _JvObjectPrefix comment to mention
        other places that know about finalize() location.
        other places that know about finalize() location.
        * java/lang/Class.h (Class): Removed `final' field.
        * java/lang/Class.h (Class): Removed `final' field.
        * aclocal.m4, configure: Rebuilt.
        * aclocal.m4, configure: Rebuilt.
        * acinclude.m4 (LIB_AC_PROG_CXX): Unconditionally use
        * acinclude.m4 (LIB_AC_PROG_CXX): Unconditionally use
        AC_CHECK_PROGS; otherwise the CXX cache variable might not be
        AC_CHECK_PROGS; otherwise the CXX cache variable might not be
        set.
        set.
        * configure.in (AC_OUTPUT): Pass CXX to config.status.
        * configure.in (AC_OUTPUT): Pass CXX to config.status.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (AM_MAKEFLAGS): Added CXX, CXXFLAGS.
        * Makefile.am (AM_MAKEFLAGS): Added CXX, CXXFLAGS.
1998-10-21  Tom Tromey  
1998-10-21  Tom Tromey  
        * java/lang/Object.java (finalize): Move to be first method in
        * java/lang/Object.java (finalize): Move to be first method in
        class.
        class.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in (GCINCS): Include contents of boehm-cflags file.
        * configure.in (GCINCS): Include contents of boehm-cflags file.
Tue Oct 20 13:11:04 1998  Alexandre Petit-Bianco  
Tue Oct 20 13:11:04 1998  Alexandre Petit-Bianco  
        * java/lang/ArrayIndexOutOfBoundsException.java
        * java/lang/ArrayIndexOutOfBoundsException.java
        (ArrayIndexOutOfBoundsException): Fixed string literal.
        (ArrayIndexOutOfBoundsException): Fixed string literal.
        * java/lang/StringIndexOutOfBoundsException.java
        * java/lang/StringIndexOutOfBoundsException.java
        (StringIndexOutOfBoundsException): Fixed string literal.
        (StringIndexOutOfBoundsException): Fixed string literal.
1998-10-20  Andrew Haley  
1998-10-20  Andrew Haley  
        * natFileDescriptorEcos.cc added.
        * natFileDescriptorEcos.cc added.
        * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
        * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
1998-10-20  Andrew Haley  
1998-10-20  Andrew Haley  
        * acconfig.h: test for __int32_t and __uint32_t added.
        * acconfig.h: test for __int32_t and __uint32_t added.
        * include/config.h.in: test for __int32_t and __uint32_t added.
        * include/config.h.in: test for __int32_t and __uint32_t added.
        * java/lang/fdlibm.h: test for __int32_t and __uint32_t added.
        * java/lang/fdlibm.h: test for __int32_t and __uint32_t added.
        * java/lang/mprec.h: test for __int32_t and __uint32_t added.
        * java/lang/mprec.h: test for __int32_t and __uint32_t added.
        * configure.in: test for __int32_t and __uint32_t added.
        * configure.in: test for __int32_t and __uint32_t added.
        * configure: test for __int32_t and __uint32_t added.
        * configure: test for __int32_t and __uint32_t added.
        * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
        * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
        * configure.in: Test for --enable ecos and link
        * configure.in: Test for --enable ecos and link
        natFileDescriptor.cc to natFileDescriptorEcos.cc or
        natFileDescriptor.cc to natFileDescriptorEcos.cc or
        natFileDescriptorPosix.cc
        natFileDescriptorPosix.cc
        * java/lang/dtoa.c: #include  moved inside #ifdef DEBUG.
        * java/lang/dtoa.c: #include  moved inside #ifdef DEBUG.
Mon Oct 19 18:13:58 1998  Warren Levy  
Mon Oct 19 18:13:58 1998  Warren Levy  
        * java/io/ByteArrayInputStream.java (skip): Ensure that arg passed
        * java/io/ByteArrayInputStream.java (skip): Ensure that arg passed
        in isn't negative.
        in isn't negative.
        * java/io/CharArrayReader.java (close): Synchronize on lock
        * java/io/CharArrayReader.java (close): Synchronize on lock
        object per Reader contract.
        object per Reader contract.
        (read): Synchronize on lock obj.  Verify that reader wasn't closed.
        (read): Synchronize on lock obj.  Verify that reader wasn't closed.
        (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
        (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
        (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
        (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
        Ensure that arg passed in isn't negative.
        Ensure that arg passed in isn't negative.
        * java/io/FilterReader.java (FilterReader): Use the lock obj when
        * java/io/FilterReader.java (FilterReader): Use the lock obj when
        constructing the superclass.
        constructing the superclass.
        * java/io/PushbackReader.java (close): Synchronize on lock
        * java/io/PushbackReader.java (close): Synchronize on lock
        object per Reader contract.
        object per Reader contract.
        (read): Synchronize on lock obj.  Verify that reader wasn't closed.
        (read): Synchronize on lock obj.  Verify that reader wasn't closed.
        (ready): Synchronize on lock obj.  Throw IOException if reader
        (ready): Synchronize on lock obj.  Throw IOException if reader
        wasn't closed.
        wasn't closed.
        (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
        (reset): Synchronize on lock obj.  Verify that reader wasn't closed.
        (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
        (skip): Synchronize on lock obj.  Verify that reader wasn't closed.
        Ensure that arg passed in isn't negative.
        Ensure that arg passed in isn't negative.
        (unread): Synchronize on lock obj.  Verify that reader wasn't closed.
        (unread): Synchronize on lock obj.  Verify that reader wasn't closed.
        * java/io/StringReader.java: Created.
        * java/io/StringReader.java: Created.
Sun Oct 18 02:19:11 1998  Warren Levy  
Sun Oct 18 02:19:11 1998  Warren Levy  
        * java/io/CharArrayReader.java (mark): Removed synchronized modifier
        * java/io/CharArrayReader.java (mark): Removed synchronized modifier
        to match JCL.
        to match JCL.
        (read): Removed synchronized modifier to match JCL.
        (read): Removed synchronized modifier to match JCL.
        (reset): Removed synchronized modifier to match JCL.
        (reset): Removed synchronized modifier to match JCL.
        (skip): Removed synchronized modifier to match JCL.
        (skip): Removed synchronized modifier to match JCL.
Sun Oct 18 02:01:54 1998  Warren Levy  
Sun Oct 18 02:01:54 1998  Warren Levy  
        * java/io/PushbackReader.java (PushbackReader): Made
        * java/io/PushbackReader.java (PushbackReader): Made
        constructors public.
        constructors public.
1998-10-17  Tom Tromey  
1998-10-17  Tom Tromey  
        * java/io/PushbackInputStream.java (PushbackInputStream): Made
        * java/io/PushbackInputStream.java (PushbackInputStream): Made
        constructors public.
        constructors public.
1998-10-16  Anthony Green  
1998-10-16  Anthony Green  
        * aclocal.m4, configure: Rebuilt.
        * aclocal.m4, configure: Rebuilt.
        * acinclude.m4 (LIBJAVA_CONFIGURE): Changed for new
        * acinclude.m4 (LIBJAVA_CONFIGURE): Changed for new
        configure.host.
        configure.host.
        * configure.host: Rewrote.
        * configure.host: Rewrote.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (AM_CXXFLAGS): Added LIBJAVA_CXXFLAGS.
        * Makefile.am (AM_CXXFLAGS): Added LIBJAVA_CXXFLAGS.
        (AM_CFLAGS): New macro.
        (AM_CFLAGS): New macro.
        ($(c_files)): Use COMPILE macro.
        ($(c_files)): Use COMPILE macro.
        (EXTRA_libjava_a_SOURCES): Added dummy file to work around
        (EXTRA_libjava_a_SOURCES): Added dummy file to work around
        automake problem(s).
        automake problem(s).
Fri Oct 16 16:36:28 1998  Warren Levy  
Fri Oct 16 16:36:28 1998  Warren Levy  
        * java/io/ByteArrayInputStream.java (mark): Removed temp. comment.
        * java/io/ByteArrayInputStream.java (mark): Removed temp. comment.
        * java/io/CharArrayReader.java: Created.
        * java/io/CharArrayReader.java: Created.
Fri Oct 16 15:17:01 1998  Warren Levy  
Fri Oct 16 15:17:01 1998  Warren Levy  
        * java/io/PushbackInputStream.java (PushbackInputStream): Changed
        * java/io/PushbackInputStream.java (PushbackInputStream): Changed
        size check to allow 0 per JCL.
        size check to allow 0 per JCL.
        * java/io/PushbackReader.java: Created.
        * java/io/PushbackReader.java: Created.
1998-10-16  Tom Tromey  
1998-10-16  Tom Tromey  
        * java/io/natFileDescriptor.cc: Conditionalize ,
        * java/io/natFileDescriptor.cc: Conditionalize ,
         includes.
         includes.
        * java/io/natFile.cc: Conditionalize  include.
        * java/io/natFile.cc: Conditionalize  include.
        * include/no-threads.h: Conditionalize  include on
        * include/no-threads.h: Conditionalize  include on
        HAVE_UNISTD_H.
        HAVE_UNISTD_H.
Fri Oct 16 14:39:51 1998  Andrew Haley  
Fri Oct 16 14:39:51 1998  Andrew Haley  
        * include/no-threads.h: Don't include  unless HAVE_SLEEP
        * include/no-threads.h: Don't include  unless HAVE_SLEEP
        is defined.
        is defined.
Thu Oct 15 19:27:54 1998  Warren Levy  
Thu Oct 15 19:27:54 1998  Warren Levy  
        * java/io/FilterReader.java: Created.
        * java/io/FilterReader.java: Created.
Thu Oct 15 17:49:43 1998  Warren Levy  
Thu Oct 15 17:49:43 1998  Warren Levy  
        * java/io/PushbackInputStream.java: Rewritten.
        * java/io/PushbackInputStream.java: Rewritten.
        * java/io/BufferedInputStream.java (BufferedInputStream): Check
        * java/io/BufferedInputStream.java (BufferedInputStream): Check
        that size passed to constructor is legal.
        that size passed to constructor is legal.
        (read): Check that args passed in are legal.
        (read): Check that args passed in are legal.
        (skip): Rewritten to get rid of the temporary buffer.
        (skip): Rewritten to get rid of the temporary buffer.
        (refill): Added marklimit check to grow the buffer.
        (refill): Added marklimit check to grow the buffer.
        * java/io/ByteArrayInputStream.java (read): Optimized invalid args
        * java/io/ByteArrayInputStream.java (read): Optimized invalid args
        check.
        check.
        (bytesAvail): Removed.
        (bytesAvail): Removed.
        (read): Changed bytesAvail to Math.min.
        (read): Changed bytesAvail to Math.min.
        (skip): Changed bytesAvail to Math.min.
        (skip): Changed bytesAvail to Math.min.
        * java/io/InputStream.java (read): Got rid of extraneous exceptions
        * java/io/InputStream.java (read): Got rid of extraneous exceptions
        from the throws clause.
        from the throws clause.
        (skip): Rewritten to use a temporary buffer.
        (skip): Rewritten to use a temporary buffer.
Thu Oct 15 19:42:55 1998  Andrew Haley  
Thu Oct 15 19:42:55 1998  Andrew Haley  
        * prims.cc: (JvConvertArgv): Check added for argc < 0; possible on
        * prims.cc: (JvConvertArgv): Check added for argc < 0; possible on
        some target OSes
        some target OSes
        * java/lang/dtoa.c: (print): Made #ifdef DEBUG only.
        * java/lang/dtoa.c: (print): Made #ifdef DEBUG only.
        * java/lang/strtod.c: (_strtod_r): Don't use HUGE_VAL: it's faster
        * java/lang/strtod.c: (_strtod_r): Don't use HUGE_VAL: it's faster
        to write the double one word at a time.
        to write the double one word at a time.
Tue Oct 13 14:41:47 1998  Warren Levy  
Tue Oct 13 14:41:47 1998  Warren Levy  
        * java/io/BufferedInputStream.java:  Rewritten.
        * java/io/BufferedInputStream.java:  Rewritten.
1998-10-12  Tom Tromey  
1998-10-12  Tom Tromey  
        * jni.cc: Include config.h and stddef.h.
        * jni.cc: Include config.h and stddef.h.
        * java/lang/Class.h (_dispatchTable): Removed again.
        * java/lang/Class.h (_dispatchTable): Removed again.
        Removed all ACC_* defines again.
        Removed all ACC_* defines again.
Fri Oct  9 17:08:34 1998  Per Bothner  
Fri Oct  9 17:08:34 1998  Per Bothner  
        * Makefile.am (nat_files):  Add netField.o.
        * Makefile.am (nat_files):  Add netField.o.
        (libjava_a_SOURCES):  Add jni.cc.
        (libjava_a_SOURCES):  Add jni.cc.
        (java/lang/reflect/Field.h):  New rule.
        (java/lang/reflect/Field.h):  New rule.
        * Makefile.in:  Re-generated.
        * Makefile.in:  Re-generated.
        * include/javaprims.h:  Add some extra class and typedefs.
        * include/javaprims.h:  Add some extra class and typedefs.
        * include/jni.h:  New file.
        * include/jni.h:  New file.
        * jni.cc:  New file.
        * jni.cc:  New file.
        * include/java-field.h:  New file.
        * include/java-field.h:  New file.
        * include/jvm.h:  #include .
        * include/jvm.h:  #include .
        * boehm.cc:  #include .
        * boehm.cc:  #include .
        * java/lang/Class.h (JvField, inline numbers):  Moved to java-field.h.
        * java/lang/Class.h (JvField, inline numbers):  Moved to java-field.h.
        * java/lang/reflect/Member.java:  New class.
        * java/lang/reflect/Member.java:  New class.
        * java/lang/reflect/Field.java:  New class.  (Very incomplete.)
        * java/lang/reflect/Field.java:  New class.  (Very incomplete.)
        * java/lang/reflect/natField.cc:  New file.  (Very incomplete.)
        * java/lang/reflect/natField.cc:  New file.  (Very incomplete.)
Sun Oct 11 00:34:44 1998  Anthony Green  
Sun Oct 11 00:34:44 1998  Anthony Green  
        * Makefile.in, aclocal.m4, configure, test/Makefile.in,
        * Makefile.in, aclocal.m4, configure, test/Makefile.in,
        testsuite/Makefile.in: Rebuilt.
        testsuite/Makefile.in: Rebuilt.
        * Makefile.am, acinclude.m4, configure.in: Add multilib support.
        * Makefile.am, acinclude.m4, configure.in: Add multilib support.
        * configure.host: Created.
        * configure.host: Created.
1998-10-10  Tom Tromey  
1998-10-10  Tom Tromey  
        * java/lang/natObject.cc (sync_init): Always allocate a new
        * java/lang/natObject.cc (sync_init): Always allocate a new
        sync_info.
        sync_info.
1998-10-09  Tom Tromey  
1998-10-09  Tom Tromey  
        * java/io/ByteArrayInputStream.java (mark): Renamed from
        * java/io/ByteArrayInputStream.java (mark): Renamed from
        `mark_FIXME'.
        `mark_FIXME'.
        * java/io/FileOutputStream.java (finalize): Removed.
        * java/io/FileOutputStream.java (finalize): Removed.
        * java/io/FileDescriptor.java (finalize): New method.
        * java/io/FileDescriptor.java (finalize): New method.
Thu Oct  8 17:59:43 1998  Warren Levy  
Thu Oct  8 17:59:43 1998  Warren Levy  
        * ByteArrayInputStream.java: Corrected status comment.
        * ByteArrayInputStream.java: Corrected status comment.
Thu Oct  8 17:22:49 1998  Warren Levy  
Thu Oct  8 17:22:49 1998  Warren Levy  
        * ByteArrayInputStream.java, FilterInputStream.java: Rewritten.
        * ByteArrayInputStream.java, FilterInputStream.java: Rewritten.
1998-10-08  Tom Tromey  
1998-10-08  Tom Tromey  
        * prims.cc (lookupArray): Use static array to initialize list of
        * prims.cc (lookupArray): Use static array to initialize list of
        interfaces.
        interfaces.
Thu Oct  8 12:45:03 1998  Anthony Green  
Thu Oct  8 12:45:03 1998  Anthony Green  
        * prims.cc (lookupArray): Initialize the msize for new
        * prims.cc (lookupArray): Initialize the msize for new
        array classes.
        array classes.
Wed Oct  7 12:13:59 1998  Anthony Green  
Wed Oct  7 12:13:59 1998  Anthony Green  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Check for fsync and sleep.
        * configure.in: Check for fsync and sleep.
        * acconfig.h (HAVE_SLEEP, HAVE_FSYNC): Added.
        * acconfig.h (HAVE_SLEEP, HAVE_FSYNC): Added.
        * include/no-threads.h (_Jv_CondWait): Wrap sleep() use with
        * include/no-threads.h (_Jv_CondWait): Wrap sleep() use with
        HAVE_SLEEP. Include config.h.
        HAVE_SLEEP. Include config.h.
        * java/io/natFileDescriptor.cc (NO_FSYNC_MESSAGE): Added.
        * java/io/natFileDescriptor.cc (NO_FSYNC_MESSAGE): Added.
        * java/io/natFileDescriptor.cc (sync): Wrap fsync() use
        * java/io/natFileDescriptor.cc (sync): Wrap fsync() use
        with HAVE_FSYNC.
        with HAVE_FSYNC.
1998-10-08  Tom Tromey  
1998-10-08  Tom Tromey  
        * java/io/natFile.cc: Don't include SecurityManager.h.
        * java/io/natFile.cc: Don't include SecurityManager.h.
        (performList): Renamed.
        (performList): Renamed.
        (performMkdir): Likewise.
        (performMkdir): Likewise.
        (performRenameTo): Likewise.
        (performRenameTo): Likewise.
        (performDelete): Likewise.
        (performDelete): Likewise.
        Include .
        Include .
        * java/io/File.java (performDelete): Renamed from natDelete.
        * java/io/File.java (performDelete): Renamed from natDelete.
        (list): Now written in Java.
        (list): Now written in Java.
        (performList): New method.
        (performList): New method.
        (performMkdir): New method.
        (performMkdir): New method.
        (mkdir): Now written in Java.
        (mkdir): Now written in Java.
        (performRenameTo): New method.
        (performRenameTo): New method.
        (renameTo): Now written in Java.
        (renameTo): Now written in Java.
1998-10-06  Tom Tromey  
1998-10-06  Tom Tromey  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (ETAGS_ARGS): New macro.
        * Makefile.am (ETAGS_ARGS): New macro.
        (TAGS_DEPENDENCIES): Likewise.
        (TAGS_DEPENDENCIES): Likewise.
Tue Oct  6 22:04:44 PDT 1998 Anthony Green  
Tue Oct  6 22:04:44 PDT 1998 Anthony Green  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am: Use -classpath option with javac.
        * Makefile.am: Use -classpath option with javac.
Tue Oct  6 18:51:31 1998  Tom Tromey  
Tue Oct  6 18:51:31 1998  Tom Tromey  
        * java/io/FileOutputStream.java (finalize): Call
        * java/io/FileOutputStream.java (finalize): Call
        super.finalize().
        super.finalize().
Tue Oct  6 16:02:45 1998  Anthony Green  
Tue Oct  6 16:02:45 1998  Anthony Green  
        * java/lang/mprec.h: Remove unused _mprec_log10 which conflicts
        * java/lang/mprec.h: Remove unused _mprec_log10 which conflicts
        with newlib's libm.
        with newlib's libm.
        * java/lang/mprec.c: Ditto.
        * java/lang/mprec.c: Ditto.
        * java/lang/mprec.h: Include math.h for HUGE_VAL when
        * java/lang/mprec.h: Include math.h for HUGE_VAL when
        cross-compiling.
        cross-compiling.
Tue Oct  6 14:27:00 1998  Warren Levy  
Tue Oct  6 14:27:00 1998  Warren Levy  
        * java/io/InputStream.java (skip): Make local var i a long.
        * java/io/InputStream.java (skip): Make local var i a long.
Mon Oct  5 09:44:24 1998  Tom Tromey  
Mon Oct  5 09:44:24 1998  Tom Tromey  
        * java/lang/natObject.cc (clone): Use memcpy, not memmove.
        * java/lang/natObject.cc (clone): Use memcpy, not memmove.
        * prims.cc (lookupArray): Use memcpy, not memmove.
        * prims.cc (lookupArray): Use memcpy, not memmove.
        * include/config.h.in: Rebuilt.
        * include/config.h.in: Rebuilt.
        * acconfig.h (HAVE_MEMCPY): Added.
        * acconfig.h (HAVE_MEMCPY): Added.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Check for memcpy again.
        * configure.in: Check for memcpy again.
        * java/io/RandomAccessFile.java (RandomAccessFile): Use
        * java/io/RandomAccessFile.java (RandomAccessFile): Use
        String.compareTo, not ==.
        String.compareTo, not ==.
        * java/lang/Class.h (Class): Use _Jv_DispatchTable.
        * java/lang/Class.h (Class): Use _Jv_DispatchTable.
        (_PRIMITIVE_DTABLE): Use _Jv_DispatchTable.
        (_PRIMITIVE_DTABLE): Use _Jv_DispatchTable.
        * java/lang/natObject.cc (struct _dispatchTable): Removed.
        * java/lang/natObject.cc (struct _dispatchTable): Removed.
        * include/jvm.h (struct _Jv_DispatchTable): New structure.
        * include/jvm.h (struct _Jv_DispatchTable): New structure.
        * prims.cc (lookupArray): Removed dead code.  Copy Object's dtable
        * prims.cc (lookupArray): Removed dead code.  Copy Object's dtable
        into new array's dtable.
        into new array's dtable.
        (_Jv_AllocObject): Use _Jv_DispatchTable.
        (_Jv_AllocObject): Use _Jv_DispatchTable.
        (_Jv_NewPrimArray): Likewise.
        (_Jv_NewPrimArray): Likewise.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewObjectArray): Likewise.
Fri Oct  2 18:57:14 1998  Alexandre Petit-Bianco  
Fri Oct  2 18:57:14 1998  Alexandre Petit-Bianco  
        * prims.cc (_Jv_ThrowBadArrayIndex): Construct a string with the
        * prims.cc (_Jv_ThrowBadArrayIndex): Construct a string with the
        offending index value.
        offending index value.
        (_Jv_NewPrimArray): Throw NegativeArraySizeException when
        (_Jv_NewPrimArray): Throw NegativeArraySizeException when
        appropriate.
        appropriate.
        * include/jvm.h (_Jv_ThrowBadArrayIndex): Added declaration.
        * include/jvm.h (_Jv_ThrowBadArrayIndex): Added declaration.
        * java/lang/Throwable.java: (Throwable): fixed argument to this().
        * java/lang/Throwable.java: (Throwable): fixed argument to this().
Fri Oct  2 15:58:23 1998  Warren Levy  
Fri Oct  2 15:58:23 1998  Warren Levy  
        * java/io/DataInput.java, java/io/InputStream.java: Rewritten.
        * java/io/DataInput.java, java/io/InputStream.java: Rewritten.
        * java/io/OutputStream.java (write): Use off and len parameters to
        * java/io/OutputStream.java (write): Use off and len parameters to
        output partial byte array.
        output partial byte array.
        * java/io/BufferedReader.java, java/io/FileReader.java,
        * java/io/BufferedReader.java, java/io/FileReader.java,
        java/io/InputStreamReader.java, java/io/LineNumberReader.java,
        java/io/InputStreamReader.java, java/io/LineNumberReader.java,
        java/io/OutputStreamWriter.java, java/io/PrintWriter.java,
        java/io/OutputStreamWriter.java, java/io/PrintWriter.java,
        java/io/Reader.java, java/io/UnsupportedEncodingException.java,
        java/io/Reader.java, java/io/UnsupportedEncodingException.java,
        java/io/Writer.java: Added COPYRIGHT-TBD comment.
        java/io/Writer.java: Added COPYRIGHT-TBD comment.
        * include/javaprims.h (java::lang): Added
        * include/javaprims.h (java::lang): Added
        ExceptionInInitializerError, IllegalStateException,
        ExceptionInInitializerError, IllegalStateException,
        NoSuchFieldException, and UnsupportedOperationException.
        NoSuchFieldException, and UnsupportedOperationException.
Fri Oct  2 01:05:38 1998  Tom Tromey  
Fri Oct  2 01:05:38 1998  Tom Tromey  
        * java/lang/natObject.cc (CloneableClass): Is a Class, not a
        * java/lang/natObject.cc (CloneableClass): Is a Class, not a
        Class*.
        Class*.
        * include/java-array.h (__JArray): Added clone method.
        * include/java-array.h (__JArray): Added clone method.
        * prims.cc (CloneableClass): New define.
        * prims.cc (CloneableClass): New define.
        (lookupArray): Initialize array class to indicate that it
        (lookupArray): Initialize array class to indicate that it
        implements Cloneable.
        implements Cloneable.
        * java/lang/Class.h: Removed all ACC_* defines.
        * java/lang/Class.h: Removed all ACC_* defines.
        * prims.cc: Include Modifier.h.
        * prims.cc: Include Modifier.h.
        (_Jv_LookupInterfaceMethod): Use methods in
        (_Jv_LookupInterfaceMethod): Use methods in
        java.lang.reflect.Modifier, not ACC_ defines.
        java.lang.reflect.Modifier, not ACC_ defines.
        * java/lang/Class.h (Class): Declare getClasses,
        * java/lang/Class.h (Class): Declare getClasses,
        getDeclaredClasses, getDeclaringClass, getModifiers,
        getDeclaredClasses, getDeclaringClass, getModifiers,
        * java/lang/Class.java: Rewrote from scratch.
        * java/lang/Class.java: Rewrote from scratch.
        * include/javaprims.h (java::lang): Added reflect and
        * include/javaprims.h (java::lang): Added reflect and
        reflect::Modifier.
        reflect::Modifier.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added Modifier.h.
        * Makefile.am (nat_headers): Added Modifier.h.
        * prims.cc (_Jv_IsInstanceOf): Return false if class is
        * prims.cc (_Jv_IsInstanceOf): Return false if class is
        primitive.
        primitive.
Fri Oct 2 06:49:00 1998  Anthony Green  
Fri Oct 2 06:49:00 1998  Anthony Green  
        * java/lang/natString.cc (_Jv_StringFindSlot): Use JvAssert
        * java/lang/natString.cc (_Jv_StringFindSlot): Use JvAssert
        instead of test and abort.
        instead of test and abort.
        * java/lang/natString.cc (_Jv_NewStringUtf8Const): Add cast to
        * java/lang/natString.cc (_Jv_NewStringUtf8Const): Add cast to
        remove compiler warning.
        remove compiler warning.
Fri Oct  2 12:33:44 1998  Andrew Haley  
Fri Oct  2 12:33:44 1998  Andrew Haley  
        * java/lang/natDouble.cc: zero terminate string.
        * java/lang/natDouble.cc: zero terminate string.
        * strtod.c: Set errno if no digits are found in fraction.
        * strtod.c: Set errno if no digits are found in fraction.
Thu Oct  1 11:48:28 1998  Tom Tromey  
Thu Oct  1 11:48:28 1998  Tom Tromey  
        * java/lang/reflect/Modifier.java: New file.
        * java/lang/reflect/Modifier.java: New file.
        * java/lang/VirtualMachineError.java: Rewrote from scratch.
        * java/lang/VirtualMachineError.java: Rewrote from scratch.
        * java/lang/VerifyError.java: Rewrote from scratch.
        * java/lang/VerifyError.java: Rewrote from scratch.
        * java/lang/UnsatisfiedLinkError.java: Rewrote from scratch.
        * java/lang/UnsatisfiedLinkError.java: Rewrote from scratch.
        * java/lang/UnknownError.java: Rewrote from scratch.
        * java/lang/UnknownError.java: Rewrote from scratch.
        * java/lang/StackOverflowError.java: Rewrote from scratch.
        * java/lang/StackOverflowError.java: Rewrote from scratch.
        * java/lang/OutOfMemoryError.java: Rewrote from scratch.
        * java/lang/OutOfMemoryError.java: Rewrote from scratch.
        * java/lang/InternalError.java: Rewrote from scratch.
        * java/lang/InternalError.java: Rewrote from scratch.
        * java/lang/IllegalAccessError.java: Rewrote from scratch.
        * java/lang/IllegalAccessError.java: Rewrote from scratch.
        * java/lang/ExceptionInInitializerError.java: New file.
        * java/lang/ExceptionInInitializerError.java: New file.
        * java/lang/Error.java: Rewrote from scratch.
        * java/lang/Error.java: Rewrote from scratch.
        * java/lang/ClassFormatError.java: Rewrote from scratch.
        * java/lang/ClassFormatError.java: Rewrote from scratch.
        * java/lang/ClassCircularityError.java: Rewrote from scratch.
        * java/lang/ClassCircularityError.java: Rewrote from scratch.
        * java/lang/AbstractMethodError.java: Rewrote from scratch.
        * java/lang/AbstractMethodError.java: Rewrote from scratch.
        * java/lang/NoClassDefFoundError.java: Rewrote from scratch.
        * java/lang/NoClassDefFoundError.java: Rewrote from scratch.
        * java/lang/NoSuchFieldError.java: Rewrote from scratch.
        * java/lang/NoSuchFieldError.java: Rewrote from scratch.
        * java/lang/LinkageError.java: Rewrote from scratch.
        * java/lang/LinkageError.java: Rewrote from scratch.
        * java/lang/IncompatibleClassChangeError.java: Rewrote from
        * java/lang/IncompatibleClassChangeError.java: Rewrote from
        scratch.
        scratch.
        * java/lang/NoSuchMethodError.java: Rewrote from scratch.
        * java/lang/NoSuchMethodError.java: Rewrote from scratch.
        * java/lang/natObject.cc (_Jv_FinalizeObject): New function.
        * java/lang/natObject.cc (_Jv_FinalizeObject): New function.
        * java/lang/Object.h (Object): Declare _Jv_FinalizeObject as a
        * java/lang/Object.h (Object): Declare _Jv_FinalizeObject as a
        friend.
        friend.
        * include/cni.h (JvAllocObject): Moved from prims.cc.
        * include/cni.h (JvAllocObject): Moved from prims.cc.
        Include Class.h.
        Include Class.h.
        * prims.cc (JvAllocObject): Moved to cni.h.
        * prims.cc (JvAllocObject): Moved to cni.h.
        (_Jv_AllocObject): Use _Jv_FinalizeObject.
        (_Jv_AllocObject): Use _Jv_FinalizeObject.
        (finalize_name): Removed.
        (finalize_name): Removed.
Wed Sep 30 12:09:34 1998  Tom Tromey  
Wed Sep 30 12:09:34 1998  Tom Tromey  
        * java/lang/Class.h (Class): Added size() method.
        * java/lang/Class.h (Class): Added size() method.
        * prims.cc (_Jv_MonitorEnter): Removed.
        * prims.cc (_Jv_MonitorEnter): Removed.
        (_Jv_MonitorExit): Removed.
        (_Jv_MonitorExit): Removed.
        * java/lang/Object.h (JvSyncInfo): Removed.
        * java/lang/Object.h (JvSyncInfo): Removed.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added Cloneable.h,
        * Makefile.am (nat_headers): Added Cloneable.h,
        CloneNotSupportedException.h.
        CloneNotSupportedException.h.
        * java/lang/Object.h: Rewrote.
        * java/lang/Object.h: Rewrote.
        * java/lang/natObject.cc: Rewrote from scratch.
        * java/lang/natObject.cc: Rewrote from scratch.
        * java/lang/Object.java: Rewrote from scratch.
        * java/lang/Object.java: Rewrote from scratch.
        * java/io/natFile.cc: Conditionally include .
        * java/io/natFile.cc: Conditionally include .
        (list): If no , always return NULL.
        (list): If no , always return NULL.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Check for dirent.h.
        * configure.in: Check for dirent.h.
        * prims.cc (lookupArray): Don't use sprintf.
        * prims.cc (lookupArray): Don't use sprintf.
        * java/util/Hashtable.java (containsKey): Use `abs' to compute
        * java/util/Hashtable.java (containsKey): Use `abs' to compute
        initial index.
        initial index.
        (get): Likewise.
        (get): Likewise.
        (put): Likewise.
        (put): Likewise.
        (rehash): Likewise.
        (rehash): Likewise.
        (remove): Likewise.
        (remove): Likewise.
        * java/util/Hashtable.java (hsize): Renamed from size to avoid
        * java/util/Hashtable.java (hsize): Renamed from size to avoid
        name conflict with method.
        name conflict with method.
        * include/javaprims.h (java::util): Added HashtableEntry.
        * include/javaprims.h (java::util): Added HashtableEntry.
Tue Sep 29 16:48:01 1998  Warren Levy  
Tue Sep 29 16:48:01 1998  Warren Levy  
        * java/util/Hashtable.java: Rewritten.
        * java/util/Hashtable.java: Rewritten.
Tue Sep 29 00:28:42 1998  Tom Tromey  
Tue Sep 29 00:28:42 1998  Tom Tromey  
        * java/io/natFileDescriptor.cc (write): Correctly test `write'
        * java/io/natFileDescriptor.cc (write): Correctly test `write'
        return value.
        return value.
        (write): Likewise.
        (write): Likewise.
        * java/lang/natThread.cc (join): Fixed assertion to refer to `nt',
        * java/lang/natThread.cc (join): Fixed assertion to refer to `nt',
        not `curr_nt'.
        not `curr_nt'.
        * posix-threads.cc (_Jv_CondWait): Now returns int.
        * posix-threads.cc (_Jv_CondWait): Now returns int.
        * include/javaprims.h (java::lang): Added
        * include/javaprims.h (java::lang): Added
        IllegalMonitorStateException.
        IllegalMonitorStateException.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added IllegalMonitorStateException.h.
        * Makefile.am (nat_headers): Added IllegalMonitorStateException.h.
        * include/no-threads.h (_Jv_CondDestroy): Removed.
        * include/no-threads.h (_Jv_CondDestroy): Removed.
        (_Jv_MutexDestroy): Removed.
        (_Jv_MutexDestroy): Removed.
        (_Jv_CondWait): Now returns int.
        (_Jv_CondWait): Now returns int.
        (_Jv_CondNotify): Likewise.  Added mutex argument.
        (_Jv_CondNotify): Likewise.  Added mutex argument.
        (_Jv_CondNotifyAll): Likewise.
        (_Jv_CondNotifyAll): Likewise.
        (_Jv_MutexLock): Always succeed.
        (_Jv_MutexLock): Always succeed.
        (_Jv_MutexUnlock): Likewise.
        (_Jv_MutexUnlock): Likewise.
        * include/posix-threads.h (_Jv_HaveCondDestroy): Define.
        * include/posix-threads.h (_Jv_HaveCondDestroy): Define.
        (_Jv_HaveMutexDestroy): Define.
        (_Jv_HaveMutexDestroy): Define.
        (_Jv_CondNotify): Now returns int.  Added mutex argument.
        (_Jv_CondNotify): Now returns int.  Added mutex argument.
        (_Jv_CondNotifyAll): Likewise.
        (_Jv_CondNotifyAll): Likewise.
        * include/quick-threads.h (_Jv_CondDestroy): Removed.
        * include/quick-threads.h (_Jv_CondDestroy): Removed.
        (_Jv_MutexDestroy): Removed.
        (_Jv_MutexDestroy): Removed.
        (_Jv_CondWait): Now returns int.
        (_Jv_CondWait): Now returns int.
        (_Jv_CondNotify): Likewise.  Added mutex argument.
        (_Jv_CondNotify): Likewise.  Added mutex argument.
        (_Jv_CondNotifyAll): Likewise.
        (_Jv_CondNotifyAll): Likewise.
        * java/lang/natObject.cc (finalize_sync_info): New function.
        * java/lang/natObject.cc (finalize_sync_info): New function.
        (init_mutex): Initialize `init' and register finalizer if
        (init_mutex): Initialize `init' and register finalizer if
        required.
        required.
        (CHECK): New macro.
        (CHECK): New macro.
        (init_mutex): Use it.
        (init_mutex): Use it.
        (notify): Use it.
        (notify): Use it.
        (notifyAll): Use it.
        (notifyAll): Use it.
        (wait): Use it.
        (wait): Use it.
        (notify): Throw IllegalMonitorStateException on failure.
        (notify): Throw IllegalMonitorStateException on failure.
        (notifyAll): Likewise.
        (notifyAll): Likewise.
        (wait): Likewise.  Also, throw InterruptedException if
        (wait): Likewise.  Also, throw InterruptedException if
        appropriate.
        appropriate.
        Include cni.h, Thread.h, IllegalMonitorStateException.h,
        Include cni.h, Thread.h, IllegalMonitorStateException.h,
        InterruptedException.h, IllegalArgumentException.h.
        InterruptedException.h, IllegalArgumentException.h.
        * java/lang/Object.h (struct JvSyncInfo): Added `init' member.
        * java/lang/Object.h (struct JvSyncInfo): Added `init' member.
        * java/lang/natString.cc: Renamed all `JvPriv' functions.
        * java/lang/natString.cc: Renamed all `JvPriv' functions.
        * java/lang/natRuntime.cc: Renamed all `JvPriv' functions.
        * java/lang/natRuntime.cc: Renamed all `JvPriv' functions.
        * java/lang/Object.h: Renamed all `JvPriv' functions (and types).
        * java/lang/Object.h: Renamed all `JvPriv' functions (and types).
        * java/lang/natObject.cc: Renamed all `JvPriv' functions.
        * java/lang/natObject.cc: Renamed all `JvPriv' functions.
        * java/lang/natThread.cc: Renamed all `JvPriv' functions.
        * java/lang/natThread.cc: Renamed all `JvPriv' functions.
        * quick-threads.cc: Renamed all `JvPriv' functions.
        * quick-threads.cc: Renamed all `JvPriv' functions.
        * prims.cc: Renamed all `JvPriv' functions.
        * prims.cc: Renamed all `JvPriv' functions.
        * posix-threads.cc: Renamed all `JvPriv' functions.
        * posix-threads.cc: Renamed all `JvPriv' functions.
        * nogc.cc: Renamed all `JvPriv' functions.
        * nogc.cc: Renamed all `JvPriv' functions.
        * no-threads.cc: Renamed all `JvPriv' functions.
        * no-threads.cc: Renamed all `JvPriv' functions.
        * boehm.cc: Renamed all `JvPriv' functions.
        * boehm.cc: Renamed all `JvPriv' functions.
        * include/quick-threads.h: Renamed all `JvPriv' functions.
        * include/quick-threads.h: Renamed all `JvPriv' functions.
        * include/posix-threads.h: Renamed all `JvPriv' functions.
        * include/posix-threads.h: Renamed all `JvPriv' functions.
        * include/no-threads.h: Renamed all `JvPriv' functions.
        * include/no-threads.h: Renamed all `JvPriv' functions.
        * include/jvm.h: Renamed all `JvPrivXXX' functions to `_Jv_XXX'.
        * include/jvm.h: Renamed all `JvPrivXXX' functions to `_Jv_XXX'.
        * include/no-threads.h (JvPrivCondWait): Wrote minimal
        * include/no-threads.h (JvPrivCondWait): Wrote minimal
        implementation.
        implementation.
        (JvPrivCondNotify): Do nothing.
        (JvPrivCondNotify): Do nothing.
        (JvPrivCondNotifyAll): Do nothing.
        (JvPrivCondNotifyAll): Do nothing.
        * prims.cc (processClass): Handle case where state is
        * prims.cc (processClass): Handle case where state is
        DOING_CONSTINIT.
        DOING_CONSTINIT.
        * java/lang/natFirstThread.cc: Include 
        * java/lang/natFirstThread.cc: Include 
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Fixed sense of --enable-libjava-debug.
        * configure.in: Fixed sense of --enable-libjava-debug.
        * java/lang/natThread.cc (join): Declare `t' outside the loop so
        * java/lang/natThread.cc (join): Declare `t' outside the loop so
        it can be used afterward by the assertion.
        it can be used afterward by the assertion.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: When cross-compiling, assume alloca.
        * configure.in: When cross-compiling, assume alloca.
        * java/lang/natDouble.cc: Updated alloca magic to avoid use of
        * java/lang/natDouble.cc: Updated alloca magic to avoid use of
        __builtin_alloca (autoconf docs are wrong here).
        __builtin_alloca (autoconf docs are wrong here).
        * java/io/natFileDescriptor.cc (close): Set fd to -1 before
        * java/io/natFileDescriptor.cc (close): Set fd to -1 before
        closing.
        closing.
        (available): Use `FD_ZERO' (typo fix).
        (available): Use `FD_ZERO' (typo fix).
Tue Sep 29 17:43:30 1998  Andrew Haley  
Tue Sep 29 17:43:30 1998  Andrew Haley  
        * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
        * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
        java/lang/natDouble.cc, java/lang/strtod.c: struct _Bigint renamed
        java/lang/natDouble.cc, java/lang/strtod.c: struct _Bigint renamed
        struct _Jv_Bigint.
        struct _Jv_Bigint.
        * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
        * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
        java/lang/natDouble.cc, java/lang/strtod.c: struct _reent renamed
        java/lang/natDouble.cc, java/lang/strtod.c: struct _reent renamed
        struct _Jv_reent.
        struct _Jv_reent.
        * java/lang/natDouble.cc: layout changed to match GNU coding standard.
        * java/lang/natDouble.cc: layout changed to match GNU coding standard.
Tue Sep 29 07:57:13 1998  Anthony Green  
Tue Sep 29 07:57:13 1998  Anthony Green  
        * java/lang/natDouble.cc: Declare alloca safely.
        * java/lang/natDouble.cc: Declare alloca safely.
        * configure, include/config.h.in: Rebuilt.
        * configure, include/config.h.in: Rebuilt.
        * configure.in: Add alloca check.
        * configure.in: Add alloca check.
Tue Sep 29 00:28:42 1998  Tom Tromey  
Tue Sep 29 00:28:42 1998  Tom Tromey  
        * java/lang/natThread.cc (finish_): Hold mutex for interrupt
        * java/lang/natThread.cc (finish_): Hold mutex for interrupt
        condition while calling notify.
        condition while calling notify.
        (join): Remove `curr_nt' from `nt's join list, not vice versa.
        (join): Remove `curr_nt' from `nt's join list, not vice versa.
        (interrupt): Hold mutex for interrupt condition while calling
        (interrupt): Hold mutex for interrupt condition while calling
        notify.
        notify.
        * java/lang/natString.cc (init): Allocate and try to read `count'
        * java/lang/natString.cc (init): Allocate and try to read `count'
        characters, not `count - offset' characters.
        characters, not `count - offset' characters.
        * java/io/ByteArrayInputStream.java (ByteArrayInputStream):
        * java/io/ByteArrayInputStream.java (ByteArrayInputStream):
        Correctly compute `count'.
        Correctly compute `count'.
        * java/lang/Boolean.java (getBoolean): Return false if property
        * java/lang/Boolean.java (getBoolean): Return false if property
        not found.
        not found.
        * java/lang/System.java (setProperties): Set prop_init.
        * java/lang/System.java (setProperties): Set prop_init.
Mon Sep 28 12:39:25 1998  Tom Tromey  
Mon Sep 28 12:39:25 1998  Tom Tromey  
        * java/io/PrintStream.java (println): Use line.separator, not
        * java/io/PrintStream.java (println): Use line.separator, not
        file.separator.
        file.separator.
        * java/lang/System.java (out, err): Make both autoflush streams.
        * java/lang/System.java (out, err): Make both autoflush streams.
        * java/io/ByteArrayOutputStream.java (write): Increment `count'.
        * java/io/ByteArrayOutputStream.java (write): Increment `count'.
        * include/config.h.in: Rebuilt.
        * include/config.h.in: Rebuilt.
        * acconfig.h (HAVE_MEMCPY): Removed.
        * acconfig.h (HAVE_MEMCPY): Removed.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Never define HAVE_MEMCPY.
        * configure.in: Never define HAVE_MEMCPY.
        * java/lang/natString.cc: Don't include OutOfMemoryError.h or
        * java/lang/natString.cc: Don't include OutOfMemoryError.h or
        Class.h.
        Class.h.
        (_Jv_AllocString): Use JvAllocObject again.
        (_Jv_AllocString): Use JvAllocObject again.
        * java/lang/Class.h (thread): New field.
        * java/lang/Class.h (thread): New field.
        (_Jv_AllocString): No longer a friend.
        (_Jv_AllocString): No longer a friend.
        * prims.cc (processClass): Removed dead code.  Changed to more
        * prims.cc (processClass): Removed dead code.  Changed to more
        closely follow the Java Language Specification.
        closely follow the Java Language Specification.
        (processClass): Return early if already at the right state.
        (processClass): Return early if already at the right state.
        * prims.cc (JvNewStringUTF): Removed.
        * prims.cc (JvNewStringUTF): Removed.
        * include/cni.h (JvNewStringUTF): New function.
        * include/cni.h (JvNewStringUTF): New function.
        (_Jv_NewStringUTF): Declare as `extern "C"'.
        (_Jv_NewStringUTF): Declare as `extern "C"'.
        * java/lang/natString.cc (_Jv_NewStringUTF): New function.
        * java/lang/natString.cc (_Jv_NewStringUTF): New function.
        * java/lang/natDouble.cc: Added copyright info and header
        * java/lang/natDouble.cc: Added copyright info and header
        comment.  Include .
        comment.  Include .
        (doubleValueOf): Use alloca, not malloc.  Allocate 3 times as many
        (doubleValueOf): Use alloca, not malloc.  Allocate 3 times as many
        bytes as are chars in string.
        bytes as are chars in string.
Sat Sep 26 00:19:27 1998  Tom Tromey  
Sat Sep 26 00:19:27 1998  Tom Tromey  
        * java/util/Hashtable.java (hkeys): Member renamed from to avoid
        * java/util/Hashtable.java (hkeys): Member renamed from to avoid
        clash with method.
        clash with method.
        (hsize): Likewise.
        (hsize): Likewise.
        * java/lang/System.java (init_properties): Now native.
        * java/lang/System.java (init_properties): Now native.
        * java/lang/natSystem.cc (init_properties): New method.
        * java/lang/natSystem.cc (init_properties): New method.
        Include java/util/Properties.h.
        Include java/util/Properties.h.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added ByteArrayOutputStream.h,
        * Makefile.am (nat_headers): Added ByteArrayOutputStream.h,
        OutputStreamWriter.h, ByteArrayInputStream.h,
        OutputStreamWriter.h, ByteArrayInputStream.h,
        InputStreamReader.h, Writer.h, InputStream.h, OutputStream.h,
        InputStreamReader.h, Writer.h, InputStream.h, OutputStream.h,
        Reader.h, Vector.h, SecurityManager.h, FilenameFilter.h,
        Reader.h, Vector.h, SecurityManager.h, FilenameFilter.h,
        SyncFailedException.h, EOFException.h, FileNotFoundException.h,
        SyncFailedException.h, EOFException.h, FileNotFoundException.h,
        Properties.h, Hashtable.h, Dictionary.h.
        Properties.h, Hashtable.h, Dictionary.h.
        (CFLAGS): Removed.
        (CFLAGS): Removed.
        * include/javaprims.h (java::io): Added Reader, Writer,
        * include/javaprims.h (java::io): Added Reader, Writer,
        InputStreamReader, OutputStreamWriter,
        InputStreamReader, OutputStreamWriter,
        UnsupportedEncodingException, ByteArrayInputStream,
        UnsupportedEncodingException, ByteArrayInputStream,
        ByteArrayOutputStream, EOFException, SyncFailedException,
        ByteArrayOutputStream, EOFException, SyncFailedException,
        PushbackInputStream.
        PushbackInputStream.
        (java::lang): Added Cloneable.
        (java::lang): Added Cloneable.
        (java::util): Added NoSuchElementException, VectorEnumeration,
        (java::util): Added NoSuchElementException, VectorEnumeration,
        Dictionary, HashtableEnumeration, PropertiesEnumeration.
        Dictionary, HashtableEnumeration, PropertiesEnumeration.
        * java/io/PipedReader.java: New file.
        * java/io/PipedReader.java: New file.
Fri Sep 25 00:11:25 1998  Tom Tromey  
Fri Sep 25 00:11:25 1998  Tom Tromey  
        * java/lang/natCharacter.cc (getNumericValue): Use `digit' to pick
        * java/lang/natCharacter.cc (getNumericValue): Use `digit' to pick
        up A-Z.
        up A-Z.
        * java/io/io-defs.h: Removed.
        * java/io/io-defs.h: Removed.
        * java/io/FileInputStream.java (skip): Use FileDescriptor.seek.
        * java/io/FileInputStream.java (skip): Use FileDescriptor.seek.
        (FileInputStream): Use new constructor.  Can throw IOException.
        (FileInputStream): Use new constructor.  Can throw IOException.
        * java/lang/System.java (getProperty): Don't throw
        * java/lang/System.java (getProperty): Don't throw
        NullPointerException.
        NullPointerException.
        * java/io/RandomAccessFile.java: Rewrote from scratch.
        * java/io/RandomAccessFile.java: Rewrote from scratch.
        * java/io/natFileDescriptor.cc: Include EOFException.h.
        * java/io/natFileDescriptor.cc: Include EOFException.h.
        (seek): New method.
        (seek): New method.
        (length): New method.
        (length): New method.
        (getFilePointer): New method.
        (getFilePointer): New method.
        (read): New method.
        (read): New method.
        (available): New method.
        (available): New method.
        * java/io/FileDescriptor.java (SET, CUR): New constants.
        * java/io/FileDescriptor.java (SET, CUR): New constants.
        (seek, length, getFilePointer, read, available): New decls.
        (seek, length, getFilePointer, read, available): New decls.
        * java/io/PipedWriter.java: New file.
        * java/io/PipedWriter.java: New file.
        * java/io/StringWriter.java: New file.
        * java/io/StringWriter.java: New file.
        * java/io/CharArrayWriter.java: New file.
        * java/io/CharArrayWriter.java: New file.
        * java/io/CharConversionException.java: New file.
        * java/io/CharConversionException.java: New file.
        * java/io/BufferedWriter.java: New file.
        * java/io/BufferedWriter.java: New file.
        * java/io/FilterWriter.java: New file.
        * java/io/FilterWriter.java: New file.
        * java/io/FileWriter.java: New file.
        * java/io/FileWriter.java: New file.
        * java/lang/natString.cc: Include ByteArrayOutputStream.h,
        * java/lang/natString.cc: Include ByteArrayOutputStream.h,
        OutputStreamWriter.h, NullPointerException.h,
        OutputStreamWriter.h, NullPointerException.h,
        ByteArrayInputStream.h, InputStreamReader.h.
        ByteArrayInputStream.h, InputStreamReader.h.
        (getBytes): New method.
        (getBytes): New method.
        (init): Throw NullPointerException.
        (init): Throw NullPointerException.
        (init): New function.
        (init): New function.
        * java/lang/String.java (getBytes): Added missing decl.
        * java/lang/String.java (getBytes): Added missing decl.
        (getBytes): New method.
        (getBytes): New method.
        (String): Added byte[]-based constructors.
        (String): Added byte[]-based constructors.
        (copyValueOf): Wrote.
        (copyValueOf): Wrote.
        (init): Declare variant which takes byte array and encoding.
        (init): Declare variant which takes byte array and encoding.
        Import java.io.UnsupportedEncodingException.
        Import java.io.UnsupportedEncodingException.
        * java/io/File.java: Rewrote from scratch.
        * java/io/File.java: Rewrote from scratch.
        * java/io/natFileDescriptor.cc: Rewrote from scratch.
        * java/io/natFileDescriptor.cc: Rewrote from scratch.
        * java/io/FileDescriptor.java: Rewrote from scratch.
        * java/io/FileDescriptor.java: Rewrote from scratch.
        * java/io/FilenameFilter.java: Rewrote from scratch.
        * java/io/FilenameFilter.java: Rewrote from scratch.
Thu Sep 24 13:30:16 1998  Tom Tromey  
Thu Sep 24 13:30:16 1998  Tom Tromey  
        * java/io/SyncFailedException.java: New file.
        * java/io/SyncFailedException.java: New file.
        * java/io/UTFDataFormatException.java: Rewrote from scratch.
        * java/io/UTFDataFormatException.java: Rewrote from scratch.
        * java/io/InterruptedIOException.java: Rewrote from scratch.
        * java/io/InterruptedIOException.java: Rewrote from scratch.
        * java/io/FileNotFoundException.java: Rewrote from scratch.
        * java/io/FileNotFoundException.java: Rewrote from scratch.
        * java/io/EOFException.java: Rewrote from scratch.
        * java/io/EOFException.java: Rewrote from scratch.
        * java/io/IOException.java: Rewrote from scratch.
        * java/io/IOException.java: Rewrote from scratch.
        * java/io/PrintStream.java: Rewrote from scratch.
        * java/io/PrintStream.java: Rewrote from scratch.
        * java/io/DataOutputStream.java: Rewrote from scratch.
        * java/io/DataOutputStream.java: Rewrote from scratch.
        * java/io/BufferedOutputStream.java: Rewrote from scratch.
        * java/io/BufferedOutputStream.java: Rewrote from scratch.
        * java/io/FilterOutputStream.java: Rewrote from scratch.
        * java/io/FilterOutputStream.java: Rewrote from scratch.
        * java/io/ByteArrayOutputStream.java: Rewrote from scratch.
        * java/io/ByteArrayOutputStream.java: Rewrote from scratch.
        * java/io/PipedOutputStream.java: Rewrote from scratch.
        * java/io/PipedOutputStream.java: Rewrote from scratch.
        * java/io/FileOutputStream.java: Rewrote from scratch.
        * java/io/FileOutputStream.java: Rewrote from scratch.
        * java/io/OutputStream.java: Rewrote from scratch.
        * java/io/OutputStream.java: Rewrote from scratch.
        * java/io/DataOutput.java: Rewrote from scratch.
        * java/io/DataOutput.java: Rewrote from scratch.
Mon Sep 28 22:59:54 1998  Per Bothner  
Mon Sep 28 22:59:54 1998  Per Bothner  
        * prims.cc (_Jv_CheckCast):  Add missing ! operator.
        * prims.cc (_Jv_CheckCast):  Add missing ! operator.
Mon Sep 28 15:50:06 1998  Anthony Green  
Mon Sep 28 15:50:06 1998  Anthony Green  
        * configure.in: Add --enable-libjava-debug
        * configure.in: Add --enable-libjava-debug
        * Makefile.am (nat_headers): Add java/lang/Float.h and
        * Makefile.am (nat_headers): Add java/lang/Float.h and
        java/lang/Double.h
        java/lang/Double.h
        * acconfig.h: Add DEBUG and HAVE_MEMCPY.
        * acconfig.h: Add DEBUG and HAVE_MEMCPY.
        * Makefile.in, configure, include/config.h.in: Rebuilt.
        * Makefile.in, configure, include/config.h.in: Rebuilt.
Mon Sep 28 17:05:58 1998  Andrew Haley  
Mon Sep 28 17:05:58 1998  Andrew Haley  
        * java/lang/Float.java: Rewritten
        * java/lang/Float.java: Rewritten
        * java/lang/Double.java: Rewritten
        * java/lang/Double.java: Rewritten
        * java/lang/natFloat.cc: toString() added.
        * java/lang/natFloat.cc: toString() added.
        * java/lang/natDouble.cc: toString() added.
        * java/lang/natDouble.cc: toString() added.
        * java/lang/natDouble.cc: doubleValueOf() added.
        * java/lang/natDouble.cc: doubleValueOf() added.
        * java/lang/dtoa.c, java/lang/mprec.c, java/lang/mprec.h,
        * java/lang/dtoa.c, java/lang/mprec.c, java/lang/mprec.h,
        java/lang/strtod.c: added.
        java/lang/strtod.c: added.
        * ieeefp.h: __sparc added.
        * ieeefp.h: __sparc added.
        * Makefile.am: java/lang/Float.h and java/lang/Double.h added.
        * Makefile.am: java/lang/Float.h and java/lang/Double.h added.
Thu Sep 24 13:30:16 1998  Tom Tromey  
Thu Sep 24 13:30:16 1998  Tom Tromey  
        * include/javaprims.h (java::lang): Added
        * include/javaprims.h (java::lang): Added
        CloneNotSupportedException.
        CloneNotSupportedException.
        * java/lang/Object.java (clone): No longer native.  Implemented.
        * java/lang/Object.java (clone): No longer native.  Implemented.
        * java/lang/natObject.cc (clone): Removed.
        * java/lang/natObject.cc (clone): Removed.
Wed Sep 23 12:03:38 1998  Tom Tromey  
Wed Sep 23 12:03:38 1998  Tom Tromey  
        * prims.cc: Don't make definitions `extern "C"'.
        * prims.cc: Don't make definitions `extern "C"'.
        (_Jv_RegisterClass): Renamed from registerClass.
        (_Jv_RegisterClass): Renamed from registerClass.
        * include/jvm.h (_Jv_ThrowBadArrayIndex): Declare.
        * include/jvm.h (_Jv_ThrowBadArrayIndex): Declare.
        (_Jv_NewArray): Likewise.
        (_Jv_NewArray): Likewise.
        (_Jv_NewMultiArray): Likewise.
        (_Jv_NewMultiArray): Likewise.
        (_Jv_CheckCast): Likewise.
        (_Jv_CheckCast): Likewise.
        (_Jv_LookupInterfaceMethod): Likewise.
        (_Jv_LookupInterfaceMethod): Likewise.
        (_Jv_CheckArrayStore): Likewise.
        (_Jv_CheckArrayStore): Likewise.
        (_Jv_RegisterClass): Likewise.
        (_Jv_RegisterClass): Likewise.
        * acconfig.h (HAVE_FMOD, HAVE_MEMCPY): Removed.
        * acconfig.h (HAVE_FMOD, HAVE_MEMCPY): Removed.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Don't check for fmod; it is provided by the fdlibm
        * configure.in: Don't check for fmod; it is provided by the fdlibm
        code.
        code.
        * prims.cc (fmod): Removed.
        * prims.cc (fmod): Removed.
        * java/lang/natString.cc (charAt): Use _Jv_uint.
        * java/lang/natString.cc (charAt): Use _Jv_uint.
        * java/lang/Class.h (class JvField): Use _Jv_ushort.
        * java/lang/Class.h (class JvField): Use _Jv_ushort.
        * prims.cc (HASH_CHARS): Use _Jv_ushort.
        * prims.cc (HASH_CHARS): Use _Jv_ushort.
        (equalUtf8Consts): Likewise.
        (equalUtf8Consts): Likewise.
        (internalAddClass): Use _Jv_uint.
        (internalAddClass): Use _Jv_uint.
        (processClass): Likewise.
        (processClass): Likewise.
        * include/javaprims.h (_Jv_ushort): Renamed from uint16.
        * include/javaprims.h (_Jv_ushort): Renamed from uint16.
        (_Jv_uint): Renamed from uint32.
        (_Jv_uint): Renamed from uint32.
        (struct _Jv_Utf8Const): Changed members to use new type names.
        (struct _Jv_Utf8Const): Changed members to use new type names.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Don't check for memcpy.  Require memmove and a way
        * configure.in: Don't check for memcpy.  Require memmove and a way
        to get the time.
        to get the time.
        * java/lang/natSystem.cc (arraycopy): Removed dead code, and
        * java/lang/natSystem.cc (arraycopy): Removed dead code, and
        #error.
        #error.
        (currentTimeMillis): Don't use #error.
        (currentTimeMillis): Don't use #error.
Tue Sep 22 18:00:16 1998  Andrew Haley  
Tue Sep 22 18:00:16 1998  Andrew Haley  
        * java/lang/Math.java: static member random renamed to random_ to
        * java/lang/Math.java: static member random renamed to random_ to
        avoid conflict with member function of the same name.
        avoid conflict with member function of the same name.
        * include/javaprims.h: java.util.Random added.
        * include/javaprims.h: java.util.Random added.
Tue Sep 22 13:53:14 1998  Tom Tromey  
Tue Sep 22 13:53:14 1998  Tom Tromey  
        * include/java-chartables.h: Regenerated.
        * include/java-chartables.h: Regenerated.
        * chartables.pl: End COMPACT_CHARACTER #if after fast tables
        * chartables.pl: End COMPACT_CHARACTER #if after fast tables
        printed.
        printed.
Tue Sep 22 17:17:52 1998  Andrew Haley  
Tue Sep 22 17:17:52 1998  Andrew Haley  
        * java/lang/Math.java: Rewritten.
        * java/lang/Math.java: Rewritten.
        * java/lang/natMath.cc: New file.
        * java/lang/natMath.cc: New file.
        * Files added from fdlibm:
        * Files added from fdlibm:
          java/lang/e_acos.c, java/lang/k_sin.c, java/lang/sf_floor.c,
          java/lang/e_acos.c, java/lang/k_sin.c, java/lang/sf_floor.c,
          java/lang/e_asin.c, java/lang/k_tan.c, java/lang/sf_rint.c,
          java/lang/e_asin.c, java/lang/k_tan.c, java/lang/sf_rint.c,
          java/lang/e_atan2.c, java/lang/s_atan.c, java/lang/w_acos.c,
          java/lang/e_atan2.c, java/lang/s_atan.c, java/lang/w_acos.c,
          java/lang/e_exp.c, java/lang/s_ceil.c, java/lang/w_asin.c,
          java/lang/e_exp.c, java/lang/s_ceil.c, java/lang/w_asin.c,
          java/lang/e_fmod.c, java/lang/s_copysign.c, java/lang/w_atan2.c,
          java/lang/e_fmod.c, java/lang/s_copysign.c, java/lang/w_atan2.c,
          java/lang/e_log.c, java/lang/s_cos.c, java/lang/w_exp.c,
          java/lang/e_log.c, java/lang/s_cos.c, java/lang/w_exp.c,
          java/lang/e_pow.c, java/lang/s_fabs.c, java/lang/w_fmod.c,
          java/lang/e_pow.c, java/lang/s_fabs.c, java/lang/w_fmod.c,
          java/lang/e_rem_pio2.c, java/lang/s_floor.c, java/lang/w_log.c,
          java/lang/e_rem_pio2.c, java/lang/s_floor.c, java/lang/w_log.c,
          java/lang/e_remainder.c, java/lang/s_rint.c, java/lang/w_pow.c,
          java/lang/e_remainder.c, java/lang/s_rint.c, java/lang/w_pow.c,
          java/lang/e_scalb.c, java/lang/s_scalbn.c, java/lang/w_remainder.c,
          java/lang/e_scalb.c, java/lang/s_scalbn.c, java/lang/w_remainder.c,
          java/lang/e_sqrt.c, java/lang/s_sin.c, java/lang/w_sqrt.c,
          java/lang/e_sqrt.c, java/lang/s_sin.c, java/lang/w_sqrt.c,
          java/lang/ef_fmod.c, java/lang/s_tan.c, java/lang/wf_fmod.c,
          java/lang/ef_fmod.c, java/lang/s_tan.c, java/lang/wf_fmod.c,
          java/lang/k_cos.c, java/lang/sf_ceil.c,
          java/lang/k_cos.c, java/lang/sf_ceil.c,
          java/lang/k_rem_pio2.c, java/lang/sf_fabs.c,
          java/lang/k_rem_pio2.c, java/lang/sf_fabs.c,
          java/lang/ieeefp.h, java/lang/fdlibm.h
          java/lang/ieeefp.h, java/lang/fdlibm.h
        * Makefile.am: rules added for compiling C files from fdlibm.
        * Makefile.am: rules added for compiling C files from fdlibm.
Mon Sep 21 15:40:58 1998  Tom Tromey  
Mon Sep 21 15:40:58 1998  Tom Tromey  
        * chartables.pl: Minor documentation fixes.
        * chartables.pl: Minor documentation fixes.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Fixed --help output for --enable-fast-character.
        * configure.in: Fixed --help output for --enable-fast-character.
Thu Sep 17 11:03:27 1998  Tom Tromey  
Thu Sep 17 11:03:27 1998  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Recognize --enable-fast-character.
        * configure.in: Recognize --enable-fast-character.
        * acconfig.h (COMPACT_CHARACTER): New define.
        * acconfig.h (COMPACT_CHARACTER): New define.
        * include/config.h.in: Rebuilt.
        * include/config.h.in: Rebuilt.
        * include/java-chartables.h: New file.
        * include/java-chartables.h: New file.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_files): Added natCharacter.o.
        * Makefile.am (nat_files): Added natCharacter.o.
        * java/lang/natCharacter.cc: New file.
        * java/lang/natCharacter.cc: New file.
        * chartables.pl (set_attribute): New function.
        * chartables.pl (set_attribute): New function.
        (@attributes, @second_attributes): New globals.
        (@attributes, @second_attributes): New globals.
        ($ROMAN_START, $ROMAN_END): Likewise.
        ($ROMAN_START, $ROMAN_END): Likewise.
        (process_char): Call set_attribute when required.
        (process_char): Call set_attribute when required.
        (print_char): Just print hex value.
        (print_char): Just print hex value.
        (print_block): Generate C++ syntax.
        (print_block): Generate C++ syntax.
        (print_numerics): Likewise.
        (print_numerics): Likewise.
        (print_single_map): Likewise.
        (print_single_map): Likewise.
        (print_all_block): Likewise.
        (print_all_block): Likewise.
        (print_case_table): Likewise.
        (print_case_table): Likewise.
        (print_fast_tables): New function.
        (print_fast_tables): New function.
        Generate C++ code suitable for a header file.
        Generate C++ code suitable for a header file.
        * java/lang/Character.java (table_search): Removed.
        * java/lang/Character.java (table_search): Removed.
        (digit_value): Now native.
        (digit_value): Now native.
        (getNumericValue): Likewise.
        (getNumericValue): Likewise.
        (getType): Likewise.
        (getType): Likewise.
        Removed all automatically-generated tables.
        Removed all automatically-generated tables.
        (Tamil_Digit_One): Removed.
        (Tamil_Digit_One): Removed.
        (isSpaceChar): Now native.
        (isSpaceChar): Now native.
        (isTitleCase): Likewise.
        (isTitleCase): Likewise.
        (isLowerCase): Likewise.
        (isLowerCase): Likewise.
        (isUpperCase): Likewise.
        (isUpperCase): Likewise.
        (toLowerCase): Likewise.
        (toLowerCase): Likewise.
        (toTitleCase): Likewise.
        (toTitleCase): Likewise.
        (toUpperCase): Likewise.
        (toUpperCase): Likewise.
        (isDefined): Fixed sense of test.
        (isDefined): Fixed sense of test.
Wed Sep 16 12:00:19 1998  Tom Tromey  
Wed Sep 16 12:00:19 1998  Tom Tromey  
        * java/lang/natString.cc (equalsIgnoreCase): Removed obsolete
        * java/lang/natString.cc (equalsIgnoreCase): Removed obsolete
        FIXME comment.
        FIXME comment.
        (regionMatches): Likewise.
        (regionMatches): Likewise.
Tue Sep 15 14:35:12 1998  Tom Tromey  
Tue Sep 15 14:35:12 1998  Tom Tromey  
        * prims.cc (_Jv_AllocObject): Call _Jv_InitClass on the class.
        * prims.cc (_Jv_AllocObject): Call _Jv_InitClass on the class.
        * java/lang/Class.h (Object): For now, declare _Jv_AllocString as
        * java/lang/Class.h (Object): For now, declare _Jv_AllocString as
        a friend.
        a friend.
        * java/lang/natString.cc (_Jv_AllocString): For now, don't call
        * java/lang/natString.cc (_Jv_AllocString): For now, don't call
        _Jv_AllocObject.
        _Jv_AllocObject.
        * java/lang/natString.cc (toUpperCase): Declare `ch' as a jchar,
        * java/lang/natString.cc (toUpperCase): Declare `ch' as a jchar,
        not a char.
        not a char.
        * java/lang/natClass.cc (isAssignableFrom): Handle arrays.
        * java/lang/natClass.cc (isAssignableFrom): Handle arrays.
Fri Sep 11 14:01:08 1998  Tom Tromey  
Fri Sep 11 14:01:08 1998  Tom Tromey  
        * prims.cc (instanceof_class): Removed.
        * prims.cc (instanceof_class): Removed.
        (instanceof_array): Likewise.
        (instanceof_array): Likewise.
        (instanceof): Likewise.
        (instanceof): Likewise.
        (_Jv_IsInstanceOf): Use Class::isAssignableFrom.
        (_Jv_IsInstanceOf): Use Class::isAssignableFrom.
        (_Jv_CheckCast): Likewise.
        (_Jv_CheckCast): Likewise.
        * java/lang/natClass.cc (isAssignableFrom): New method.
        * java/lang/natClass.cc (isAssignableFrom): New method.
        * java/lang/Class.java (isAssignableFrom): Now native.
        * java/lang/Class.java (isAssignableFrom): Now native.
        * include/cni.h (JvThrow): Use `extern inline'.
        * include/cni.h (JvThrow): Use `extern inline'.
        (JvAllocObject): Likewise.
        (JvAllocObject): Likewise.
        (JvInitClass): Likewise.
        (JvInitClass): Likewise.
        * java/lang/natSystem.cc (arraycopy): Only check class of source
        * java/lang/natSystem.cc (arraycopy): Only check class of source
        object if not null.
        object if not null.
        * prims.cc (_Jv_CheckArrayStore): Wrote.
        * prims.cc (_Jv_CheckArrayStore): Wrote.
        (_Jv_MonitorEnter): Prefer `JvThrow'.
        (_Jv_MonitorEnter): Prefer `JvThrow'.
        Include ArrayStoreException.h.
        Include ArrayStoreException.h.
        (_Jv_CheckCast): Indentation cleanup.
        (_Jv_CheckCast): Indentation cleanup.
Thu Sep 10 18:59:29 1998  Tom Tromey  
Thu Sep 10 18:59:29 1998  Tom Tromey  
        * chartables.pl: New file.
        * chartables.pl: New file.
        * java/lang/Character.java: Rewrote from scratch.
        * java/lang/Character.java: Rewrote from scratch.
Fri Sep 18 18:15:58 1998  Warren Levy  
Fri Sep 18 18:15:58 1998  Warren Levy  
        * java/lang/ArithmeticException.java,
        * java/lang/ArithmeticException.java,
        java/lang/ArrayIndexOutOfBoundsException.java,
        java/lang/ArrayIndexOutOfBoundsException.java,
        java/lang/ArrayStoreException.java,
        java/lang/ArrayStoreException.java,
        java/lang/ClassCastException.java,
        java/lang/ClassCastException.java,
        java/lang/ClassNotFoundException.java,
        java/lang/ClassNotFoundException.java,
        java/lang/CloneNotSupportedException.java,
        java/lang/CloneNotSupportedException.java,
        java/lang/Exception.java, java/lang/IllegalAccessException.java,
        java/lang/Exception.java, java/lang/IllegalAccessException.java,
        java/lang/IllegalArgumentException.java,
        java/lang/IllegalArgumentException.java,
        java/lang/IllegalMonitorStateException.java,
        java/lang/IllegalMonitorStateException.java,
        java/lang/IllegalThreadStateException.java,
        java/lang/IllegalThreadStateException.java,
        java/lang/IndexOutOfBoundsException.java,
        java/lang/IndexOutOfBoundsException.java,
        java/lang/InstantiationException.java,
        java/lang/InstantiationException.java,
        java/lang/InterruptedException.java,
        java/lang/InterruptedException.java,
        java/lang/NegativeArraySizeException.java,
        java/lang/NegativeArraySizeException.java,
        java/lang/NoSuchMethodException.java,
        java/lang/NoSuchMethodException.java,
        java/lang/NullPointerException.java,
        java/lang/NullPointerException.java,
        java/lang/NumberFormatException.java,
        java/lang/NumberFormatException.java,
        java/lang/RuntimeException.java, java/lang/SecurityException.java,
        java/lang/RuntimeException.java, java/lang/SecurityException.java,
        java/lang/StringIndexOutOfBoundsException.java: Rewritten.
        java/lang/StringIndexOutOfBoundsException.java: Rewritten.
        * java/lang/IllegalStateException.java,
        * java/lang/IllegalStateException.java,
        java/lang/NoSuchFieldException.java,
        java/lang/NoSuchFieldException.java,
        java/lang/UnsupportedOperationException.java: Created.
        java/lang/UnsupportedOperationException.java: Created.
Fri Sep 18 15:01:42 1998  Warren Levy  
Fri Sep 18 15:01:42 1998  Warren Levy  
        * java/lang/Integer.java, java/lang/Long.java: Rewritten.
        * java/lang/Integer.java, java/lang/Long.java: Rewritten.
        * java/lang/Byte.java, java/lang/Short.java (decode): Uncommented.
        * java/lang/Byte.java, java/lang/Short.java (decode): Uncommented.
Fri Sep 11 16:49:19 1998  Per Bothner  
Fri Sep 11 16:49:19 1998  Per Bothner  
        * prims.cc (JvRunMain):  No longer need to call _Jv_InitClass.
        * prims.cc (JvRunMain):  No longer need to call _Jv_InitClass.
Thu Sep 10 12:23:55 1998  Warren Levy  
Thu Sep 10 12:23:55 1998  Warren Levy  
        * Makefile.am (nat_headers): Added StringIndexOutOfBoundsException.h.
        * Makefile.am (nat_headers): Added StringIndexOutOfBoundsException.h.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * include/javaprims.h (java::lang): Added
        * include/javaprims.h (java::lang): Added
        StringIndexOutOfBoundsException.
        StringIndexOutOfBoundsException.
        * java/lang/String.java: Added header comment and FIXME comment for
        * java/lang/String.java: Added header comment and FIXME comment for
        missing constructors/methods.
        missing constructors/methods.
        (endsWith): Adjusted offset into string to look at just the last chars.
        (endsWith): Adjusted offset into string to look at just the last chars.
        Commented out undocumented method.
        Commented out undocumented method.
        * java/lang/natString.cc: Added includes for
        * java/lang/natString.cc: Added includes for
        ArrayIndexOutOfBoundsException.h & StringIndexOutOfBoundsException.h.
        ArrayIndexOutOfBoundsException.h & StringIndexOutOfBoundsException.h.
        (String::init): Throw StringIndexOutOfBoundsException.
        (String::init): Throw StringIndexOutOfBoundsException.
        (String::charAt): Throw StringIndexOutOfBoundsException.
        (String::charAt): Throw StringIndexOutOfBoundsException.
        (String::substring): Throw StringIndexOutOfBoundsException.
        (String::substring): Throw StringIndexOutOfBoundsException.
        (String::getChars): Throw ArrayIndexOutOfBoundsException.
        (String::getChars): Throw ArrayIndexOutOfBoundsException.
        (String::getBytes): Throw ArrayIndexOutOfBoundsException.
        (String::getBytes): Throw ArrayIndexOutOfBoundsException.
        (String::compareTo): Return difference/offset between chars/strings.
        (String::compareTo): Return difference/offset between chars/strings.
Tue Sep  8 13:22:33 1998  Warren Levy  
Tue Sep  8 13:22:33 1998  Warren Levy  
        * java/lang/Boolean.java (TYPE): Added comment.
        * java/lang/Boolean.java (TYPE): Added comment.
        * java/lang/Byte.java (decode): Added - commented out until dependent
        * java/lang/Byte.java (decode): Added - commented out until dependent
        code for Integer is written.
        code for Integer is written.
        (compareTo): JDK 1.2 methods written.
        (compareTo): JDK 1.2 methods written.
        (hashCode): Added comment to note that values have been verified.
        (hashCode): Added comment to note that values have been verified.
        * java/lang/Short.java (decode): Added - commented out until dependent
        * java/lang/Short.java (decode): Added - commented out until dependent
        code for Integer is written.
        code for Integer is written.
        (compareTo): JDK 1.2 methods written.
        (compareTo): JDK 1.2 methods written.
        (hashCode): Added comment to note that values have been verified.
        (hashCode): Added comment to note that values have been verified.
        * java/lang/Comparable.java: Created - JDK 1.2 interface.
        * java/lang/Comparable.java: Created - JDK 1.2 interface.
Fri Sep  4 10:36:35 1998  Tom Tromey  
Fri Sep  4 10:36:35 1998  Tom Tromey  
        * include/javaprims.h (java::lang): Added VirtualMachineError,
        * include/javaprims.h (java::lang): Added VirtualMachineError,
        OutOfMemoryError.
        OutOfMemoryError.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added OutOfMemoryError.h,
        * Makefile.am (nat_headers): Added OutOfMemoryError.h,
        VirtualMachineError.h.
        VirtualMachineError.h.
        * prims.cc (_Jv_NewPrimArray): Throw OutOfMemoryError.
        * prims.cc (_Jv_NewPrimArray): Throw OutOfMemoryError.
        (lookupArray): Likewise.
        (lookupArray): Likewise.
        (makeUtf8Const): Likewise.
        (makeUtf8Const): Likewise.
        (_Jv_AllocObject): Likewise.
        (_Jv_AllocObject): Likewise.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewObjectArray): Likewise.
        Include OutOfMemoryError.h.
        Include OutOfMemoryError.h.
        * java/io/natFileDescriptor.cc (newstr): Removed.  Changed callers
        * java/io/natFileDescriptor.cc (newstr): Removed.  Changed callers
        to use JvNewStringLatin1.
        to use JvNewStringLatin1.
        * java/io/io-defs.h: Include java/lang/IOException.h.
        * java/io/io-defs.h: Include java/lang/IOException.h.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added
        * Makefile.am (nat_headers): Added
        ArrayIndexOutOfBoundsException.h,
        ArrayIndexOutOfBoundsException.h,
        ClassFormatError.h,ClassNotFoundException.h,
        ClassFormatError.h,ClassNotFoundException.h,
        ClassCircularityError.h, ClassCastException.h,
        ClassCircularityError.h, ClassCastException.h,
        IncompatibleClassChangeError.h, AbstractMethodError.h,
        IncompatibleClassChangeError.h, AbstractMethodError.h,
        IllegalAccessError.h, LinkageError.h, Error.h,
        IllegalAccessError.h, LinkageError.h, Error.h,
        NegativeArraySizeException.h, IOException.h.
        NegativeArraySizeException.h, IOException.h.
        * include/cni.h (SignalError): Removed declaration.
        * include/cni.h (SignalError): Removed declaration.
        * java/util/natDate.cc (setTime): Use JvFail, not sorry.
        * java/util/natDate.cc (setTime): Use JvFail, not sorry.
        * java/lang/natObject.cc (clone): Use JvFail, not sorry.
        * java/lang/natObject.cc (clone): Use JvFail, not sorry.
        * java/lang/natClass.cc (getInterfaces): Use JvFail, not sorry.
        * java/lang/natClass.cc (getInterfaces): Use JvFail, not sorry.
        (newInstance): Likewise.
        (newInstance): Likewise.
        (forName): Likewise.
        (forName): Likewise.
        * java/io/natFileDescriptor.cc (open_read_write): Use JvFail, not
        * java/io/natFileDescriptor.cc (open_read_write): Use JvFail, not
        sorry.
        sorry.
        (read): Use JvThrow, not SignalError.
        (read): Use JvThrow, not SignalError.
        (read): Likewise.
        (read): Likewise.
        (write): Likewise.
        (write): Likewise.
        (skip): Likewise.
        (skip): Likewise.
        (close): Likewise.
        (close): Likewise.
        (open_read): Likewise.
        (open_read): Likewise.
        (open_write): Likewise.
        (open_write): Likewise.
        (ftell): Likewise.
        (ftell): Likewise.
        (fseek): Likewise.
        (fseek): Likewise.
        (newstr): New function.
        (newstr): New function.
        * java/io/natFile.cc (isDirectoryUnchecked): Use JvFail, not
        * java/io/natFile.cc (isDirectoryUnchecked): Use JvFail, not
        sorry.
        sorry.
        (lastModifiedUnchecked): Likewise.
        (lastModifiedUnchecked): Likewise.
        (lengthUnchecked): Likewise.
        (lengthUnchecked): Likewise.
        * include/javaprims.h (sorry): Removed declaration.
        * include/javaprims.h (sorry): Removed declaration.
        (java::lang): Added ArrayIndexOutOfBoundsException, LinkageError,
        (java::lang): Added ArrayIndexOutOfBoundsException, LinkageError,
        ClassFormatError, ClassNotFoundException, ClassCircularityError,
        ClassFormatError, ClassNotFoundException, ClassCircularityError,
        ClassCastException, IncompatibleClassChangeError,
        ClassCastException, IncompatibleClassChangeError,
        AbstractMethodError, IllegalAccessError, NegativeArraySizeException.
        AbstractMethodError, IllegalAccessError, NegativeArraySizeException.
        * prims.cc (instanceof_array): Use JvFail, not sorry.
        * prims.cc (instanceof_array): Use JvFail, not sorry.
        (sorry): Removed.
        (sorry): Removed.
        Include ArrayIndexOutOfBoundsException.h,
        Include ArrayIndexOutOfBoundsException.h,
        ClassFormatError.h,ClassNotFoundException.h,
        ClassFormatError.h,ClassNotFoundException.h,
        ClassCircularityError.h, ClassCastException.h,
        ClassCircularityError.h, ClassCastException.h,
        IncompatibleClassChangeError.h, AbstractMethodError.h,
        IncompatibleClassChangeError.h, AbstractMethodError.h,
        IllegalAccessError.h, NegativeArraySizeException.h.
        IllegalAccessError.h, NegativeArraySizeException.h.
        (_Jv_ThrowBadArrayIndex): Implemented.
        (_Jv_ThrowBadArrayIndex): Implemented.
        (JvNewStringUTF): Use JvFail, not sorry.
        (JvNewStringUTF): Use JvFail, not sorry.
        (_Jv_FindClass): Likewise.
        (_Jv_FindClass): Likewise.
        (_Jv_NewArray): Likewise.
        (_Jv_NewArray): Likewise.
        (throwException): Removed.
        (throwException): Removed.
        (getClass): Use JvThrow.
        (getClass): Use JvThrow.
        (processClass): Likewise.
        (processClass): Likewise.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewObjectArray): Likewise.
        (_Jv_NewMultiArray): Likewise.
        (_Jv_NewMultiArray): Likewise.
        (_Jv_CheckCast): Likewise.
        (_Jv_CheckCast): Likewise.
        (_Jv_LookupInterfaceMethod): Likewise.
        (_Jv_LookupInterfaceMethod): Likewise.
        (SignalError): Removed.
        (SignalError): Removed.
        (getClass): Use _Jv_NewStringUtf8Const to create String.
        (getClass): Use _Jv_NewStringUtf8Const to create String.
        * java/lang/natSystem.cc (arraycopy): Throw
        * java/lang/natSystem.cc (arraycopy): Throw
        ArrayIndexOutOfBoundsException, not IndexOutOfBoundsException.
        ArrayIndexOutOfBoundsException, not IndexOutOfBoundsException.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (GCJH): Renamed.  Now use `gcjh'.  Changed all
        * Makefile.am (GCJH): Renamed.  Now use `gcjh'.  Changed all
        users.
        users.
        * include/java-array.h: Mention gcjh, not gjavah.
        * include/java-array.h: Mention gcjh, not gjavah.
        * java/io/natFile.cc (existsUnchecked): Use JvGetStringUTFRegion.
        * java/io/natFile.cc (existsUnchecked): Use JvGetStringUTFRegion.
        (canReadUnchecked): Likewise.
        (canReadUnchecked): Likewise.
        (canWriteUnchecked): Likewise.
        (canWriteUnchecked): Likewise.
        (isFileUnchecked): Likewise.
        (isFileUnchecked): Likewise.
        * java/io/natFileDescriptor.cc: Don't include cni.h.
        * java/io/natFileDescriptor.cc: Don't include cni.h.
        * java/lang/Thread.java (run__): Declare.
        * java/lang/Thread.java (run__): Declare.
        * java/lang/natThread.cc (run__): New method, to avoid compiler
        * java/lang/natThread.cc (run__): New method, to avoid compiler
        warning.
        warning.
        (start): Use run__, not run_.
        (start): Use run__, not run_.
        * java/io/io-defs.h: Include cni.h and jvm.h.
        * java/io/io-defs.h: Include cni.h and jvm.h.
Thu Sep  3 18:20:08 1998  Per Bothner  
Thu Sep  3 18:20:08 1998  Per Bothner  
        Re-implement java.lang.String, using "COMPACT_STRINGS" representation.
        Re-implement java.lang.String, using "COMPACT_STRINGS" representation.
        * prims.cc (JvAllocString, JvNewString, JvNewStringlatin1):  Moved
        * prims.cc (JvAllocString, JvNewString, JvNewStringlatin1):  Moved
        to natString.cc (with suitable renaming, inlines etc).
        to natString.cc (with suitable renaming, inlines etc).
        (javaString2CString):  Removed.  Subsumed by _Jv_GetStringUTFRegion.
        (javaString2CString):  Removed.  Subsumed by _Jv_GetStringUTFRegion.
        * java/lang/Class.h:  Renamed Utf8Const to _Jv_Utf8Const.
        * java/lang/Class.h:  Renamed Utf8Const to _Jv_Utf8Const.
        * java/lang/String.h:  Removed - now generated using gjavah.
        * java/lang/String.h:  Removed - now generated using gjavah.
        * java/lang/String.java:  Re-written from scratch. Many native methods.
        * java/lang/String.java:  Re-written from scratch. Many native methods.
        * java/lang/natDouble.cc, java/util/natDate.cc:  #include .
        * java/lang/natDouble.cc, java/util/natDate.cc:  #include .
        * java/lang/natString.cc:  Many functions re-written for "compact
        * java/lang/natString.cc:  Many functions re-written for "compact
        strings" representation, or native java.lang.String methods added.
        strings" representation, or native java.lang.String methods added.
        (Utf8Const2JavaString):  Renamed to _Jv_NewStringUtf8Const.
        (Utf8Const2JavaString):  Renamed to _Jv_NewStringUtf8Const.
        (_Jv_GetStringUTFLength, _Jv_GetStringUTFRegion):  New methods.
        (_Jv_GetStringUTFLength, _Jv_GetStringUTFRegion):  New methods.
        * java/lang/natClass.cc (getName):  Use new _Jv_NewStringUtf8Const.
        * java/lang/natClass.cc (getName):  Use new _Jv_NewStringUtf8Const.
        * java/io/natFileDescriptor.cc:  Use new JvGetStringUTFRegion.
        * java/io/natFileDescriptor.cc:  Use new JvGetStringUTFRegion.
        * include/cni.h:  Add inline method.
        * include/cni.h:  Add inline method.
        * include/java-array.h (jobjectArrayjchar):  gjavah bug work-around.
        * include/java-array.h (jobjectArrayjchar):  gjavah bug work-around.
        * include/javaprims.h:  Moved some stuff frm String.h.
        * include/javaprims.h:  Moved some stuff frm String.h.
        * include/jvm.h (UTF8_GET, Utf8Const, StringClass):  Moved here.
        * include/jvm.h (UTF8_GET, Utf8Const, StringClass):  Moved here.
        * Makefile.am (nat_header):  Added Character.h and String.h.
        * Makefile.am (nat_header):  Added Character.h and String.h.
        (String.h):  Add new rule.
        (String.h):  Add new rule.
Thu Sep  3 10:28:16 1998  Tom Tromey  
Thu Sep  3 10:28:16 1998  Tom Tromey  
        * no-threads.cc: Include config.h, cni.h, jvm.h.  Don't include
        * no-threads.cc: Include config.h, cni.h, jvm.h.  Don't include
        java-assert.h.
        java-assert.h.
        * posix-threads.cc: Include cni.h, jvm.h.
        * posix-threads.cc: Include cni.h, jvm.h.
        * quick-threads.cc: Include cni.h, jvm.h.
        * quick-threads.cc: Include cni.h, jvm.h.
        * nogc.cc: Include cni.h, not javaprims.h.
        * nogc.cc: Include cni.h, not javaprims.h.
        * java/lang/natFirstThread.cc: Include cni.h, jvm.h.
        * java/lang/natFirstThread.cc: Include cni.h, jvm.h.
        * java/lang/natThread.cc: Rearranged #include ordering.  Don't
        * java/lang/natThread.cc: Rearranged #include ordering.  Don't
        include java-assert.h.
        include java-assert.h.
        * java/lang/natSystem.cc: Include cni.h.  Don't include
        * java/lang/natSystem.cc: Include cni.h.  Don't include
        java-assert.h.
        java-assert.h.
        * java/lang/natRuntime.cc: Include cni.h.  Don't include
        * java/lang/natRuntime.cc: Include cni.h.  Don't include
        java-assert.h.
        java-assert.h.
        * prims.cc: Rearranged #include ordering.  Don't include
        * prims.cc: Rearranged #include ordering.  Don't include
        java-array.h or java-assert.h.
        java-array.h or java-assert.h.
        * boehm.cc: Include config.h, cni.h.
        * boehm.cc: Include config.h, cni.h.
        * exception.cc: Include config.h, cni.h.
        * exception.cc: Include config.h, cni.h.
        * include/jvm.h: Include java-assert.h.
        * include/jvm.h: Include java-assert.h.
        * include/cni.h: Include java/lang/Object.h.  Don't include
        * include/cni.h: Include java/lang/Object.h.  Don't include
        java-threads.h or java-array.h.
        java-threads.h or java-array.h.
Thu Sep  3 16:03:08 1998  Warren Levy  
Thu Sep  3 16:03:08 1998  Warren Levy  
        * java/lang/Boolean.java: Rewritten.
        * java/lang/Boolean.java: Rewritten.
Thu Sep  3 10:28:16 1998  Tom Tromey  
Thu Sep  3 10:28:16 1998  Tom Tromey  
        * java/lang/natFirstThread.cc (main_func): New typedef.
        * java/lang/natFirstThread.cc (main_func): New typedef.
        (run): Use main_func, not JvPrivThreadStartFunc.
        (run): Use main_func, not JvPrivThreadStartFunc.
        * include/no-threads.h (JvPrivThreadStartFunc): Use correct
        * include/no-threads.h (JvPrivThreadStartFunc): Use correct
        argument type.
        argument type.
        * include/posix-threads.h (JvPrivThreadStartFunc): Use correct
        * include/posix-threads.h (JvPrivThreadStartFunc): Use correct
        argument type.
        argument type.
        * include/quick-threads.h (JvPrivThreadStartFunc): Use correct
        * include/quick-threads.h (JvPrivThreadStartFunc): Use correct
        argument type.
        argument type.
        Can't throw Java exceptions with C++ `throw':
        Can't throw Java exceptions with C++ `throw':
        * quick-threads.cc (qthrow): Use _Jv_Throw, not throw.
        * quick-threads.cc (qthrow): Use _Jv_Throw, not throw.
        * java/lang/natThread.cc (join): Use _Jv_Throw, not throw.
        * java/lang/natThread.cc (join): Use _Jv_Throw, not throw.
        (setPriority): Likewise.
        (setPriority): Likewise.
        (sleep): Likewise.
        (sleep): Likewise.
        (start): Likewise.
        (start): Likewise.
        (stop): Likewise.
        (stop): Likewise.
        * java/lang/natSystem.cc (arraycopy): Use _Jv_Throw, not throw.
        * java/lang/natSystem.cc (arraycopy): Use _Jv_Throw, not throw.
        * prims.cc (_Jv_MonitorEnter): Use _Jv_Throw, not throw.
        * prims.cc (_Jv_MonitorEnter): Use _Jv_Throw, not throw.
        Can't catch Java exceptions from C++:
        Can't catch Java exceptions from C++:
        * java/lang/natThread.cc (finish_): New method.
        * java/lang/natThread.cc (finish_): New method.
        (run_): Removed.
        (run_): Removed.
        * java/lang/Thread.java (run_): Rewrote in Java.
        * java/lang/Thread.java (run_): Rewrote in Java.
        (finish_): New native method.
        (finish_): New native method.
Wed Sep  2 17:30:39 1998  Warren Levy  
Wed Sep  2 17:30:39 1998  Warren Levy  
        * java/lang/Cloneable.java, java/lang/Number.java: Rewritten.
        * java/lang/Cloneable.java, java/lang/Number.java: Rewritten.
        * include/javaprims.h (java::io): Added Serializable.
        * include/javaprims.h (java::io): Added Serializable.
Wed Sep  2 15:22:00 1998  Warren Levy  
Wed Sep  2 15:22:00 1998  Warren Levy  
        * java/util/EmptyStackException.java,
        * java/util/EmptyStackException.java,
        java/util/NoSuchElementException.java: Rewritten.
        java/util/NoSuchElementException.java: Rewritten.
        * java/util/ConcurrentModificationException.java,
        * java/util/ConcurrentModificationException.java,
        java/util/MissingResourceException.java,
        java/util/MissingResourceException.java,
        java/util/TooManyListenersException.java: Created.
        java/util/TooManyListenersException.java: Created.
Wed Sep  2 13:36:57 1998  Tom Tromey  
Wed Sep  2 13:36:57 1998  Tom Tromey  
        * include/cni.h (JvThrow): New function.
        * include/cni.h (JvThrow): New function.
        * include/javaprims.h (_Jv_Throw): Declare.
        * include/javaprims.h (_Jv_Throw): Declare.
Wed Sep  2 14:07:48 1998  Warren Levy  
Wed Sep  2 14:07:48 1998  Warren Levy  
        * java/util/Observable.java: Rewritten.
        * java/util/Observable.java: Rewritten.
Wed Sep  2 13:36:57 1998  Tom Tromey  
Wed Sep  2 13:36:57 1998  Tom Tromey  
        * prims.cc (_Jv_MonitorExit): Assert that object is non-null.
        * prims.cc (_Jv_MonitorExit): Assert that object is non-null.
        (_Jv_MonitorEnter): Throw NullPointerException if object is null.
        (_Jv_MonitorEnter): Throw NullPointerException if object is null.
        Include NullPointerException.h.
        Include NullPointerException.h.
Tue Sep  1 12:07:35 1998  Tom Tromey  
Tue Sep  1 12:07:35 1998  Tom Tromey  
        * java/lang/natSystem.cc (arraycopy): Removed overlapping-copy
        * java/lang/natSystem.cc (arraycopy): Removed overlapping-copy
        assignability checks.  Don't bother using memcpy.
        assignability checks.  Don't bother using memcpy.
        * quick-threads.cc (JvPrivThreadStart): Don't call coop_start.
        * quick-threads.cc (JvPrivThreadStart): Don't call coop_start.
        (started): Removed.
        (started): Removed.
        * include/quick-threads.h (JvPrivThreadWait): New function.
        * include/quick-threads.h (JvPrivThreadWait): New function.
        * include/no-threads.h (JvPrivThreadWait): New function.
        * include/no-threads.h (JvPrivThreadWait): New function.
        * include/posix-threads.h (JvPrivThreadWait): New function.
        * include/posix-threads.h (JvPrivThreadWait): New function.
        * prims.cc (JvRunMain): Call JvPrivThreadWait.
        * prims.cc (JvRunMain): Call JvPrivThreadWait.
        * java/lang/natSystem.cc (arraycopy): Do nothing if count is 0.
        * java/lang/natSystem.cc (arraycopy): Do nothing if count is 0.
        * java/lang/natSystem.cc (arraycopy): Multiply both src and dst
        * java/lang/natSystem.cc (arraycopy): Multiply both src and dst
        offsets by size of type that is being copied.
        offsets by size of type that is being copied.
        * java/lang/natThread.cc (start): Don't pass `object' argument to
        * java/lang/natThread.cc (start): Don't pass `object' argument to
        JvPrivThreadStart.
        JvPrivThreadStart.
        * no-threads.cc (JvPrivThreadStart): Removed `object' argument.
        * no-threads.cc (JvPrivThreadStart): Removed `object' argument.
        * posix-threads.cc (JvPrivThreadStart): Removed `object'
        * posix-threads.cc (JvPrivThreadStart): Removed `object'
        argument.
        argument.
        * quick-threads.cc (JvPrivThreadStart): Removed `object' argument;
        * quick-threads.cc (JvPrivThreadStart): Removed `object' argument;
        always pass thread as object.
        always pass thread as object.
        * include/quick-threads.h, include/posix-threads.h,
        * include/quick-threads.h, include/posix-threads.h,
        include/no-threads.h (JvPrivThreadStart): Removed `object'
        include/no-threads.h (JvPrivThreadStart): Removed `object'
        argument.
        argument.
Mon Aug 31 19:11:53 1998  Warren Levy  
Mon Aug 31 19:11:53 1998  Warren Levy  
        * java/util/Dictionary.java: Rewritten.
        * java/util/Dictionary.java: Rewritten.
Mon Aug 31 14:35:55 1998  Tom Tromey  
Mon Aug 31 14:35:55 1998  Tom Tromey  
        * include/quick-threads.h (JvPrivThreadInitData): Use 0, not NULL.
        * include/quick-threads.h (JvPrivThreadInitData): Use 0, not NULL.
        (JvPrivThreadDestroy): Likewise.
        (JvPrivThreadDestroy): Likewise.
Mon Aug 31 12:56:01 1998  Warren Levy  
Mon Aug 31 12:56:01 1998  Warren Levy  
        * java/lang/natRuntime.cc (exit): Changed final call to ::exit.
        * java/lang/natRuntime.cc (exit): Changed final call to ::exit.
Thu Aug 27 12:24:40 1998  Tom Tromey  
Thu Aug 27 12:24:40 1998  Tom Tromey  
        * java/lang/natSystem.cc: Rewrote from scratch.
        * java/lang/natSystem.cc: Rewrote from scratch.
        * java/lang/System.java: Rewrote from scratch.
        * java/lang/System.java: Rewrote from scratch.
        * java/lang/Class.h (Class): Declare isAssignableFrom.
        * java/lang/Class.h (Class): Declare isAssignableFrom.
        * include/javaprims.h (java::lang): Added ArrayStoreException,
        * include/javaprims.h (java::lang): Added ArrayStoreException,
        IndexOutOfBoundsException.
        IndexOutOfBoundsException.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added ArrayStoreException.h,
        * Makefile.am (nat_headers): Added ArrayStoreException.h,
        IndexOutOfBoundsException.h.
        IndexOutOfBoundsException.h.
        * java/lang/natObject.cc (hashCode): Use _Jv_HashCode.
        * java/lang/natObject.cc (hashCode): Use _Jv_HashCode.
        * include/jvm.h (_Jv_HashCode): New function.
        * include/jvm.h (_Jv_HashCode): New function.
        * java/lang/natThread.cc (suspend): Call checkAccess.
        * java/lang/natThread.cc (suspend): Call checkAccess.
        (resume): Likewise.
        (resume): Likewise.
        * java/lang/Thread.java (setDaemon): Call checkAccess.
        * java/lang/Thread.java (setDaemon): Call checkAccess.
Thu Aug 27 12:24:40 1998  Tom Tromey  
Thu Aug 27 12:24:40 1998  Tom Tromey  
        * java/lang/Runtime.java: Rewrote from scratch.
        * java/lang/Runtime.java: Rewrote from scratch.
        * java/lang/natRuntime.cc: Rewrote from scratch.
        * java/lang/natRuntime.cc: Rewrote from scratch.
        * nogc.cc (JvPrivGCTotalMemory): New function.
        * nogc.cc (JvPrivGCTotalMemory): New function.
        (JvPrivGCFreeMemory): Likewise.
        (JvPrivGCFreeMemory): Likewise.
        (total): New global.
        (total): New global.
        (JvPrivAllocObj): Increment total.
        (JvPrivAllocObj): Increment total.
        (JvPrivAllocArray): Likewise.
        (JvPrivAllocArray): Likewise.
        (JvPrivAllocBytes): Likewise.
        (JvPrivAllocBytes): Likewise.
        * include/jvm.h: Declare JvPrivGCTotalMemory, JvPrivGCFreeMemory.
        * include/jvm.h: Declare JvPrivGCTotalMemory, JvPrivGCFreeMemory.
        * boehm.cc (JvPrivGCTotalMemory): New function.
        * boehm.cc (JvPrivGCTotalMemory): New function.
        (sum_blocks): Likewise.
        (sum_blocks): Likewise.
        (JvPrivGCFreeMemory): Likewise.
        (JvPrivGCFreeMemory): Likewise.
Wed Aug 26 12:30:32 1998  Tom Tromey  
Wed Aug 26 12:30:32 1998  Tom Tromey  
        * include/javaprims.h (java::lang): Added FirstThread.
        * include/javaprims.h (java::lang): Added FirstThread.
        * java/lang/natFirstThread.cc: New file.
        * java/lang/natFirstThread.cc: New file.
        * java/lang/FirstThread.java: New file.
        * java/lang/FirstThread.java: New file.
        * prims.cc (main_signature): Removed.
        * prims.cc (main_signature): Removed.
        (main_name): Removed.
        (main_name): Removed.
        #include FirstThread.h.
        #include FirstThread.h.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (TFRIEND): Removed.
        * Makefile.am (TFRIEND): Removed.
        (java/lang/Thread.h): Likewise.
        (java/lang/Thread.h): Likewise.
        (FTFRIEND): New macro.
        (FTFRIEND): New macro.
        (java/lang/FirstThread.h): New target.
        (java/lang/FirstThread.h): New target.
        (nat_files): Added natFirstThread.o.
        (nat_files): Added natFirstThread.o.
        (nat_headers): Added FirstThread.h.
        (nat_headers): Added FirstThread.h.
        * include/jvm.h (_Jv_StartFirstThread): Don't declare.
        * include/jvm.h (_Jv_StartFirstThread): Don't declare.
        * java/lang/natThread.cc (_Jv_StartFirstThread): Removed.
        * java/lang/natThread.cc (_Jv_StartFirstThread): Removed.
        * java/lang/Thread.java (setName): Throw IllegalArgumentException
        * java/lang/Thread.java (setName): Throw IllegalArgumentException
        if name is null.
        if name is null.
        (Thread): Likewise.
        (Thread): Likewise.
        * java/lang/natThread.cc (start): Synchronize the thread.
        * java/lang/natThread.cc (start): Synchronize the thread.
        (stop): Synchronize the thread.
        (stop): Synchronize the thread.
        * java/lang/ThreadDeath.java: Rewrote from scratch.
        * java/lang/ThreadDeath.java: Rewrote from scratch.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (TGFRIEND): New macro.
        * Makefile.am (TGFRIEND): New macro.
        (java/lang/ThreadGroup.h): New target.
        (java/lang/ThreadGroup.h): New target.
        ($(nat_files) prims.o boehm.o nogc.o): Native files depend on the
        ($(nat_files) prims.o boehm.o nogc.o): Native files depend on the
        native headers.
        native headers.
        ($(javao_files) $(nat_files) prims.o boehm.o nogc.o): Removed.
        ($(javao_files) $(nat_files) prims.o boehm.o nogc.o): Removed.
        * nogc.cc: Include config.h.
        * nogc.cc: Include config.h.
        * java/lang/ThreadGroup.java: Rewrote from scratch.
        * java/lang/ThreadGroup.java: Rewrote from scratch.
Tue Aug 25 00:12:54 1998  Tom Tromey  
Tue Aug 25 00:12:54 1998  Tom Tromey  
        * java/lang/Thread.java (checkAccess): Only call in to security
        * java/lang/Thread.java (checkAccess): Only call in to security
        manager if it exists.
        manager if it exists.
        (Thread): Don't check access when creating the first thread.  Add
        (Thread): Don't check access when creating the first thread.  Add
        this thread to the appropriate ThreadGroup.
        this thread to the appropriate ThreadGroup.
        * java/lang/natThread.cc (run_): Call uncaughtException method on
        * java/lang/natThread.cc (run_): Call uncaughtException method on
        the ThreadGroup.
        the ThreadGroup.
        * java/lang/Runnable.java: Rewrote from scratch.
        * java/lang/Runnable.java: Rewrote from scratch.
        * java/lang/Thread.java: Updated copyright comment to correct
        * java/lang/Thread.java: Updated copyright comment to correct
        form.
        form.
Wed Aug 26 15:16:18 1998  Warren Levy  
Wed Aug 26 15:16:18 1998  Warren Levy  
        * java/util/Random.java: Rewritten.
        * java/util/Random.java: Rewritten.
Wed Aug 26 14:25:39 1998  Alexandre Petit-Bianco  
Wed Aug 26 14:25:39 1998  Alexandre Petit-Bianco  
        * prims.cc (_Jv_NewMultiArray): Need one more slot to store
        * prims.cc (_Jv_NewMultiArray): Need one more slot to store
        trailing 0 in array[].
        trailing 0 in array[].
Wed Aug 26 12:21:06 1998  Anthony Green  
Wed Aug 26 12:21:06 1998  Anthony Green  
        * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT,
        * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT,
        and RUNTESTFLAGS from AM_MAKEFLAGS.
        and RUNTESTFLAGS from AM_MAKEFLAGS.
        (SUBDIRS): Conditionally include testsuite.
        (SUBDIRS): Conditionally include testsuite.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
Tue Aug 25 18:14:53 1998  Anthony Green  
Tue Aug 25 18:14:53 1998  Anthony Green  
        * java/lang/Object.h: Include java-assert.h.
        * java/lang/Object.h: Include java-assert.h.
Tue Aug 25 17:33:57 1998  Anthony Green  
Tue Aug 25 17:33:57 1998  Anthony Green  
        * Makefile.am: Add testsuite directory.
        * Makefile.am: Add testsuite directory.
        * configure.in: Build testsuite/Makefile.
        * configure.in: Build testsuite/Makefile.
        * Makefile.in, configure: Rebuilt.
        * Makefile.in, configure: Rebuilt.
Tue Aug 25 00:12:54 1998  Tom Tromey  
Tue Aug 25 00:12:54 1998  Tom Tromey  
        * prims.cc (JvRunMain): Use _Jv_StartFirstThread.
        * prims.cc (JvRunMain): Use _Jv_StartFirstThread.
        * include/jvm.h (_Jv_StartFirstThread): Declare.
        * include/jvm.h (_Jv_StartFirstThread): Declare.
        * include/javaprims.h (java::lang): Added Exception,
        * include/javaprims.h (java::lang): Added Exception,
        RuntimeException.
        RuntimeException.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added NullPointerException.h,
        * Makefile.am (nat_headers): Added NullPointerException.h,
        InterruptedException.h, IllegalArgumentException.h, Exception.h,
        InterruptedException.h, IllegalArgumentException.h, Exception.h,
        Throwable.h, RuntimeException.h, IllegalThreadStateException.h.
        Throwable.h, RuntimeException.h, IllegalThreadStateException.h.
        (java/lang/Thread.h): New target.
        (java/lang/Thread.h): New target.
        (TFRIEND): New macro
        (TFRIEND): New macro
        * include/java-assert.h (JvFail): Use 0 and not NULL.
        * include/java-assert.h (JvFail): Use 0 and not NULL.
        * posix-threads.cc (JvPrivThreadStart): Use getPriority() method
        * posix-threads.cc (JvPrivThreadStart): Use getPriority() method
        instead of assuming we are a friend of Thread.
        instead of assuming we are a friend of Thread.
        * quick-threads.cc (JvPrivThreadStart): Use isDaemon() method
        * quick-threads.cc (JvPrivThreadStart): Use isDaemon() method
        instead of assuming we are a friend of Thread.
        instead of assuming we are a friend of Thread.
Mon Aug 24 15:58:36 1998  Tom Tromey  
Mon Aug 24 15:58:36 1998  Tom Tromey  
        * java/lang/natThread.cc: Rewrote from scratch.
        * java/lang/natThread.cc: Rewrote from scratch.
        * java/lang/Thread.java: Rewrote from scratch.
        * java/lang/Thread.java: Rewrote from scratch.
        * prims.cc (JvRunMain): Use new Thread constructor.
        * prims.cc (JvRunMain): Use new Thread constructor.
        * include/javaprims.h (java::lang): Added InterruptedException.
        * include/javaprims.h (java::lang): Added InterruptedException.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added java/lang/Thread.h.
        * Makefile.am (nat_headers): Added java/lang/Thread.h.
        * java/lang/Thread.h: Removed.
        * java/lang/Thread.h: Removed.
        * quick-threads.cc (JvPrivThreadStart): Added `data' argument.
        * quick-threads.cc (JvPrivThreadStart): Added `data' argument.
        * no-threads.cc (JvPrivThreadStart): Added JvPrivThread_t
        * no-threads.cc (JvPrivThreadStart): Added JvPrivThread_t
        argument.
        argument.
        * posix-threads.cc (JvPrivThreadJoin): Removed.
        * posix-threads.cc (JvPrivThreadJoin): Removed.
        (JvPrivThreadInitData): Don't initialize join_mutex or join_cond.
        (JvPrivThreadInitData): Don't initialize join_mutex or join_cond.
        (really_start): Don't notify join_cond.
        (really_start): Don't notify join_cond.
        (JvPrivThreadStart): Added `data' argument.
        (JvPrivThreadStart): Added `data' argument.
        * include/no-threads.h (JvPrivThreadInterrupt): Removed.
        * include/no-threads.h (JvPrivThreadInterrupt): Removed.
        (JvPrivThreadJoin): Likewise.
        (JvPrivThreadJoin): Likewise.
        Use JvFail instead of sorry.
        Use JvFail instead of sorry.
        (JvPrivThreadSuspend): Removed.
        (JvPrivThreadSuspend): Removed.
        (JvPrivThreadResume): Removed.
        (JvPrivThreadResume): Removed.
        * include/quick-threads.h (JvPrivThreadInterrupt): Removed.
        * include/quick-threads.h (JvPrivThreadInterrupt): Removed.
        (JvPrivThreadJoin): Likewise.
        (JvPrivThreadJoin): Likewise.
        (JvPrivThreadSuspend): Use JvFail.
        (JvPrivThreadSuspend): Use JvFail.
        (JvPrivThreadResume): Likewise.
        (JvPrivThreadResume): Likewise.
        (JvPrivThreadSuspend): Removed.
        (JvPrivThreadSuspend): Removed.
        (JvPrivThreadResume): Likewise.
        (JvPrivThreadResume): Likewise.
        * include/posix-threads.h (JvPrivThreadInterrupt): Removed.
        * include/posix-threads.h (JvPrivThreadInterrupt): Removed.
        (JvPrivThread_t): Removed join_mutex, join_cond.
        (JvPrivThread_t): Removed join_mutex, join_cond.
        Use JvFail instead of sorry.
        Use JvFail instead of sorry.
        (JvPrivThreadSuspend): Removed.
        (JvPrivThreadSuspend): Removed.
        (JvPrivThreadResume): Likewise.
        (JvPrivThreadResume): Likewise.
Tue Aug 25 12:50:13 1998  Warren Levy  
Tue Aug 25 12:50:13 1998  Warren Levy  
        * java/util/Observer.java: Rewritten
        * java/util/Observer.java: Rewritten
        * java/util/Enumeration.java: Rewritten
        * java/util/Enumeration.java: Rewritten
Tue Aug 25 11:33:54 1998  Warren Levy  
Tue Aug 25 11:33:54 1998  Warren Levy  
        * java/util/StringTokenizer.java: Rewritten
        * java/util/StringTokenizer.java: Rewritten
        * java/util/Stack.java: Added COPYRIGHT-TBD comment
        * java/util/Stack.java: Added COPYRIGHT-TBD comment
        * java/util/Vector.java: Added COPYRIGHT-TBD comment
        * java/util/Vector.java: Added COPYRIGHT-TBD comment
        * java/io/Serializable.java: Added COPYRIGHT-TBD comment
        * java/io/Serializable.java: Added COPYRIGHT-TBD comment
Fri Aug 21 10:14:22 1998  Tom Tromey  
Fri Aug 21 10:14:22 1998  Tom Tromey  
        * include/java-assert.h (JvFail): Call _Jv_Abort even when DEBUG
        * include/java-assert.h (JvFail): Call _Jv_Abort even when DEBUG
        not defined.
        not defined.
        * no-threads.cc (JvPrivThreadStart): Use JvAssert.
        * no-threads.cc (JvPrivThreadStart): Use JvAssert.
        Include java-assert.h.
        Include java-assert.h.
        * include/java-assert.h: New file.
        * include/java-assert.h: New file.
        * prims.cc (_Jv_Abort): New function.
        * prims.cc (_Jv_Abort): New function.
        Include java-assert.h, not assert.h.
        Include java-assert.h, not assert.h.
        (_Jv_MonitorExit): Use JvAssert.
        (_Jv_MonitorExit): Use JvAssert.
        (resolveConstants): Likewise.
        (resolveConstants): Likewise.
        (processClass): Likewise.
        (processClass): Likewise.
        (JvRunMain): Assert that method is found.
        (JvRunMain): Assert that method is found.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Check for test subdir.
        * configure.in: Check for test subdir.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (SUBDIRS): Conditional on TESTSUBDIR.
        * Makefile.am (SUBDIRS): Conditional on TESTSUBDIR.
        * prims.cc (JvRunMain): Use NORM_PRIORITY.
        * prims.cc (JvRunMain): Use NORM_PRIORITY.
        * java/lang/Thread.h (Thread): Added NORM_PRIORITY.
        * java/lang/Thread.h (Thread): Added NORM_PRIORITY.
        * prims.cc (resolveConstants): Removed unused variables.
        * prims.cc (resolveConstants): Removed unused variables.
        (processClass): Likewise.
        (processClass): Likewise.
        * include/quick-threads.h (JvPrivThreadCurrent): Use
        * include/quick-threads.h (JvPrivThreadCurrent): Use
        coop_getspecific.
        coop_getspecific.
        * quick-threads.cc (destroy_data): New function.
        * quick-threads.cc (destroy_data): New function.
        (JvPrivInitThreads): Create key.
        (JvPrivInitThreads): Create key.
        (JvPrivThreadKey): New global.
        (JvPrivThreadKey): New global.
        (JvPrivThreadStart): Use coop_setspecific.
        (JvPrivThreadStart): Use coop_setspecific.
        * include/quick-threads.h, include/posix-threads.h,
        * include/quick-threads.h, include/posix-threads.h,
        include/no-threads.h, no-threads.cc, quick-threads.cc,
        include/no-threads.h, no-threads.cc, quick-threads.cc,
        posix-threads.cc, nogc.cc, boehm.cc: Added copyright comment.
        posix-threads.cc, nogc.cc, boehm.cc: Added copyright comment.
Thu Aug 20 10:57:30 1998  Tom Tromey  
Thu Aug 20 10:57:30 1998  Tom Tromey  
        * include/no-threads.h (JvPrivThreadInitData): Don't set
        * include/no-threads.h (JvPrivThreadInitData): Don't set
        JvPrivOnlyThread.
        JvPrivOnlyThread.
        * include/quick-threads.h (JvPrivCondWait): coop function now
        * include/quick-threads.h (JvPrivCondWait): coop function now
        takes microseconds.
        takes microseconds.
        (JvPrivThreadJoin): Likewise.
        (JvPrivThreadJoin): Likewise.
        * java/lang/Thread.h (Thread): Updated declaration of
        * java/lang/Thread.h (Thread): Updated declaration of
        JvPrivThreadStart.
        JvPrivThreadStart.
        * include/quick-threads.h, include/posix-threads.h: Updated
        * include/quick-threads.h, include/posix-threads.h: Updated
        declaration of JvPrivThreadStart.
        declaration of JvPrivThreadStart.
        * include/no-threads.h (JvPrivThreadStart): Changed definition
        * include/no-threads.h (JvPrivThreadStart): Changed definition
        into declaration.
        into declaration.
        * no-threads.cc (JvPrivThreadStart): Removed `data' argument.
        * no-threads.cc (JvPrivThreadStart): Removed `data' argument.
        * quick-threads.cc (JvPrivThreadStart): Removed `data' argument.
        * quick-threads.cc (JvPrivThreadStart): Removed `data' argument.
        * posix-threads.cc (JvPrivThreadStart): Removed `data' argument.
        * posix-threads.cc (JvPrivThreadStart): Removed `data' argument.
Wed Aug 19 14:53:59 1998  Tom Tromey  
Wed Aug 19 14:53:59 1998  Tom Tromey  
        * quick-threads.cc (qthrow): New function.
        * quick-threads.cc (qthrow): New function.
        (JvPrivInitThreads): New function.
        (JvPrivInitThreads): New function.
        (started): New global.
        (started): New global.
        (JvPrivThreadStart): Call coop_start if required.
        (JvPrivThreadStart): Call coop_start if required.
        * include/quick-threads.h (JvPrivThreadCancel): Implement.
        * include/quick-threads.h (JvPrivThreadCancel): Implement.
        (JvPrivThreadDestroy): Likewise.
        (JvPrivThreadDestroy): Likewise.
        (JvPrivInitThreads): Removed.
        (JvPrivInitThreads): Removed.
        * include/posix-threads.h (JvPrivThreadCancel): Added error
        * include/posix-threads.h (JvPrivThreadCancel): Added error
        argument.
        argument.
        * java/lang/natThread.cc (stop_): Pass exception to
        * java/lang/natThread.cc (stop_): Pass exception to
        JvPrivThreadCancel.
        JvPrivThreadCancel.
Tue Aug 18 12:58:22 1998  Tom Tromey  
Tue Aug 18 12:58:22 1998  Tom Tromey  
        * include/javaprims.h (java::lang): Added
        * include/javaprims.h (java::lang): Added
        IllegalArgumentException, IllegalThreadStateException, Math,
        IllegalArgumentException, IllegalThreadStateException, Math,
        NullPointerException, ThreadDeath.
        NullPointerException, ThreadDeath.
        (java::util): Added Enumeration.
        (java::util): Added Enumeration.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added java/lang/ThreadGroup.h.
        * Makefile.am (nat_headers): Added java/lang/ThreadGroup.h.
        * java/lang/ThreadGroup.java (ThreadGroup): No-args constructor
        * java/lang/ThreadGroup.java (ThreadGroup): No-args constructor
        now public.
        now public.
        (threadsv): Renamed from threads to avoid clash in C++ header.
        (threadsv): Renamed from threads to avoid clash in C++ header.
        (groupsv): Likewise.
        (groupsv): Likewise.
        * include/no-threads.h (JvPrivThreadStart): Removed.
        * include/no-threads.h (JvPrivThreadStart): Removed.
        * no-threads.cc (JvPrivThreadStart): New function.
        * no-threads.cc (JvPrivThreadStart): New function.
        * java/lang/Thread.java (Thread): New constructor for internal use.
        * java/lang/Thread.java (Thread): New constructor for internal use.
        * java/lang/Thread.h (Thread): Declare JvRunMain as friend.
        * java/lang/Thread.h (Thread): Declare JvRunMain as friend.
        (Thread): Declare constructor.
        (Thread): Declare constructor.
        * prims.cc (JvRunMain): Create the initial Thread and
        * prims.cc (JvRunMain): Create the initial Thread and
        ThreadGroup.
        ThreadGroup.
        Include  and .
        Include  and .
        * posix-threads.cc (JvPrivThreadStart): Added `thread' argument.
        * posix-threads.cc (JvPrivThreadStart): Added `thread' argument.
        Removed `daemon' argument.
        Removed `daemon' argument.
        * prims.cc (JvRunMain): Call _Jv_InitializeSyncMutex.
        * prims.cc (JvRunMain): Call _Jv_InitializeSyncMutex.
        * java/lang/Object.h (Object): Declare _Jv_InitializeSyncMutex as
        * java/lang/Object.h (Object): Declare _Jv_InitializeSyncMutex as
        a friend.
        a friend.
        * java/lang/natObject.cc (_Jv_InitializeSyncMutex): New function.
        * java/lang/natObject.cc (_Jv_InitializeSyncMutex): New function.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (INCLUDES): Include THREADINCS.
        * Makefile.am (INCLUDES): Include THREADINCS.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Recognize `qt' as a threads package.
        * configure.in: Recognize `qt' as a threads package.
Thu Aug 20 12:42:32 1998  Warren Levy  
Thu Aug 20 12:42:32 1998  Warren Levy  
        * java/util/Stack.java (pop): Null out topmost node for robustness.
        * java/util/Stack.java (pop): Null out topmost node for robustness.
Thu Aug 20 12:30:30 1998  Warren Levy  
Thu Aug 20 12:30:30 1998  Warren Levy  
        * java/util/Stack.java: Rewritten.
        * java/util/Stack.java: Rewritten.
        * java/util/Vector.java (isEmpty): Simplified expression.
        * java/util/Vector.java (isEmpty): Simplified expression.
Wed Aug 19 18:02:19 1998  Warren Levy  
Wed Aug 19 18:02:19 1998  Warren Levy  
        * prims.cc (_Jv_NewObjectArray): Renamed from JvNewObjectArray.
        * prims.cc (_Jv_NewObjectArray): Renamed from JvNewObjectArray.
        (soft_anewarray): Removed, _Jv_NewObjectArray used instead.
        (soft_anewarray): Removed, _Jv_NewObjectArray used instead.
        * include/java-array.h (JvNewObjectArray): Created inline to
        * include/java-array.h (JvNewObjectArray): Created inline to
        _Jv_NewObjectArray.
        _Jv_NewObjectArray.
        * java/lang/Class.h (_Jv_NewObjectArray): Renamed from
        * java/lang/Class.h (_Jv_NewObjectArray): Renamed from
        JvNewObjectArray.
        JvNewObjectArray.
Wed Aug 19 14:12:02 1998  Warren Levy  
Wed Aug 19 14:12:02 1998  Warren Levy  
        * java/util/Vector.java: Rewritten.
        * java/util/Vector.java: Rewritten.
        * java/io/Serializable.java: Created.
        * java/io/Serializable.java: Created.
Fri Aug 14 10:31:54 1998  Tom Tromey  
Fri Aug 14 10:31:54 1998  Tom Tromey  
        * java/lang/Float.java (NEGATIVE_INFINITY, POSITIVE_INFINITY):
        * java/lang/Float.java (NEGATIVE_INFINITY, POSITIVE_INFINITY):
        Infinity is 1/0, not 1/1.
        Infinity is 1/0, not 1/1.
        * boehm.cc (JvPrivAllocArray): Use GC_generic_malloc.
        * boehm.cc (JvPrivAllocArray): Use GC_generic_malloc.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Removed duplicate AC_ARG_WITH.
        * configure.in: Removed duplicate AC_ARG_WITH.
Thu Aug 13 14:51:47 1998  Warren Levy  
Thu Aug 13 14:51:47 1998  Warren Levy  
        * prims.cc (_Jv_ThrowBadArrayIndex): Renamed from
        * prims.cc (_Jv_ThrowBadArrayIndex): Renamed from
        soft_badarrayindex.
        soft_badarrayindex.
        (_Jv_InitClass): Renamed from soft_initialise_class.
        (_Jv_InitClass): Renamed from soft_initialise_class.
        (_Jv_NewMultiArray): Renamed from soft_multianewarray.
        (_Jv_NewMultiArray): Renamed from soft_multianewarray.
        (_Jv_CheckCast): Renamed from soft_checkcast.
        (_Jv_CheckCast): Renamed from soft_checkcast.
        (_Jv_LookupInterfaceMethod): Renamed from soft_lookupinterfacemethod.
        (_Jv_LookupInterfaceMethod): Renamed from soft_lookupinterfacemethod.
        (_Jv_CheckArrayStore): Renamed from soft_checkarraystore.
        (_Jv_CheckArrayStore): Renamed from soft_checkarraystore.
        (JvRunMain): Call JvInitClass instead of soft_initialise_class.
        (JvRunMain): Call JvInitClass instead of soft_initialise_class.
        * include/cni.h (JvInitClass): New function.
        * include/cni.h (JvInitClass): New function.
        (_Jv_InitClass): Renamed from soft_initialise_class.
        (_Jv_InitClass): Renamed from soft_initialise_class.
Wed Aug 12 10:07:04 1998  Tom Tromey  
Wed Aug 12 10:07:04 1998  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in (CXX): Don't set.
        * configure.in (CXX): Don't set.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (AM_CXXFLAGS): New macro.
        * Makefile.am (AM_CXXFLAGS): New macro.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am ($(javao_files) $(nat_files) prims.o boehm.o
        * Makefile.am ($(javao_files) $(nat_files) prims.o boehm.o
        nogc.o): New target.
        nogc.o): New target.
        * boehm.cc (mark_obj): Update PUSH_CONTENTS call for new Boehm
        * boehm.cc (mark_obj): Update PUSH_CONTENTS call for new Boehm
        GC.
        GC.
        (mark_array): Likewise.
        (mark_array): Likewise.
Tue Aug 11 11:44:53 1998  Per Bothner  
Tue Aug 11 11:44:53 1998  Per Bothner  
        * java/lang/Class.h (JvMethod):  Removed some unused fields.
        * java/lang/Class.h (JvMethod):  Removed some unused fields.
        (JvField.info):  Removed unused idx union variant.
        (JvField.info):  Removed unused idx union variant.
Mon Aug 10 15:00:14 1998  Tom Tromey  
Mon Aug 10 15:00:14 1998  Tom Tromey  
        * prims.cc (makeUtf8Const): Mask off high bits of hash value to
        * prims.cc (makeUtf8Const): Mask off high bits of hash value to
        match compiler.
        match compiler.
Mon Aug  3 16:13:54 1998  Per Bothner  
Mon Aug  3 16:13:54 1998  Per Bothner  
        * configure.in, configure (CXX):  Add -fvtable-thunks.
        * configure.in, configure (CXX):  Add -fvtable-thunks.
Thu Jul 30 14:34:47 1998  Per Bothner  
Thu Jul 30 14:34:47 1998  Per Bothner  
        * java/lang/Object.java (finalize):  Move first.
        * java/lang/Object.java (finalize):  Move first.
        * java/lang/Object.h (_JvObjectPrefix):  New dummy base class.
        * java/lang/Object.h (_JvObjectPrefix):  New dummy base class.
        (Object):  Re-arrange order to match Object.java.
        (Object):  Re-arrange order to match Object.java.
Tue Jul 28 21:42:16 1998  Per Bothner  
Tue Jul 28 21:42:16 1998  Per Bothner  
        * prims.cc (hashUtf8String):  Fix - use new JavaSoft specification.
        * prims.cc (hashUtf8String):  Fix - use new JavaSoft specification.
        * java/lang/natString.cc (hashChars):  Likewise.
        * java/lang/natString.cc (hashChars):  Likewise.
        * prims.cc (RuntimeClass):  New macro.
        * prims.cc (RuntimeClass):  New macro.
        (JvRunMain):  Do soft_initialise_class of RuntimeClass before exit.
        (JvRunMain):  Do soft_initialise_class of RuntimeClass before exit.
Mon Jul 27 22:20:10 1998  Tom Tromey  
Mon Jul 27 22:20:10 1998  Tom Tromey  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (AM_MAKEFLAGS): New macro.
        * Makefile.am (AM_MAKEFLAGS): New macro.
Fri Jul 24 11:21:24 1998  Tom Tromey  
Fri Jul 24 11:21:24 1998  Tom Tromey  
        * nogc.cc: Include .
        * nogc.cc: Include .
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (GJAVAH): gjavah no longer in java subdir.
        * Makefile.am (GJAVAH): gjavah no longer in java subdir.
Thu Jul 23 11:38:40 1998  Tom Tromey  
Thu Jul 23 11:38:40 1998  Tom Tromey  
        * exception.cc (terminate): Removed.
        * exception.cc (terminate): Removed.
        (unexpected): Removed.
        (unexpected): Removed.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Handle case where target subdir is ".".
        * configure.in: Handle case where target subdir is ".".
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Compute COMPPATH based on --with-target-subdir
        * configure.in: Compute COMPPATH based on --with-target-subdir
        option.  Added --with-target-subdir and --with-cross-host.  Use
        option.  Added --with-target-subdir and --with-cross-host.  Use
        --with-cross-host to determine when a cross compiler is in use.
        --with-cross-host to determine when a cross compiler is in use.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (GJAVAH): Include COMPPATH.
        * Makefile.am (GJAVAH): Include COMPPATH.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Subst COMPPATH.
        * configure.in: Subst COMPPATH.
Mon Jul 20 16:13:43 1998  Tom Tromey  
Mon Jul 20 16:13:43 1998  Tom Tromey  
        * prims.cc (lockMutex): Removed.
        * prims.cc (lockMutex): Removed.
        (unlockMutex): Likewise.
        (unlockMutex): Likewise.
        (processClass): Lock the class using a JvSynchronize object.
        (processClass): Lock the class using a JvSynchronize object.
Fri Jul 17 11:27:48 1998  Tom Tromey  
Fri Jul 17 11:27:48 1998  Tom Tromey  
        * java/lang/natString.cc (gc_calloc_fixed): Removed.
        * java/lang/natString.cc (gc_calloc_fixed): Removed.
        (gc_free_fixed): Removed.
        (gc_free_fixed): Removed.
        (rehash): Use JvPrivAllocBytes, not gc_calloc_fixed; don't bother
        (rehash): Use JvPrivAllocBytes, not gc_calloc_fixed; don't bother
        freeing old value of strhash.
        freeing old value of strhash.
        * exception.cc (_Jv_type_matcher): Cast first argument to
        * exception.cc (_Jv_type_matcher): Cast first argument to
        _Jv_IsInstanceOf.
        _Jv_IsInstanceOf.
Thu Jul 16 14:51:44 1998  Tom Tromey  
Thu Jul 16 14:51:44 1998  Tom Tromey  
        * include/java-array.h (jstringArray): New type.
        * include/java-array.h (jstringArray): New type.
        * java/lang/natSystem.cc (setProperty): Removed.
        * java/lang/natSystem.cc (setProperty): Removed.
        (initProperties): Directly call JvNewStringLatin1 for arguments.
        (initProperties): Directly call JvNewStringLatin1 for arguments.
        * java/util/natDate.cc: Include java/util/Date.h, not
        * java/util/natDate.cc: Include java/util/Date.h, not
        java-util.h.
        java-util.h.
        (setTime): Removed.
        (setTime): Removed.
        * java/io/FileDescriptor.java (available): No longer static.
        * java/io/FileDescriptor.java (available): No longer static.
        * java/lang/natDouble.cc (Double): Removed class definition.
        * java/lang/natDouble.cc (Double): Removed class definition.
        * include/javaprims.h (java::lang::Number): Declare.
        * include/javaprims.h (java::lang::Number): Declare.
        (java::lang::NumberFormatException): Likewise.
        (java::lang::NumberFormatException): Likewise.
        (java::io::FilenameFilter): Likewise.
        (java::io::FilenameFilter): Likewise.
        (java::lang::Character): Likewise.
        (java::lang::Character): Likewise.
        (java::lang::Error): Likewise.
        (java::lang::Error): Likewise.
        (java::lang::SecurityManager): Likewise.
        (java::lang::SecurityManager): Likewise.
        (java::util::Vector): Likewise.
        (java::util::Vector): Likewise.
        (java::io::FileNotFoundException): Likewise.
        (java::io::FileNotFoundException): Likewise.
        (java::io::IOException): Likewise.
        (java::io::IOException): Likewise.
        (java::lang::NativeLang): Likewise.
        (java::lang::NativeLang): Likewise.
        (java::lang::UnsatisfiedLinkError): Likewise.
        (java::lang::UnsatisfiedLinkError): Likewise.
        (java::util::StringTokenizer): Likewise.
        (java::util::StringTokenizer): Likewise.
        (java::io::InputStream, java::io::OutputStream): Likewise.
        (java::io::InputStream, java::io::OutputStream): Likewise.
        (java::io::PrintStream, java::lang::SecurityException): Likewise.
        (java::io::PrintStream, java::lang::SecurityException): Likewise.
        (java::util::Hashtable): Likewise.
        (java::util::Hashtable): Likewise.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_headers): Added java/lang/Double.h,
        * Makefile.am (nat_headers): Added java/lang/Double.h,
        java/lang/Number.h, java/lang/System.h, java/lang/Runtime.h.
        java/lang/Number.h, java/lang/System.h, java/lang/Runtime.h.
        (MOSTLYCLEANFILES): Added nat_headers.
        (MOSTLYCLEANFILES): Added nat_headers.
        * include/jvm.h: Moved many defines, declarations, and functions
        * include/jvm.h: Moved many defines, declarations, and functions
        to java/lang/Class.h.
        to java/lang/Class.h.
        (struct JvSyncInfo): Moved to java/lang/Object.h.
        (struct JvSyncInfo): Moved to java/lang/Object.h.
        (UTF8_GET): Moved to java/lang/String.h.
        (UTF8_GET): Moved to java/lang/String.h.
Wed Jul 15 09:02:31 1998  Tom Tromey  
Wed Jul 15 09:02:31 1998  Tom Tromey  
        * java/io/io-defs.h: Don't include java-io.h.
        * java/io/io-defs.h: Don't include java-io.h.
        * include/java-io.h: Removed.
        * include/java-io.h: Removed.
        * include/javaprims.h: Include java::io.
        * include/javaprims.h: Include java::io.
Tue Jul 14 17:04:26 1998  Tom Tromey  
Tue Jul 14 17:04:26 1998  Tom Tromey  
        * include/java-io.h (File): Removed
        * include/java-io.h (File): Removed
        (FileDescriptor): Likewise.
        (FileDescriptor): Likewise.
        * java/io/io-defs.h: Include java/io/File.h and
        * java/io/io-defs.h: Include java/io/File.h and
        java/io/FileDescriptor.h.
        java/io/FileDescriptor.h.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (GJAVAH): New macro.
        * Makefile.am (GJAVAH): New macro.
        (.class.h): New rule.
        (.class.h): New rule.
        (SUFFIXES): Added .h.
        (SUFFIXES): Added .h.
        (nat_headers): New macro.
        (nat_headers): New macro.
        ($(nat_headers)): New target.
        ($(nat_headers)): New target.
        (BUILT_SOURCES): Added nat_headers.
        (BUILT_SOURCES): Added nat_headers.
        * include/java-util.h: Removed.
        * include/java-util.h: Removed.
Fri Jul  3 10:17:14 1998  Tom Tromey  
Fri Jul  3 10:17:14 1998  Tom Tromey  
        * include/java-io.h: Changed to avoid java-lang.h.
        * include/java-io.h: Changed to avoid java-lang.h.
        * java/lang/natThread.cc: Include java/lang/Thread.h, not
        * java/lang/natThread.cc: Include java/lang/Thread.h, not
        java-lang.h.
        java-lang.h.
        * java/lang/natSystem.cc: Include java/lang/System.h, not
        * java/lang/natSystem.cc: Include java/lang/System.h, not
        java-lang.h.
        java-lang.h.
        * java/lang/natString.cc: Include java/lang/String.h, not
        * java/lang/natString.cc: Include java/lang/String.h, not
        java-lang.h.
        java-lang.h.
        * java/lang/natRuntime.cc: Include java/lang/Runtime.h, not
        * java/lang/natRuntime.cc: Include java/lang/Runtime.h, not
        java-lang.h.
        java-lang.h.
        * java/lang/natClass.cc: Include java/lang/Class.h, not
        * java/lang/natClass.cc: Include java/lang/Class.h, not
        java-lang.h.
        java-lang.h.
        * java/lang/natDouble.cc: Include java/lang/Object.h, not
        * java/lang/natDouble.cc: Include java/lang/Object.h, not
        java-lang.h.
        java-lang.h.
        * java/lang/natObject.cc: Include java/lang/Object.h, not
        * java/lang/natObject.cc: Include java/lang/Object.h, not
        java-lang.h.
        java-lang.h.
        * exception.cc: Don't include java-lang.h.
        * exception.cc: Don't include java-lang.h.
        * posix-threads.cc: Include java/lang/Thread.h, not java-lang.h.
        * posix-threads.cc: Include java/lang/Thread.h, not java-lang.h.
        * no-threads.cc: Include java/lang/Thread.h, not java-lang.h.
        * no-threads.cc: Include java/lang/Thread.h, not java-lang.h.
        * nogc.cc: Don't include java-lang.h.
        * nogc.cc: Don't include java-lang.h.
        * boehm.cc: Include java/lang/Class.h, not java-lang.h.
        * boehm.cc: Include java/lang/Class.h, not java-lang.h.
        * prims.cc (processClass): Don't use `init_type'; just cast to
        * prims.cc (processClass): Don't use `init_type'; just cast to
        type directly.
        type directly.
        Include java/lang/Class.h and jvm.h, not java-lang.h.
        Include java/lang/Class.h and jvm.h, not java-lang.h.
        (JvAllocObject): Wrote single-argument version.
        (JvAllocObject): Wrote single-argument version.
        (PrimClass): Inherit from Class.
        (PrimClass): Inherit from Class.
        (initPrimClass): Removed.
        (initPrimClass): Removed.
        * include/java-lang.h: Removed.
        * include/java-lang.h: Removed.
        * include/jvm.h: Declare struct _dispatchTable.
        * include/jvm.h: Declare struct _dispatchTable.
        * include/cni.h: Don't declare _Jv_MonitorEnter,
        * include/cni.h: Don't declare _Jv_MonitorEnter,
        _Jv_MonitorExit, struct _dispatchTable.
        _Jv_MonitorExit, struct _dispatchTable.
        * include/javaprims.h: Moved all typedefs here, from cni.h.
        * include/javaprims.h: Moved all typedefs here, from cni.h.
        * java/lang/Class.h: New file.
        * java/lang/Class.h: New file.
        * include/java-array.h: New file.
        * include/java-array.h: New file.
        * java/lang/Object.h: New file.
        * java/lang/Object.h: New file.
        * prims.cc (classFromSig): Now static.
        * prims.cc (classFromSig): Now static.
Wed Jul  1 12:28:48 1998  Tom Tromey  
Wed Jul  1 12:28:48 1998  Tom Tromey  
        * include/cni.h: Don't mention soft_new.
        * include/cni.h: Don't mention soft_new.
        * include/java-lang.h (Object): Don't mention soft_new.  Mention
        * include/java-lang.h (Object): Don't mention soft_new.  Mention
        _Jv_NewPrimArray, not newPrimArray.
        _Jv_NewPrimArray, not newPrimArray.
        * prims.cc (soft_new): Removed.
        * prims.cc (soft_new): Removed.
        (_Jv_NewArray): Renamed from soft_newarray.
        (_Jv_NewArray): Renamed from soft_newarray.
        (soft_anewarray): Use JvNewObjectArray.
        (soft_anewarray): Use JvNewObjectArray.
        (newArray): Likewise.
        (newArray): Likewise.
        (newRefArray): Removed.
        (newRefArray): Removed.
        (_Jv_NewPrimArray): Renamed from newPrimArray.
        (_Jv_NewPrimArray): Renamed from newPrimArray.
        (equalUtf8Consts): Now static.
        (equalUtf8Consts): Now static.
        (soft_instanceof): Removed.
        (soft_instanceof): Removed.
        * java/lang/natDouble.cc (doubleToString): Now static.
        * java/lang/natDouble.cc (doubleToString): Now static.
        * java/lang/natDouble.cc (java_lang_Double_doubleToLongBits,
        * java/lang/natDouble.cc (java_lang_Double_doubleToLongBits,
        java_lang_Double_longBitsToDouble, java_lang_Double_toString):
        java_lang_Double_longBitsToDouble, java_lang_Double_toString):
        Removed.
        Removed.
Tue Jun 30 10:54:57 1998  Tom Tromey  
Tue Jun 30 10:54:57 1998  Tom Tromey  
        * include/java-lang.h: Renamed functions to _Jv_MonitorEnter and
        * include/java-lang.h: Renamed functions to _Jv_MonitorEnter and
        _Jv_MonitorExit.
        _Jv_MonitorExit.
        * include/cni.h: Renamed functions to _Jv_MonitorEnter and
        * include/cni.h: Renamed functions to _Jv_MonitorEnter and
        _Jv_MonitorExit.
        _Jv_MonitorExit.
        * include/no-threads.h (JvPrivMutexLock): Always return -1.
        * include/no-threads.h (JvPrivMutexLock): Always return -1.
        (JvPrivMutexUnlock): Likewise.
        (JvPrivMutexUnlock): Likewise.
        * prims.cc (_Jv_MonitorEnter): Renamed from soft_monitorenter.
        * prims.cc (_Jv_MonitorEnter): Renamed from soft_monitorenter.
        Return value now jint.
        Return value now jint.
        (_Jv_MonitorExit): Renamed from soft_monitorexit.  Return value
        (_Jv_MonitorExit): Renamed from soft_monitorexit.  Return value
        now jint.
        now jint.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am: Don't allow `jV' names.
        * Makefile.am: Don't allow `jV' names.
        (maintainer-check): Depend on libjava.a.
        (maintainer-check): Depend on libjava.a.
        * exception.cc (_Jv_eh_free): Renamed from __jV_eh_free.
        * exception.cc (_Jv_eh_free): Renamed from __jV_eh_free.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (NM): New macro.
        * Makefile.am (NM): New macro.
        (maintainer-check): New target.
        (maintainer-check): New target.
        * include/posix-threads.h (_MIT_POSIX_THREADS): Removed.
        * include/posix-threads.h (_MIT_POSIX_THREADS): Removed.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Use --enable-threads, not --enable-gc.  Fix
        * configure.in: Use --enable-threads, not --enable-gc.  Fix
        documentation for --enable-threads.  Changed option to work like
        documentation for --enable-threads.  Changed option to work like
        identical option in gcc/configure.
        identical option in gcc/configure.
Mon Jun 29 10:44:29 1998  Tom Tromey  
Mon Jun 29 10:44:29 1998  Tom Tromey  
        * boehm.cc (mark_array): Use JvGetArrayLength.
        * boehm.cc (mark_array): Use JvGetArrayLength.
Thu Jun 25 11:56:21 1998  Per Bothner  
Thu Jun 25 11:56:21 1998  Per Bothner  
        * exception.cc:  New file (mostly written by Andrew MacLeod),
        * exception.cc:  New file (mostly written by Andrew MacLeod),
        exception handling support.
        exception handling support.
        * Makefile.am (libjava_a_SOURCES), Makefile.in:  Add exception.cc.
        * Makefile.am (libjava_a_SOURCES), Makefile.in:  Add exception.cc.
        Remove -fexceptions - it is now the default.
        Remove -fexceptions - it is now the default.
        * prims.cc (JvIsInstanceOf):  Renamed to _Jv_IsInstanceOf.
        * prims.cc (JvIsInstanceOf):  Renamed to _Jv_IsInstanceOf.
        (JvAllocObject):  Renamed to _Jv_AllocObject.
        (JvAllocObject):  Renamed to _Jv_AllocObject.
        (soft_athrow):  Removed.  Replaced by _Jv_Throw in exception.cc.
        (soft_athrow):  Removed.  Replaced by _Jv_Throw in exception.cc.
        (loadClass):  Renamed to _Jv_FindClass.
        (loadClass):  Renamed to _Jv_FindClass.
        * include/cni.h (JvIsInstanceOf, JvAllocObject).  Make into
        * include/cni.h (JvIsInstanceOf, JvAllocObject).  Make into
        inline methods that call _Jv_IsInstanceOf and _Jv_AllocObject.
        inline methods that call _Jv_IsInstanceOf and _Jv_AllocObject.
        * include/java-lang.h (JvGetArrayLength):  New CNI function.
        * include/java-lang.h (JvGetArrayLength):  New CNI function.
        * include/jvm.h (_Jv_FindClass):  Added declaration.
        * include/jvm.h (_Jv_FindClass):  Added declaration.
        * java/lang/natString.cc:  More implementation if COMPACT_STRINGS.
        * java/lang/natString.cc:  More implementation if COMPACT_STRINGS.
Wed Jun 24 16:41:30 1998  Per Bothner  
Wed Jun 24 16:41:30 1998  Per Bothner  
        * java/lang/natClass.cc (getName):  Add implementation.
        * java/lang/natClass.cc (getName):  Add implementation.
        * java/lang/Throwable.java (printStackTrace): Handle missing backtrace.
        * java/lang/Throwable.java (printStackTrace): Handle missing backtrace.
Tue Jun 23 15:56:24 1998  Tom Tromey  
Tue Jun 23 15:56:24 1998  Tom Tromey  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (.class.o): Added -fexceptions.
        * Makefile.am (.class.o): Added -fexceptions.
Mon Jun 15 14:54:06 1998  Tom Tromey  
Mon Jun 15 14:54:06 1998  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Don't check for __nanosleep.
        * configure.in: Don't check for __nanosleep.
        * posix-threads.cc (nanosleep): Never define.
        * posix-threads.cc (nanosleep): Never define.
Sun Jun 14 22:37:23 1998  Tom Tromey  
Sun Jun 14 22:37:23 1998  Tom Tromey  
        * posix-threads.cc (JvPrivCondWait): Fixed computation of
        * posix-threads.cc (JvPrivCondWait): Fixed computation of
        timespec.
        timespec.
Thu Jun 11 10:51:44 1998  Tom Tromey  
Thu Jun 11 10:51:44 1998  Tom Tromey  
        * java/lang/natThread.cc (enumerate): Uncommented.
        * java/lang/natThread.cc (enumerate): Uncommented.
        * java/lang/Thread.java (interrupted_): Renamed from `interrupt_'.
        * java/lang/Thread.java (interrupted_): Renamed from `interrupt_'.
        (interrupt): Call it.
        (interrupt): Call it.
Wed Jun 10 15:57:16 1998  Tom Tromey  
Wed Jun 10 15:57:16 1998  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in (GCLIBS): Use `-lgc' so gjavac can recognize it.
        * configure.in (GCLIBS): Use `-lgc' so gjavac can recognize it.
Mon Jun  8 12:04:11 1998  Tom Tromey  
Mon Jun  8 12:04:11 1998  Tom Tromey  
        * include/no-threads.h (JvPrivThreadInterrupt): New method.
        * include/no-threads.h (JvPrivThreadInterrupt): New method.
        * include/java-lang.h (Thread): Added `interrupted_' method.
        * include/java-lang.h (Thread): Added `interrupted_' method.
        * java/lang/Thread.java (interrupted_): New method.
        * java/lang/Thread.java (interrupted_): New method.
        * java/lang/natThread.cc (join): Possibly throw interrupted
        * java/lang/natThread.cc (join): Possibly throw interrupted
        exception after join finishes.
        exception after join finishes.
        (interrupted_): New method.
        (interrupted_): New method.
        * posix-threads.cc (JvPrivThreadInitData): Initialize join_mutex,
        * posix-threads.cc (JvPrivThreadInitData): Initialize join_mutex,
        join_cond.
        join_cond.
        (JvPrivThreadJoin): New function.
        (JvPrivThreadJoin): New function.
        (really_start): Notify all threads waiting for this thread.
        (really_start): Notify all threads waiting for this thread.
        (struct starter): Added `data' member.
        (struct starter): Added `data' member.
        (JvPrivThreadStart): Set it.
        (JvPrivThreadStart): Set it.
        * include/posix-threads.h (JvPrivThread_t): Added join_mutex,
        * include/posix-threads.h (JvPrivThread_t): Added join_mutex,
        join_cond.
        join_cond.
        (JvPrivThreadJoin): No longer inline.
        (JvPrivThreadJoin): No longer inline.
        (JvPrivThreadInterrupt): New function.
        (JvPrivThreadInterrupt): New function.
        * include/no-threads.h (JvPrivThreadSleep): Removed.
        * include/no-threads.h (JvPrivThreadSleep): Removed.
        * posix-threads.cc (JvPrivThreadSleep): Removed.
        * posix-threads.cc (JvPrivThreadSleep): Removed.
Fri Jun  5 13:51:25 1998  Tom Tromey  
Fri Jun  5 13:51:25 1998  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in (THREADOBJS): Initialize to no-threads.o in
        * configure.in (THREADOBJS): Initialize to no-threads.o in
        no-threads case.
        no-threads case.
        * posix-threads.cc (key): New global.
        * posix-threads.cc (key): New global.
        (JvPrivInitThreads): New function.
        (JvPrivInitThreads): New function.
        (really_start): Set thread-specific data to point to object.
        (really_start): Set thread-specific data to point to object.
        (JvPrivThreadStart): Added `daemon' argument.
        (JvPrivThreadStart): Added `daemon' argument.
        (JvPrivThreadSleep): Added `data' argument.
        (JvPrivThreadSleep): Added `data' argument.
        * include/posix-threads.h (JvPrivInitThreads): Removed
        * include/posix-threads.h (JvPrivInitThreads): Removed
        implementation.
        implementation.
        (JvPrivThreadCurrent): New function.
        (JvPrivThreadCurrent): New function.
        * include/no-threads.h (JvPrivThreadInitData): Initialize
        * include/no-threads.h (JvPrivThreadInitData): Initialize
        JvPrivOnlyThread.  Added `thread' argument.
        JvPrivOnlyThread.  Added `thread' argument.
        (JvPrivThreadCurrent): New function.
        (JvPrivThreadCurrent): New function.
        (JvPrivThreadStart): Added `daemon' argument.
        (JvPrivThreadStart): Added `daemon' argument.
        * no-threads.cc: New file.
        * no-threads.cc: New file.
        * java/lang/natThread.cc (init_data): New function.
        * java/lang/natThread.cc (init_data): New function.
        (isAlive): Removed.
        (isAlive): Removed.
        (start): Set `alive' member.
        (start): Set `alive' member.
        (stop_): Clear `alive' member.
        (stop_): Clear `alive' member.
        (destroy): Likewise.
        (destroy): Likewise.
        (currentThread): Implemented.
        (currentThread): Implemented.
        (start): Pass `daemon' argument to JvPrivThreadStart.
        (start): Pass `daemon' argument to JvPrivThreadStart.
        (sleep): Rewrote.
        (sleep): Rewrote.
        * include/java-lang.h (Thread): Added `alive', `tsync' members.
        * include/java-lang.h (Thread): Added `alive', `tsync' members.
        (Thread): Added `init_data' method.
        (Thread): Added `init_data' method.
        * java/lang/Thread.java (alive, data): New instance variables.
        * java/lang/Thread.java (alive, data): New instance variables.
        (init_data): New private method.
        (init_data): New private method.
        (isAlive): No longer native.
        (isAlive): No longer native.
Thu Jun  4 14:09:32 1998  Tom Tromey  
Thu Jun  4 14:09:32 1998  Tom Tromey  
        * include/java-lang.h (JvRunMain): Declare.
        * include/java-lang.h (JvRunMain): Declare.
        * include/jvm.h (JvPrivInitGC): Revert to C++ linkage.
        * include/jvm.h (JvPrivInitGC): Revert to C++ linkage.
        * prims.cc (JvRunMain): New function.
        * prims.cc (JvRunMain): New function.
        (main_signature, main_name): New globals.
        (main_signature, main_name): New globals.
        * boehm.cc (mark_array): Use `elements' function and not
        * boehm.cc (mark_array): Use `elements' function and not
        operator[] on jarray.
        operator[] on jarray.
        * posix-threads.cc: Include .  Define nanosleep if
        * posix-threads.cc: Include .  Define nanosleep if
        required.
        required.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Check for _nanosleep.
        * configure.in: Check for _nanosleep.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Check for pthread_mutexattr_settype.
        * configure.in: Check for pthread_mutexattr_settype.
        * include/cni.h (class JvSynchronize): New class.
        * include/cni.h (class JvSynchronize): New class.
        * java/lang/Thread.java (sleep): Throws InterruptedException.
        * java/lang/Thread.java (sleep): Throws InterruptedException.
        (join): Throws InterruptedException.
        (join): Throws InterruptedException.
        (resume): Not native.
        (resume): Not native.
        (resume_): New method.
        (resume_): New method.
        (start): Now synchronized.
        (start): Now synchronized.
        (stop_): New method.
        (stop_): New method.
        (Thread): Synchronize when accessing threadNumber.
        (Thread): Synchronize when accessing threadNumber.
        (misc): Removed.
        (misc): Removed.
        * java/lang/natThread.cc (throwException): New macro.
        * java/lang/natThread.cc (throwException): New macro.
        (sleep): Throw InterruptedException.
        (sleep): Throw InterruptedException.
        (resume_): Renamed.
        (resume_): Renamed.
        (stop_): Renamed.
        (stop_): Renamed.
        * include/java-lang.h (Runtime): Added interrupted().
        * include/java-lang.h (Runtime): Added interrupted().
        * boehm.cc (call_finalizer): Correctly initialize jobj.
        * boehm.cc (call_finalizer): Correctly initialize jobj.
        * include/java-lang.h (Runtime): Added getRuntime() and exit().
        * include/java-lang.h (Runtime): Added getRuntime() and exit().
        * java/lang/natSystem.cc (currentTimeMillis): Use #elif, not
        * java/lang/natSystem.cc (currentTimeMillis): Use #elif, not
        `#elseif'.
        `#elseif'.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Added support for --disable-threads.
        * configure.in: Added support for --disable-threads.
        * include/no-threads.h: New file.
        * include/no-threads.h: New file.
        * acconfig.h (HAVE_PTHREAD_MUTEXATTR_INIT): New macro.
        * acconfig.h (HAVE_PTHREAD_MUTEXATTR_INIT): New macro.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (EXTRA_libjava_a_SOURCES): Added posix-threads.cc.
        * Makefile.am (EXTRA_libjava_a_SOURCES): Added posix-threads.cc.
        (libjava_a_DEPENDENCIES): Added THREADOBJS.
        (libjava_a_DEPENDENCIES): Added THREADOBJS.
        (libjava_a_LIBADD): Added THREADOBJS.
        (libjava_a_LIBADD): Added THREADOBJS.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Added --with-threads option.
        * configure.in: Added --with-threads option.
        * posix-threads.cc: New file.
        * posix-threads.cc: New file.
        * include/posix-threads.h: New file.
        * include/posix-threads.h: New file.
        * include/java-lang.h (Object): Added static member sync_mutex,
        * include/java-lang.h (Object): Added static member sync_mutex,
        member sync_info, method init_mutex.
        member sync_info, method init_mutex.
        (struct JvSyncInfo): New struct.
        (struct JvSyncInfo): New struct.
        Include "java-threads.h".
        Include "java-threads.h".
        * prims.cc (soft_monitorenter): Wrote.
        * prims.cc (soft_monitorenter): Wrote.
        (soft_monitorexit): Likewise.
        (soft_monitorexit): Likewise.
        * java/lang/natObject.cc (init_mutex): New method.
        * java/lang/natObject.cc (init_mutex): New method.
        (notify): Wrote.
        (notify): Wrote.
        (notifyAll): Wrote.
        (notifyAll): Wrote.
        (wait): Wrote.
        (wait): Wrote.
        (sync_mutex): Define.
        (sync_mutex): Define.
        Include "java-threads.h".
        Include "java-threads.h".
Tue Jun  2 15:24:33 1998  Per Bothner  
Tue Jun  2 15:24:33 1998  Per Bothner  
        * include/java-lang.h (JvPrivInitGC):  Make extern "C".
        * include/java-lang.h (JvPrivInitGC):  Make extern "C".
        * include/jvm.h (JvConvertArgv, JvNewObjectArray):  Likewise.
        * include/jvm.h (JvConvertArgv, JvNewObjectArray):  Likewise.
Mon Jun  1 11:21:34 1998  Per Bothner  
Mon Jun  1 11:21:34 1998  Per Bothner  
        * include/cni.h (jbyte etc):  Re-define using __java_byte etc.
        * include/cni.h (jbyte etc):  Re-define using __java_byte etc.
        Added extern "Java" in places to tell G++ Object is a "Java" type.
        Added extern "Java" in places to tell G++ Object is a "Java" type.
        Other minor renaming and fixes.
        Other minor renaming and fixes.
        * include/java-io.h (FileDescriptor):  Add friend class declarations.
        * include/java-io.h (FileDescriptor):  Add friend class declarations.
        G++ no longer allows non-Java types in method parameters and results
        G++ no longer allows non-Java types in method parameters and results
        of Java classes.  Converted most offending methods to friends.
        of Java classes.  Converted most offending methods to friends.
        * java/lang/natDouble.cc (Double::toString):  Rename to doubleToString.
        * java/lang/natDouble.cc (Double::toString):  Rename to doubleToString.
        * java/lang/natSystem.cc (setProperty):  Make friend.
        * java/lang/natSystem.cc (setProperty):  Make friend.
        * java/lang/natString.cc, include/java-lang.h (String):  Rename
        * java/lang/natString.cc, include/java-lang.h (String):  Rename
        methods findInternSlot to __JvStringFindSlot and __JvStringGetSlot.
        methods findInternSlot to __JvStringFindSlot and __JvStringGetSlot.
        * include/java-lang.h (JArray):  Remove getData and eoprator[].
        * include/java-lang.h (JArray):  Remove getData and eoprator[].
        Add elements friend function instead.
        Add elements friend function instead.
        * java/lang/natSystem.cc (arraycopy):  Use elements function.
        * java/lang/natSystem.cc (arraycopy):  Use elements function.
        * java/io/natFileDescriptor.cc (read, write):  Likewise.
        * java/io/natFileDescriptor.cc (read, write):  Likewise.
        * include/java-lang.h (Object):  Remove unused make method.
        * include/java-lang.h (Object):  Remove unused make method.
        (System::setProperty(char*,char*)): Turn into friend function.
        (System::setProperty(char*,char*)): Turn into friend function.
        (Class):  Rename newObject by JvAllocObject.
        (Class):  Rename newObject by JvAllocObject.
        * prims.cc:  Update to use JvAllocObject, and elements.
        * prims.cc:  Update to use JvAllocObject, and elements.
        * java/lang/natDouble.cc:  Fix double -> jdouble.
        * java/lang/natDouble.cc:  Fix double -> jdouble.
Wed May 20 16:50:06 1998  Per Bothner  
Wed May 20 16:50:06 1998  Per Bothner  
        * Makefile.am (INCLUDES):  Add -Iinclude (to get config.h).
        * Makefile.am (INCLUDES):  Add -Iinclude (to get config.h).
Mon May 18 13:46:02 1998  Tom Tromey  
Mon May 18 13:46:02 1998  Tom Tromey  
        * java/lang/natRuntime.cc (finalize_on_exit): Define.
        * java/lang/natRuntime.cc (finalize_on_exit): Define.
        * include/java-lang.h (Runtime): finalize_on_exit and
        * include/java-lang.h (Runtime): finalize_on_exit and
        runFinalizersOnExit now static.
        runFinalizersOnExit now static.
        * java/lang/Runtime.java (runFinalizersOnExit): Now static, to
        * java/lang/Runtime.java (runFinalizersOnExit): Now static, to
        match JDK 1.2b3.
        match JDK 1.2b3.
        (finalize_on_exit): Now static.
        (finalize_on_exit): Now static.
        * boehm.cc (mark_obj): Get class using getClass() method on
        * boehm.cc (mark_obj): Get class using getClass() method on
        object.
        object.
        (_dispatchTable): Removed.
        (_dispatchTable): Removed.
Mon May 11 15:26:52 1998  Tom Tromey  
Mon May 11 15:26:52 1998  Tom Tromey  
        * java/io/natFileDescriptor.cc (open_read): Only call open if
        * java/io/natFileDescriptor.cc (open_read): Only call open if
        HAVE_OPEN defined.
        HAVE_OPEN defined.
        (open_write): Likewise.
        (open_write): Likewise.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am ($(nat_files)): Depend on config.h.
        * Makefile.am ($(nat_files)): Depend on config.h.
Thu May  7 16:22:00 1998  Tom Tromey  
Thu May  7 16:22:00 1998  Tom Tromey  
        * prims.cc (ObjectClass): Now a macro; updated for new class name
        * prims.cc (ObjectClass): Now a macro; updated for new class name
        mangling scheme.
        mangling scheme.
        (StringClass): Likewise.
        (StringClass): Likewise.
        (ClassClass): Likewise.
        (ClassClass): Likewise.
Wed May  6 00:26:44 1998  Tom Tromey  
Wed May  6 00:26:44 1998  Tom Tromey  
        * java/io/natFileDescriptor.cc (available): Do nothing unless
        * java/io/natFileDescriptor.cc (available): Do nothing unless
        HAVE_SELECT defined.
        HAVE_SELECT defined.
        * java/util/natDate.cc (setTime): Conditional on
        * java/util/natDate.cc (setTime): Conditional on
        HAVE_GETTIMEOFDAY.
        HAVE_GETTIMEOFDAY.
        (toString): Conditional on HAVE_TIME.
        (toString): Conditional on HAVE_TIME.
        * aclocal.m4, configure: Rebuilt.
        * aclocal.m4, configure: Rebuilt.
        * acinclude.m4: New file.
        * acinclude.m4: New file.
        * configure.in: Don't actually call AM_EXEEXT.  Call
        * configure.in: Don't actually call AM_EXEEXT.  Call
        AC_CANONICAL_HOST.  Use LIB_AC_PROG_CC and LIB_AC_PROG_CXX.  Added
        AC_CANONICAL_HOST.  Use LIB_AC_PROG_CC and LIB_AC_PROG_CXX.  Added
        --with-target-subdir option.  Check for select and open
        --with-target-subdir option.  Check for select and open
        functions.
        functions.
Tue May  5 00:10:45 1998  Tom Tromey  
Tue May  5 00:10:45 1998  Tom Tromey  
        * boehm.cc (JvPrivRegisterFinalizer): Changed interface.
        * boehm.cc (JvPrivRegisterFinalizer): Changed interface.
        (call_finalizer): Likewise.
        (call_finalizer): Likewise.
        * nogc.cc (JvPrivRegisterFinalizer): Changed interface.
        * nogc.cc (JvPrivRegisterFinalizer): Changed interface.
        * prims.cc (newObject): Pass actual method pointer to
        * prims.cc (newObject): Pass actual method pointer to
        JvPrivRegisterFinalizer.
        JvPrivRegisterFinalizer.
        * include/jvm.h (JvPrivFinalizerFunc): New typedef.
        * include/jvm.h (JvPrivFinalizerFunc): New typedef.
        (JvPrivRegisterFinalizer): Changed interface.
        (JvPrivRegisterFinalizer): Changed interface.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (MOSTLYCLEANFILES): New macro.
        * Makefile.am (MOSTLYCLEANFILES): New macro.
        (CLEANFILES): Removed javao_files.
        (CLEANFILES): Removed javao_files.
Fri May  1 22:52:24 1998  Tom Tromey  
Fri May  1 22:52:24 1998  Tom Tromey  
        * nogc.cc: New file.
        * nogc.cc: New file.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (INCLUDES): Use GCINCS, not paths to boehm-gc.
        * Makefile.am (INCLUDES): Use GCINCS, not paths to boehm-gc.
        (EXTRA_libjava_a_SOURCES): New macro.
        (EXTRA_libjava_a_SOURCES): New macro.
        (libjava_a_SOURCES): Removed boehm.cc.
        (libjava_a_SOURCES): Removed boehm.cc.
        (libjava_a_DEPENDENCIES): Added GCOBJS.
        (libjava_a_DEPENDENCIES): Added GCOBJS.
        (libjava_a_LIBADD): Likewise.
        (libjava_a_LIBADD): Likewise.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Added code for --enable-gc=TYPE.
        * configure.in: Added code for --enable-gc=TYPE.
Thu Apr 30 14:54:00 1998  Tom Tromey  
Thu Apr 30 14:54:00 1998  Tom Tromey  
        * boehm.cc (mark_array): Don't further dereference pointer from
        * boehm.cc (mark_array): Don't further dereference pointer from
        array.
        array.
        * boehm.cc: Include , not .
        * boehm.cc: Include , not .
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (INCLUDES): Removed -I for boehm-gc/include; added
        * Makefile.am (INCLUDES): Removed -I for boehm-gc/include; added
        one for boehm-gc build directory.
        one for boehm-gc build directory.
Wed Apr 29 09:45:19 1998  Tom Tromey  
Wed Apr 29 09:45:19 1998  Tom Tromey  
        * include/java-lang.h (finalize_on_exit): New instance variable in
        * include/java-lang.h (finalize_on_exit): New instance variable in
        java::lang::Runtime.
        java::lang::Runtime.
        (runFinalizersOnExit): New method.
        (runFinalizersOnExit): New method.
        * java/lang/Runtime.java (finalize_on_exit): New instance
        * java/lang/Runtime.java (finalize_on_exit): New instance
        variable.
        variable.
        (runAllFinalizers_): New private method.
        (runAllFinalizers_): New private method.
        (runFinalizersOnExit): New method.
        (runFinalizersOnExit): New method.
        * boehm.cc (JvPrivRunFinalizers): New function.
        * boehm.cc (JvPrivRunFinalizers): New function.
        (JvPrivRunAllFinalizers): Likewise.
        (JvPrivRunAllFinalizers): Likewise.
        (JvPrivRunGC): Likewise.
        (JvPrivRunGC): Likewise.
        * java/lang/natRuntime.cc: Include "jvm.h".
        * java/lang/natRuntime.cc: Include "jvm.h".
        (gc): Call JvPrivRunGC.
        (gc): Call JvPrivRunGC.
        (runFinalization): Call JvPrivRunFinalizers.
        (runFinalization): Call JvPrivRunFinalizers.
        (runFinalizersOnExit): New method.
        (runFinalizersOnExit): New method.
        (exit_): Call JvPrivRunAllFinalizers if required.
        (exit_): Call JvPrivRunAllFinalizers if required.
        * include/jvm.h: Declare JvPrivRunFinalizers,
        * include/jvm.h: Declare JvPrivRunFinalizers,
        JvPrivRunAllFinalizers, JvPrivRunGC.
        JvPrivRunAllFinalizers, JvPrivRunGC.
Tue Apr 28 15:06:50 1998  Tom Tromey  
Tue Apr 28 15:06:50 1998  Tom Tromey  
        * boehm.cc (JvPrivRegisterFinalizer): New function.
        * boehm.cc (JvPrivRegisterFinalizer): New function.
        (call_finalizer): Likewise.
        (call_finalizer): Likewise.
        * include/jvm.h: Declare JvPrivRegisterFinalizer.
        * include/jvm.h: Declare JvPrivRegisterFinalizer.
        * prims.cc (finalize_name): New global.
        * prims.cc (finalize_name): New global.
        (newObject): Just call other newObject.
        (newObject): Just call other newObject.
        (newObject): Register finalizer if it exists.
        (newObject): Register finalizer if it exists.
Mon Apr 27 12:47:03 1998  Tom Tromey  
Mon Apr 27 12:47:03 1998  Tom Tromey  
        * prims.cc (gc_malloc): Removed.
        * prims.cc (gc_malloc): Removed.
        (makeUtf8Const): Use JvPrivAllocBytes.
        (makeUtf8Const): Use JvPrivAllocBytes.
        (lookupArray): Likewise.
        (lookupArray): Likewise.
        (newPrimArray): Likewise.
        (newPrimArray): Likewise.
        (JvNewObjectArray): Use JvPrivAllocArray.
        (JvNewObjectArray): Use JvPrivAllocArray.
        (newObject): Use JvPrivAllocObj.
        (newObject): Use JvPrivAllocObj.
        (newObject): Likewise.
        (newObject): Likewise.
        Changed Method -> JvMethod everywhere.
        Changed Method -> JvMethod everywhere.
        Changed Field -> JvField everywhere.
        Changed Field -> JvField everywhere.
        * include/java-lang.h (Object): Changed type of `fields' to
        * include/java-lang.h (Object): Changed type of `fields' to
        JvField*.
        JvField*.
        (jmethodID, jfieldID): New typedefs.
        (jmethodID, jfieldID): New typedefs.
        (Object): JvGetFirstInstanceField and JvNumInstanceFields now
        (Object): JvGetFirstInstanceField and JvNumInstanceFields now
        friends.
        friends.
        * include/jvm.h (struct JvMethod): Renamed from Method, and moved
        * include/jvm.h (struct JvMethod): Renamed from Method, and moved
        from java-lang.h.
        from java-lang.h.
        (METHOD_NATIVECODE): Moved from java-lang.h.
        (METHOD_NATIVECODE): Moved from java-lang.h.
        (class JvField): New class.
        (class JvField): New class.
        (JvGetFirstInstanceField): New function.
        (JvGetFirstInstanceField): New function.
        (JvFieldIsRef): Likewise.
        (JvFieldIsRef): Likewise.
        (JvGetObjectField): Likewise.
        (JvGetObjectField): Likewise.
        (JvNumInstanceFields): Likewise.
        (JvNumInstanceFields): Likewise.
Thu Apr 23 16:42:11 1998  Tom Tromey  
Thu Apr 23 16:42:11 1998  Tom Tromey  
        * boehm.cc: New file.
        * boehm.cc: New file.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (libjava_a_SOURCES): Added boehm.cc.
        * Makefile.am (libjava_a_SOURCES): Added boehm.cc.
        (INCLUDES): Added -I options to find boehm-gc files.
        (INCLUDES): Added -I options to find boehm-gc files.
Wed Apr 29 15:11:37 1998  Tom Tromey  
Wed Apr 29 15:11:37 1998  Tom Tromey  
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in (CXX): Put -fno-rtti here and not in CXXFLAGS.
        * configure.in (CXX): Put -fno-rtti here and not in CXXFLAGS.
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (nat_files): New macro.
        * Makefile.am (nat_files): New macro.
        (libjava_a_DEPENDENCIES): Use it.
        (libjava_a_DEPENDENCIES): Use it.
        (libjava_a_LIBADD): Likewise.
        (libjava_a_LIBADD): Likewise.
        ($(nat_files)): New static pattern rule.
        ($(nat_files)): New static pattern rule.
        (class_files): Run separate find to find .class files.
        (class_files): Run separate find to find .class files.
        (javao_files): Compute based on class_files.
        (javao_files): Compute based on class_files.
        (BUILT_SOURCES): New macro.
        (BUILT_SOURCES): New macro.
Thu Apr 23 16:42:11 1998  Tom Tromey  
Thu Apr 23 16:42:11 1998  Tom Tromey  
        * Makefile.am (java_files): New macro.
        * Makefile.am (java_files): New macro.
        (class_files): Likewise.
        (class_files): Likewise.
        (javao_files): Likewise.
        (javao_files): Likewise.
        (libjava_a_DEPENDENCIES): Include $(javao_files).
        (libjava_a_DEPENDENCIES): Include $(javao_files).
        (libjava_a_LIBADD): Likewise.
        (libjava_a_LIBADD): Likewise.
        (classes.stamp): Depend on $(java_files); only recompile changed
        (classes.stamp): Depend on $(java_files); only recompile changed
        files.
        files.
        (here): New macro.
        (here): New macro.
        (CLEANFILES): Don't run find; use macros.  Don't mention
        (CLEANFILES): Don't run find; use macros.  Don't mention
        libjava.a.
        libjava.a.
        (.class.o): New target.
        (.class.o): New target.
        (compiled.stamp): Removed.
        (compiled.stamp): Removed.
Thu Apr 23 14:17:43 1998  Per Bothner  
Thu Apr 23 14:17:43 1998  Per Bothner  
        * java/io/{Reader,InputStreamReader,FileReader,BufferedReader,
        * java/io/{Reader,InputStreamReader,FileReader,BufferedReader,
        LineNumberReader}>java:  Newly-implemented standard classes.
        LineNumberReader}>java:  Newly-implemented standard classes.
Thu Apr 23 14:02:04 1998  Tom Tromey  
Thu Apr 23 14:02:04 1998  Tom Tromey  
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (compiled.stamp): Use $(CC), not $(GCC).
        * Makefile.am (compiled.stamp): Use $(CC), not $(GCC).
        * Makefile.in: Rebuilt.
        * Makefile.in: Rebuilt.
        * Makefile.am (hack): New macro.
        * Makefile.am (hack): New macro.
        (libjava_a_LIBADD): Use $(hack) to work around automake oddity.
        (libjava_a_LIBADD): Use $(hack) to work around automake oddity.
Wed Apr 22 16:49:57 1998  Tom Tromey  
Wed Apr 22 16:49:57 1998  Tom Tromey  
        * include/config.h.in: New file.
        * include/config.h.in: New file.
        * include/config.h: Removed.
        * include/config.h: Removed.
        * acconfig.h: New file.
        * acconfig.h: New file.
        * Makefile.am (AR, ARFLAGS, JAVAC, GCC, CXX, CXXFLAGS): Removed.
        * Makefile.am (AR, ARFLAGS, JAVAC, GCC, CXX, CXXFLAGS): Removed.
        (lib_LIBRARIES, libjava_a_SOURCES, libjava_a_DEPENDENCIES,
        (lib_LIBRARIES, libjava_a_SOURCES, libjava_a_DEPENDENCIES,
        libjava_a_LIBADD): New macros.
        libjava_a_LIBADD): New macros.
        (INCLUDES): New macro.
        (INCLUDES): New macro.
        (prims.o): Removed.
        (prims.o): Removed.
        (.cc.o): Removed.
        (.cc.o): Removed.
        (SUFFIXES): Removed.
        (SUFFIXES): Removed.
        (all): Removed.
        (all): Removed.
        (libjava.a): Removed.
        (libjava.a): Removed.
        * configure: Rebuilt.
        * configure: Rebuilt.
        * configure.in: Call AC_PROG_CC, AC_PROG_CXX, AC_PROG_RANLIB.
        * configure.in: Call AC_PROG_CC, AC_PROG_CXX, AC_PROG_RANLIB.
        Look for headers and functions we require.  Create
        Look for headers and functions we require.  Create
        include/config.h.
        include/config.h.
Mon Apr 20 22:25:00 1998  Per Bothner  
Mon Apr 20 22:25:00 1998  Per Bothner  
        * prims.cc (instance_class, instanceof, JvIsInstanceOf, JvConvertArgv,
        * prims.cc (instance_class, instanceof, JvIsInstanceOf, JvConvertArgv,
        soft_instanceof, newObject, JbNewObjectArray, soft_checkcast,
        soft_instanceof, newObject, JbNewObjectArray, soft_checkcast,
        soft_lookupinterfacemethod):  New functions.
        soft_lookupinterfacemethod):  New functions.
        (PrimClass):  Actually initialize the primitive classes.
        (PrimClass):  Actually initialize the primitive classes.
        (Utf8Const2JavaString):  Moved to java/lang/natString.cc.
        (Utf8Const2JavaString):  Moved to java/lang/natString.cc.
        * include/java-util.h:  Removed java::util definition.
        * include/java-util.h:  Removed java::util definition.
        * include/cni.h:  Moved java::util here and added Properties.
        * include/cni.h:  Moved java::util here and added Properties.
        Added more function prototypes.
        Added more function prototypes.
        * include/java-lang.h:  Added mroe methods and friend declarations.
        * include/java-lang.h:  Added mroe methods and friend declarations.
        * include/config.h (HAVE_GETTIMEOFDAY, HAVE_TIME):  Added.
        * include/config.h (HAVE_GETTIMEOFDAY, HAVE_TIME):  Added.
        * include/jvm.h (strLengthUtf8):  Add declaration.
        * include/jvm.h (strLengthUtf8):  Add declaration.
        * java/lang/{Integer,Long,Boolean,Character,Float,Double}.java (TYPE):
        * java/lang/{Integer,Long,Boolean,Character,Float,Double}.java (TYPE):
        New static field.
        New static field.
        * java/lang/{Byte,Short,Void}.java:  New classes.
        * java/lang/{Byte,Short,Void}.java:  New classes.
        * java/lang/Character.java (isJavaIdentifierStart,
        * java/lang/Character.java (isJavaIdentifierStart,
        JavaIdentifierPart):  New static methods.
        JavaIdentifierPart):  New static methods.
        * java/lang/Number.java (byteValue, shortValue):  New methods.
        * java/lang/Number.java (byteValue, shortValue):  New methods.
        * java/lang/String.java (intern, hashCode):  Make native.
        * java/lang/String.java (intern, hashCode):  Make native.
        * java/lang/natString.cc:  New file.  Handle the string pool.
        * java/lang/natString.cc:  New file.  Handle the string pool.
        * Makefile.am:  Build natString.o.  Use CXXFLAGS.
        * Makefile.am:  Build natString.o.  Use CXXFLAGS.
        * java/lang/Class.java (isArray, isPrimitive, getComponentType,
        * java/lang/Class.java (isArray, isPrimitive, getComponentType,
        isInstance, isAssignableFrom), java/lang/natClass.cc:  New methods.
        isInstance, isAssignableFrom), java/lang/natClass.cc:  New methods.
        * java/lang/Throwable.java ():  Don't fillInStackTrace yet.
        * java/lang/Throwable.java ():  Don't fillInStackTrace yet.
        * java/lang/System.java (setProperty):  New private method.
        * java/lang/System.java (setProperty):  New private method.
        (initProperties):  Take argument, and make native.
        (initProperties):  Take argument, and make native.
        * java/lang/natSystem.cc:  Implement (preliminary) initProperties.
        * java/lang/natSystem.cc:  Implement (preliminary) initProperties.
        (currentTimeMillis):  Make more robust.
        (currentTimeMillis):  Make more robust.
        * java/io/{Writer,PrintWriter,OutputStreamWriter}.java:  New classes.
        * java/io/{Writer,PrintWriter,OutputStreamWriter}.java:  New classes.
        * java/io/UnsupportedEncodingException.java:  New exception class.
        * java/io/UnsupportedEncodingException.java:  New exception class.
        * java/io/DataInputStream.java:  Don't use a PushbackInputStream.
        * java/io/DataInputStream.java:  Don't use a PushbackInputStream.
        * java/io/FilterOutputStream.java:  Add missing 'extends OutputStream'.
        * java/io/FilterOutputStream.java:  Add missing 'extends OutputStream'.
Fri Apr 10 11:52:10 1998  Per Bothner  
Fri Apr 10 11:52:10 1998  Per Bothner  
        * Makefile.am (CXXFLAGS, JC1FLAGS):  New macro.
        * Makefile.am (CXXFLAGS, JC1FLAGS):  New macro.
        * prims.cc:  Added bunch of stuff.
        * prims.cc:  Added bunch of stuff.
        * include/cni.h:  Added various definitions.
        * include/cni.h:  Added various definitions.
        * include/java-lang.h:  Added Method, various friends, some macros.
        * include/java-lang.h:  Added Method, various friends, some macros.
        * include/config.h:  Added HAVA_MEMMOVE and HAVE_MEMCPY.
        * include/config.h:  Added HAVA_MEMMOVE and HAVE_MEMCPY.
        * java/lang/System.java (arraycopy):  Make native.
        * java/lang/System.java (arraycopy):  Make native.
Sun Apr  5 23:58:51 1998  Per Bothner  
Sun Apr  5 23:58:51 1998  Per Bothner  
        * java/lang/{netObject.cc,natClass.cc,natDouble.cc,natRuntime.cc,
        * java/lang/{netObject.cc,natClass.cc,natDouble.cc,natRuntime.cc,
        natSystem.cc,natThread.cc}:  Native (C++) methods for various classes.
        natSystem.cc,natThread.cc}:  Native (C++) methods for various classes.
        * java/lang/ClassLoader.java (defineClass):  Now takes extra argument.
        * java/lang/ClassLoader.java (defineClass):  Now takes extra argument.
        * java/lang/Double.java (toString, doubleToLongBits, longBitsToDouble):
        * java/lang/Double.java (toString, doubleToLongBits, longBitsToDouble):
        Make native.
        Make native.
        * java/lang/Runtime.java:  Declare methods as native instead of
        * java/lang/Runtime.java:  Declare methods as native instead of
        using NativeLang.
        using NativeLang.
        * java/lang/SecurityManager.java (getClassContext):  Just throw Error.
        * java/lang/SecurityManager.java (getClassContext):  Just throw Error.
        * java/lang/System.java:  Comment out some stuff, for now.
        * java/lang/System.java:  Comment out some stuff, for now.
        * java/lang/Thread.java:  Re-write.  Use native methods.
        * java/lang/Thread.java:  Re-write.  Use native methods.
        * java/lang/NativeLang.java:  Remove most of it.
        * java/lang/NativeLang.java:  Remove most of it.
        * java/util/natDate.cc:  Native (C++) methods for Date.
        * java/util/natDate.cc:  Native (C++) methods for Date.
        * java/util/{Calendar.java,GregorianCalendar.java}:  New classes.
        * java/util/{Calendar.java,GregorianCalendar.java}:  New classes.
        * java/util/Date.java:  Complete re-write.
        * java/util/Date.java:  Complete re-write.
        * java/io/io-defs.h:  New header file.
        * java/io/io-defs.h:  New header file.
        * java/io/FileDescriptor.java:  Add a bunch of private methods,
        * java/io/FileDescriptor.java:  Add a bunch of private methods,
        mostly moved from NativeIO.java and natNativeIO.cc.
        mostly moved from NativeIO.java and natNativeIO.cc.
        * java/io/{natFile.cc,java/io/natFileDescriptor.cc}:  New native code.
        * java/io/{natFile.cc,java/io/natFileDescriptor.cc}:  New native code.
        * java/io/File.java:  Use new code.
        * java/io/File.java:  Use new code.
        * java/io/{FileInputStream.java.FileOutputStream.java,
        * java/io/{FileInputStream.java.FileOutputStream.java,
        RandomAccessFile.java}:  Use new private FileDescriptor methods.
        RandomAccessFile.java}:  Use new private FileDescriptor methods.
        * java/io/NativeIO.java:  Removed, no longer used.
        * java/io/NativeIO.java:  Removed, no longer used.
        * java/io/StreamTokenizer.java (numericChars):  Make char array.
        * java/io/StreamTokenizer.java (numericChars):  Make char array.
        * include/*.h:  Various header files used by the C++ native code.
        * include/*.h:  Various header files used by the C++ native code.
        * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in:
        * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in:
        New autoconf+automake-based setup.
        New autoconf+automake-based setup.
        * prims.cc:  New file for Java "primitives".
        * prims.cc:  New file for Java "primitives".
 
 

powered by: WebSVN 2.1.0

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