gcc/libjava/java/lang
Anthony Green 58eb6e7cef [multiple changes]
1999-08-09  Anthony Green  <green@cygnus.com>

        * gij.cc: New file.

        * include/config.h.in: Rebuilt.
        * acconfig.h: Add INTERPRETER.

        * configure: Rebuilt.

        * Makefile.in: Rebuilt.
        * Makefile.am (libffi_files): Identify the libffi object files for
        inclusion in libgcj.
        (LIBFFIINCS): Define.

        * interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1):
        Dummy definition for configurations without an interpreter.

        * java/net/natPlainSocketImpl.cc (getOption): Disamiguate call to
        java::lang::Boolean constructor.

        * include/java-interp.h: Always include java-cpool.h.

        * java/lang/natClassLoader.cc (getVMClassLoader0): Always return 0
        when INTERPRETER not defined.

        * java/lang/Class.h (finalize): Define.

        * gnu/gcj/util/path/DirectoryPathEntry.java (getURL): Catch
        IOException from File.getCanonicalPath.
        (getStream): Likewise.

        * NEWS: More news.
        * THANKS: More thanks.

1999-08-09  Kresten Krab Thorup  <krab@gnu.org>

        * resolve.cc (get_ffi_type_from_signature): Generate uint16 for
        jchar type.
        (_Jv_PrepareClass): Allow non-abstract classes to
        have abstract subclasses.
        (_Jv_ResolvePoolEntry): Revert subclass check for protected
        fields and methods.
        * interpret.cc (continue1/perform_invoke): Don't sign extend
        uint16 return val.
        (continue1/lshl,lshr): Push long, not int.
        (continue1/ulshr): Use UINT64, not long long.
        * defineclass.cc (handleFieldsEnd): Handle case when all fields
        are static.
        * java/lang/natClass.cc (forName): Add call to _Jv_InitClass.
        * java/lang/FirstThread.java (run): Add top-level exception
        handler.
        (run0): Renamed from run.

1999-08-08  Kresten Krab Thorup  <krab@gnu.org>

        * configure.in (--with-interpreter): Added.
        * include/config.h.in (INTERPRETER): Added.

        * java/lang/ClassLoader.java: File replaced.
        * java/lang/VMClassLoader.java: New file.
        * java/lang/natClassLoader.cc: New file.
        * gnu/gcj/runtime/MethodInvocation.java: New file.
        * gnu/gcj/util/path/SearchPath.java: New file.
        * gnu/gcj/util/path/PathEntry.java: New file.
        * gnu/gcj/util/path/DirectoryPathEntry.java: New file.
        * gnu/gcj/util/path/ZipPathEntry.java: New file.
        * gnu/gcj/util/path/URLPathEntry.java: New file.
        * gnu/gcj/util/path/CacheEntry.java: New file.
        * include/java-interp.h: New file.
        * include/java-cpool.h: New file.
        * include/java-insns.h: New file.
        * defineclass.cc: New file.
        * interpret.cc: New file.
        * resolve.cc: New file.

        * java/lang/natClass.cc (loaded_classes, _Jv_RegisterClass,
        _Jv_RegisterClasses, _Jv_FindClassInCache, _Jv_FindClass,
        _Jv_NewClass, _Jv_FindArrayClass): Moved to natClassLoader.cc.
        (finalize): New.
        (STATE_NOTHING, STATE_RESOLVED, STATE_IN_PROGRESS, STATE_DONE,
        STATE_ERROR): Moved to java/lang/Class.h and renamed with JV_
        prefix.
        (initializeClass): Use new JV_ prefixed names.  Also, call
        ClassLoader::resolveClass instead of _Jv_ResolveClass.

        * java/lang/Class.h (JV_STATE_PRELOADING, JV_STATE_LOADING,
        JV_STATE_LOADED, JV_STATE_COMPILED, JV_STATE_PREPARED,
        JV_STATE_LINKED): New.
        (_Jv_WaitForState, _Jv_RegisterInitiatingLoader,
        _Jv_UnregisterClass, _Jv_InternClassStrings): New friends.
        (_Jv_IsInterpretedClass, _Jv_InitField, _Jv_LookupDeclaredMethod,
        _Jv_DetermineVTableIndex, _Jv_ResolvePoolEntry, _Jv_PrepareClass,
        _Jv_ClassReader, _Jv_InterpClass, _Jv_InterpMethod,
        _Jv_InterpMethodInvocation): New friends for interpreter.
        (finalize): New.
        (CONSTANT_Class, CONSTANT_String, etc.): Moved to
        include/java-cpool.h and renamed with JV_ prefix.

        * include/jvm.h (_Jv_makeUtf8Const, _Jv_makeUtf8TypeConst): New
        decls.
        (_Jv_UnregisterClass): New decl.

        * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added
        class loader argument.
        (_Jv_FindClass): Use class loader.

        * prims.cc (_Jv_makeUtf8Const): New function.
        (_Jv_NewObjectArray): Change use of _Jv_FindArrayClass.
        (_Jv_NewPrimArray): Ditto.
        (_Jv_FindClassFromSignature): Ditto.
        * java/lang/reflect/natArray.cc (newInstance): Ditto.
        * java/lang/reflect/natMethod.cc (getType): Ditto.

        * include/java-field.h (_Jv_Field::isRef): Make robust for
        non-resolved contexts.

        * boehm.cc (_Jv_MarkObj): Mark interpreter-related fields.
        Also, don't mark class->next field.

        * java/lang/VirtualMachineError.java: Added FIXME note.

        * configure.in (INTERPSPEC): New spec.
        * libgcj.spec.in: Added INTERPSPEC.
        * Makefile.am: Added gcjh friends for java/lang/VMClassLoader and
        gnu/gcj/runtime/MethodInvocation.
        (libgcj_la_SOURCES): Added resolve.cc defineclass.cc interpret.cc.
        (ordinary_java_source_files): Added above mentioned java classes.

        * configure: Rebuilt.
        * Makefile.in: Rebuilt.

From-SVN: r28597
1999-08-08 14:06:23 +00:00
..
reflect [multiple changes] 1999-08-08 14:06:23 +00:00
AbstractMethodError.java Initial revision 1999-04-07 14:42:40 +00:00
ArithmeticException.java Initial revision 1999-04-07 14:42:40 +00:00
ArrayIndexOutOfBoundsException.java Initial revision 1999-04-07 14:42:40 +00:00
ArrayStoreException.java Initial revision 1999-04-07 14:42:40 +00:00
Boolean.java Initial revision 1999-04-07 14:42:40 +00:00
Byte.java Initial revision 1999-04-07 14:42:40 +00:00
Character.java Initial revision 1999-04-07 14:42:40 +00:00
Class.h [multiple changes] 1999-08-08 14:06:23 +00:00
Class.java [multiple changes] 1999-08-08 14:06:23 +00:00
ClassCastException.java Initial revision 1999-04-07 14:42:40 +00:00
ClassCircularityError.java Initial revision 1999-04-07 14:42:40 +00:00
ClassFormatError.java Initial revision 1999-04-07 14:42:40 +00:00
ClassLoader.java [multiple changes] 1999-08-08 14:06:23 +00:00
ClassNotFoundException.java Initial revision 1999-04-07 14:42:40 +00:00
Cloneable.java Initial revision 1999-04-07 14:42:40 +00:00
CloneNotSupportedException.java Initial revision 1999-04-07 14:42:40 +00:00
Comparable.java Initial revision 1999-04-07 14:42:40 +00:00
Compiler.java Initial revision 1999-04-07 14:42:40 +00:00
Double.java Initial revision 1999-04-07 14:42:40 +00:00
dtoa.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_acos.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_asin.c [multiple changes] 1999-06-24 20:41:47 +00:00
e_atan2.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_exp.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_fmod.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_log.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_pow.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_rem_pio2.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_remainder.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_scalb.c Initial revision 1999-04-07 14:42:40 +00:00
e_sqrt.c [multiple changes] 1999-06-24 20:06:09 +00:00
EcosProcess.java javaprims.h: Updated namespace declarations. 1999-05-12 11:23:44 +00:00
Error.java Initial revision 1999-04-07 14:42:40 +00:00
Exception.java Initial revision 1999-04-07 14:42:40 +00:00
ExceptionInInitializerError.java Initial revision 1999-04-07 14:42:40 +00:00
fdlibm.h [multiple changes] 1999-06-24 20:41:47 +00:00
FirstThread.java [multiple changes] 1999-08-08 14:06:23 +00:00
Float.java Initial revision 1999-04-07 14:42:40 +00:00
ieeefp.h ieeefp.h (__IEEE_LITTLE_ENDIAN): Define for alpha. 1999-06-21 15:42:12 +00:00
IllegalAccessError.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalAccessException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalArgumentException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalMonitorStateException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalStateException.java Initial revision 1999-04-07 14:42:40 +00:00
IllegalThreadStateException.java Initial revision 1999-04-07 14:42:40 +00:00
IncompatibleClassChangeError.java Initial revision 1999-04-07 14:42:40 +00:00
IndexOutOfBoundsException.java Initial revision 1999-04-07 14:42:40 +00:00
InstantiationError.java Initial revision 1999-04-07 14:42:40 +00:00
InstantiationException.java Initial revision 1999-04-07 14:42:40 +00:00
Integer.java Long.java (parseLong): Corrected overflow detection code. 1999-04-08 11:57:28 +00:00
InternalError.java Initial revision 1999-04-07 14:42:40 +00:00
InterruptedException.java Initial revision 1999-04-07 14:42:40 +00:00
k_cos.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_rem_pio2.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_sin.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_tan.c [multiple changes] 1999-06-24 20:06:09 +00:00
LinkageError.java Initial revision 1999-04-07 14:42:40 +00:00
Long.java Long.java (parseLong): Corrected overflow detection code. 1999-04-08 11:57:28 +00:00
Math.java Initial revision 1999-04-07 14:42:40 +00:00
mprec.c Initial revision 1999-04-07 14:42:40 +00:00
mprec.h mprec.h: Protect definition of uint32_t with #ifndef _UINT32_T. 1999-07-12 09:40:07 +00:00
natCharacter.cc * java/lang/natCharacter.cc (isLowerCase): Use a binary search. 1999-05-07 17:39:52 +00:00
natClass.cc [multiple changes] 1999-08-08 14:06:23 +00:00
natClassLoader.cc [multiple changes] 1999-08-08 14:06:23 +00:00
natDouble.cc natDouble.java (doubleToLongBits): ensure that all NaNs are always converted to the same long value. 1999-04-14 07:10:22 +00:00
natEcosProcess.cc javaprims.h: Updated namespace declarations. 1999-05-12 11:23:44 +00:00
natFirstThread.cc [multiple changes] 1999-08-08 14:06:23 +00:00
natFloat.cc natDouble.java (doubleToLongBits): ensure that all NaNs are always converted to the same long value. 1999-04-14 07:10:22 +00:00
natMath.cc Initial revision 1999-04-07 14:42:40 +00:00
natObject.cc * java/lang/natObject.cc (sync_init): Use _Jv_AllocBytesChecked. 1999-05-10 09:28:54 +00:00
natPosixProcess.cc Runtime.java (exec): Convert prog name and arguments to string array. 1999-06-09 18:42:26 +01:00
natRuntime.cc Makefile.in: Rebuilt. 1999-05-05 14:19:24 +00:00
natString.cc natString.cc (substring): optimize where substring is entire String. 1999-07-26 03:51:44 +01:00
natSystem.cc natSystem.cc (arraycopy): Use bcopy if memmove is not available. 1999-07-31 23:41:15 +00:00
natThread.cc Initial revision 1999-04-07 14:42:40 +00:00
NegativeArraySizeException.java Initial revision 1999-04-07 14:42:40 +00:00
NoClassDefFoundError.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchFieldError.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchFieldException.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchMethodError.java Initial revision 1999-04-07 14:42:40 +00:00
NoSuchMethodException.java Initial revision 1999-04-07 14:42:40 +00:00
NullPointerException.java Initial revision 1999-04-07 14:42:40 +00:00
Number.java Initial revision 1999-04-07 14:42:40 +00:00
NumberFormatException.java Initial revision 1999-04-07 14:42:40 +00:00
Object.h Initial revision 1999-04-07 14:42:40 +00:00
Object.java Initial revision 1999-04-07 14:42:40 +00:00
OutOfMemoryError.java Initial revision 1999-04-07 14:42:40 +00:00
PosixProcess.java javaprims.h: Updated namespace declarations. 1999-05-12 11:23:44 +00:00
Process.java Initial revision 1999-04-07 14:42:40 +00:00
Runnable.java Initial revision 1999-04-07 14:42:40 +00:00
Runtime.java Runtime.java (exec): Convert prog name and arguments to string array. 1999-06-09 18:42:26 +01:00
RuntimeException.java Initial revision 1999-04-07 14:42:40 +00:00
s_atan.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_ceil.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_copysign.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_cos.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_fabs.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_floor.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_rint.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_scalbn.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_sin.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_tan.c [multiple changes] 1999-06-24 20:06:09 +00:00
SecurityException.java Initial revision 1999-04-07 14:42:40 +00:00
SecurityManager.java Initial revision 1999-04-07 14:42:40 +00:00
sf_rint.c [multiple changes] 1999-06-24 20:06:09 +00:00
Short.java Initial revision 1999-04-07 14:42:40 +00:00
StackOverflowError.java Initial revision 1999-04-07 14:42:40 +00:00
String.java String.java (toString): Check for this == null and throw NullPointerException. 1999-07-01 20:58:04 +01:00
StringBuffer.java StringBuffer.java (ensureCapacity): Don't resize vector when shared. 1999-04-30 09:31:00 +00:00
StringIndexOutOfBoundsException.java Initial revision 1999-04-07 14:42:40 +00:00
strtod.c Initial revision 1999-04-07 14:42:40 +00:00
System.java Initial revision 1999-04-07 14:42:40 +00:00
Thread.java Initial revision 1999-04-07 14:42:40 +00:00
ThreadDeath.java Initial revision 1999-04-07 14:42:40 +00:00
ThreadGroup.java Initial revision 1999-04-07 14:42:40 +00:00
Throwable.java Initial revision 1999-04-07 14:42:40 +00:00
UnknownError.java Initial revision 1999-04-07 14:42:40 +00:00
UnsatisfiedLinkError.java Initial revision 1999-04-07 14:42:40 +00:00
UnsupportedOperationException.java Initial revision 1999-04-07 14:42:40 +00:00
VerifyError.java Initial revision 1999-04-07 14:42:40 +00:00
VirtualMachineError.java [multiple changes] 1999-08-08 14:06:23 +00:00
VMClassLoader.java [multiple changes] 1999-08-08 14:06:23 +00:00
Void.java Initial revision 1999-04-07 14:42:40 +00:00
w_acos.c Initial revision 1999-04-07 14:42:40 +00:00
w_asin.c Initial revision 1999-04-07 14:42:40 +00:00
w_atan2.c Initial revision 1999-04-07 14:42:40 +00:00
w_exp.c Initial revision 1999-04-07 14:42:40 +00:00
w_fmod.c Initial revision 1999-04-07 14:42:40 +00:00
w_log.c Initial revision 1999-04-07 14:42:40 +00:00
w_pow.c Initial revision 1999-04-07 14:42:40 +00:00
w_remainder.c Initial revision 1999-04-07 14:42:40 +00:00
w_sqrt.c Initial revision 1999-04-07 14:42:40 +00:00