aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
AgeCommit message (Collapse)AuthorFilesLines
2000-02-25re GNATS libgcj/38 (Static initializer in DecimalFormat eventually depends ↵Bryce McKinlay1-7/+21
on itself) 2000-02-25 Bryce McKinlay <bryce@albatross.co.nz> * java/net/URLConnection.java (initializeDateFormats): New private method. (getHeaderFieldDate): Call initializeDateFormats if required. locale, dateFormat1, dateFormat2, dateFormat3: Don't initialize these. Fix for PR libgcj/38. From-SVN: r32153
2000-02-25BigInteger.java (ival): Made private.Warren Levy1-3/+3
* java/math/BigInteger.java(ival): Made private. (words): Ditto. (neg): Ditto. From-SVN: r32143
2000-02-21Makefile.in: Rebuilt.Anthony Green1-4/+21
* Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Add gnu/gcj/io/DefaultMimeTypes.java and gnu/gcj/io/MimeTypes.java * scripts/MakeDefaultMimeTypes.java: New file. * scripts/mime.types: New file. * scripts/classes.pl: Moved from top level. * classes.pl: Moved to scripts directory. * java/net/URLConnection.java: Implement guessContentTypeFromName. * gnu/gcj/io/MimeTypes.java: New file. * gnu/gcj/io/DefaultMimeTypes.java: New file. From-SVN: r32086
2000-02-19ZipEntry.java (setCrc): Fix overflow.Bryce McKinlay1-2/+2
2000-02-19 Bryce McKinlay <bryce@albatross.co.nz> * java/util/zip/ZipEntry.java (setCrc): Fix overflow. (setSize): ditto. From-SVN: r32062
2000-02-18jvm.h (_Jv_GetJavaVM): Declare.Tom Tromey1-2/+7
* include/jvm.h (_Jv_GetJavaVM): Declare. * include/java-interp.h (_Jv_GetFirstMethod): New function. (_Jv_MethodBase::get_method): New method. (_Jv_JNIMethod::set_function): New method. * jni.cc (_Jv_JNI_UnregisterNatives): New function. (_Jv_JNI_RegisterNatives): New function. (_Jv_JNIFunctions): Updated for new functions. (_Jv_GetJavaVM): New function. (_Jv_JNI_GetJavaVM): Use it. Now static. (_Jv_JNI_AttachCurrentThread): Create a new JNIEnv if this thread is already a Java thread but does not have a JNIEnv yet. * java/lang/natRuntime.cc (_load): Pass the JavaVM to the onload function. From-SVN: r32056
2000-02-15natSystem.cc (init_properties): set java.lang.classpath property.Bryce McKinlay1-2/+9
* java/lang/natSystem.cc (init_properties): set java.lang.classpath property. From-SVN: r31981
2000-02-15natRuntime.cc (_load): Include library path with exception message.Bryce McKinlay1-1/+3
* java/lang/natRuntime.cc (_load): Include library path with exception message. From-SVN: r31979
2000-02-15natThread.cc (dumpStack): Removed.Bryce McKinlay2-10/+5
* java/lang/natThread.cc (dumpStack): Removed. * java/lang/Thread.java (dumpStack): Implemented. From-SVN: r31978
2000-02-15re GNATS gcj/150 (System.loadLibrary() semantics arn't the same as in the JDK)Tom Tromey1-3/+12
* java/lang/natRuntime.cc (_load): On Unix, prefix library name with `lib' for loadLibrary. Fixes PR gcj/150. From-SVN: r31976
2000-02-14MPN.java (findLowestBit): Made methods public.Warren Levy1-20/+154
* gnu/gcj/math/MPN.java(findLowestBit): Made methods public. * java/math/BigInteger.java(BigInteger(int,int,java.util.Random): New constructor. (min): Implemented. (max): Implemented. (modPow): Rewritten to not use the naive, slow, brute force approach. (isProbablePrime): Implemented. (testBit): Implemented. (flipBit): Implemented. (getLowestSetBit): Implemented. From-SVN: r31966
2000-02-12File.java (createTempFile): Use low bits from counter, not high bits.Tom Tromey1-1/+2
* java/io/File.java (createTempFile): Use low bits from counter, not high bits. From-SVN: r31946
2000-02-11BigInteger.java (BigInteger(String, int)): New constructor.Warren Levy1-24/+400
* java/math/BigInteger.java(BigInteger(String, int)): New constructor. (BigInteger(String)): New constructor. (not): Rewritten using version from Kawa's BitOps class. (valueOf): New private methods from Kawa's BitOps class. (swappedOp): ditto. (bitOp): ditto. (setBitOp): ditto. (and): Implemented. (or): Implemented. (xor): Implemented. (andNot): Implemented. (clearBit): Implemented. (setBit): Implemented. (bitCount): Implemented. (toByteArray): Implemented. From-SVN: r31926
2000-02-11* java/io/File.java (nextValue): Now synchronized.Tom Tromey1-1/+1
From-SVN: r31925
2000-02-11natFileDescriptorPosix.cc (open): Recognize EXCL flag.Tom Tromey4-4/+84
* java/io/natFileDescriptorPosix.cc (open): Recognize EXCL flag. * java/io/FileDescriptor.java (EXCL): New static field. * java/io/File.java (tmpdir): New static field. (createTempFile): New method. (nextValue): New method. * java/lang/natSystem.cc (init_properties): Set java.io.tmpdir property. From-SVN: r31922
2000-02-10natNativeThread.cc: New file.Tom Tromey2-8/+33
* gnu/gcj/jni/natNativeThread.cc: New file. * gnu/gcj/jni/NativeThread.java: New file. * java/lang/Thread.java (data): Now a RawData. * include/jvm.h (_Jv_GetCurrentJNIEnv, _Jv_SetCurrentJNIEnv): Declare. * Makefile.in: Rebuilt. * Makefile.am (java/lang/Thread.h): New target. (ordinary_java_source_files): Added NativeThread.java. (nat_source_files): Added natNativeThread.cc. * java/lang/natThread.cc: Include <jni.h> (struct natThread): Added `jni_env' field. (_Jv_GetCurrentJNIEnv): New function. (_Jv_SetCurrentJNIEnv): Likewise. (initialize_native): Initialize jni_env. Include RawData.h. * jni.cc (ThreadGroupClass): New define. (_Jv_JNI_InvokeFunctions): New structure. (JNI_GetCreatedJavaVMs): New function. (the_vm): New global. (JNI_GetDefaultJavaVMInitArgs): New function. Include NativeThread.h. (NativeThreadClass): New define. (_Jv_JNI_EnsureLocalCapacity): Return JNI_ERR, not -1. (_Jv_JNI_DestroyJavaVM): New function. (_Jv_JNI_AttachCurrentThread): New function. (_Jv_JNI_DetachCurrentThread): New function. (_Jv_JNI_GetEnv): New function. (JNI_CreateJavaVM): New function. (_Jv_JNI_GetJavaVM): New function. (_Jv_JNIFunctions): Added entry for GetJavaVM. * include/jni.h (JavaVMAttachArgs): New structure. (JNI_EDETACHED): New define. (JNI_EVERSION): Likewise. (JavaVM): Define properly. (struct JNIInvokeInterface): New structure. (class _Jv_JavaVM): New class. (JNI_OnLoad, JNI_OnUnload): Declare. (JNI_GetDefaultJavaVMInitArgs, JNI_CreateJavaVM, JNI_GetCreatedJavaVMs): Declare. (JavaVMInitArgs): New typedef. (JavaVMOption): Likewise. (JNI_ERR): New define. (JNI_OK): Likewise. From-SVN: r31901
2000-02-10interpret.cc: Don't include fdlibm.h.Andrew Haley2-4/+10
2000-02-10 Andrew Haley <aph@cygnus.com> * interpret.cc: Don't include fdlibm.h. Replace #if with #ifdef throughout. Declare extern __ieee754_fmod. (continue1): Remove op_getfield, op_getstatic, op_putfield, op_putstatic insns. * resolve.cc (_Jv_PrepareClass): Use imeth as method pointer. Search class hierarchy for superclass vtable. * java/lang/natClassLoader.cc (_Jv_UnregisterClass): Don't fall off the end of a pointer list. * java/lang/natThread.cc (stop): Don't abort, throw an exception instead. (suspend): Ditto. From-SVN: r31897
2000-02-10natRuntime.cc (_load): Call add_library.Tom Tromey1-0/+4
* java/lang/natRuntime.cc (_load): Call add_library. (loadLibraryInternal): Likewise. From-SVN: r31877
2000-02-08Properties.java (setProperty): New method.Tom Tromey1-79/+90
* java/util/Properties.java (setProperty): New method. (store): New method. From-SVN: r31855
2000-02-08Runtime.java (_load): Declare.Tom Tromey2-28/+28
* java/lang/Runtime.java (_load): Declare. (load, loadLibrary): Wrote in terms of _load. * java/lang/natRuntime.cc (load): Call JNI_OnLoad if it appears in library. (loadLibrary): Likewise. Include <jni.h>. (_load): New method. (loadLibrary, load): Removed. From-SVN: r31846
2000-02-04Makefile.am: Added MPN.java and BigInteger.java.Warren Levy1-0/+1683
* Makefile.am: Added MPN.java and BigInteger.java. * Makefile.in: Rebuilt. * gnu/gcj/math/MPN.java: New file. * java/math/BigInteger.java: New file. From-SVN: r31794
2000-02-04defineclass.cc (handleMethodsBegin): Allocate _Jv_MethodBase pointers.Tom Tromey2-3/+52
* defineclass.cc (handleMethodsBegin): Allocate _Jv_MethodBase pointers. (handleMethodsEnd): Fixed error messages. Create a _Jv_JNIMethod if the method is native. * resolve.cc (ncode): Don't handle native methods. (_Jv_JNIMethod::ncode): New method. (_Jv_PrepareClass): Handle native methods. * jni.cc (call): Renamed from _Jv_JNI_conversion_call. Include AbstractMethodError.h. (add_char): New function. (mangled_name): Likewise. * include/java-interp.h (class _Jv_JNIMethod): New class. (class _Jv_MethodBase): New class. (class _Jv_InterpMethod): Derive from _Jv_MethodBase. (_Jv_InterpClass): Changed `interpreted_methods' field to type `_Jv_MethodBase'. * include/jvm.h (_Jv_FindSymbolInExecutable): Declare. * java/lang/natRuntime.cc (libraries_size, libraries_count, libraries): New globals. (add_library): New function. (_Jv_FindSymbolInExecutable): New function. * java/lang/natClassLoader.cc (initiated_classes, loaded_classes): Now static. From-SVN: r31790
2000-02-04Throwable.java (CPlusPlusDemangler): New class.Andrew Haley2-6/+90
2000-02-04 Andrew Haley <aph@cygnus.com> * java/lang/Throwable.java (CPlusPlusDemangler): New class. (printStackTrace): Use a CPlusPlusDemangler to demangle names. * java/lang/natThrowable.cc (printRawStackTrace): Rename printStackTrace to printRawStackTrace. From-SVN: r31785
2000-02-03Calendar.java (toString): New method.Tom Tromey9-10/+116
* java/util/Calendar.java (toString): New method. * java/util/SimpleTimeZone.java (clone): New method. (toString): New method. * java/util/TimeZone.java (clone): New method. * java/text/SimpleDateFormat.java (clone): New method. * java/text/NumberFormat.java (clone): New method. (equals): New method. * java/text/Format.java (clone): New method. * java/text/DateFormatSymbols.java (DateFormatSymbols): New constructor. (clone): New method. * java/text/DateFormat.java (clone): New method. * java/text/Collator.java (clone): New method. From-SVN: r31775
2000-02-03PipedOutputStream.java (write(byte[], int, int)): New method.Tom Tromey1-7/+10
* java/io/PipedOutputStream.java (write(byte[], int, int)): New method. From-SVN: r31774
2000-01-26method.h (JvNumMethods): Moved from Class.h.Tom Tromey1-14/+5
* gcj/method.h (JvNumMethods): Moved from Class.h. (JvGetFirstMethod): Likewise. * java/lang/Class.h (Object): Updated decl of _Jv_JNI_ToReflectedField. (Object): Added _Jv_JNI_ToReflectedMethod as a friend. * Makefile.in: Rebuilt. * Makefile.am (java/lang/reflect/Field.h): Added `jboolean' argument of _Jv_JNI_ToReflectedField. (java/lang/reflect/Constructor.h): Added _Jv_JNI_ToReflectedMethod as a friend. (java/lang/reflect/Method.h): Likewise. * include/jni.h (class _Jv_JNIEnv): Added `klass' member. Use __GCJ_JNI_IMPL__. (jweak): New typedef. (struct JNINativeInterface): Correctly declare remaining entries. * jni.cc: Include Class.h, ClassLoader.h. (_Jv_JNI_FindClass): New function. (_Jv_JNI_DefineClass): New function. (_Jv_JNI_conversion_call): New function. (_Jv_JNI_FindClass): Use current class loader to find class. (_Jv_JNI_ExceptionCheck): New function. (_Jv_JNI_FromReflectedField): Now static. (MethodClass): New define. (_Jv_JNI_FromReflectedMethod): New function. (_Jv_JNI_ToReflectedMethod): Likewise. Include Method.h. (_Jv_JNI_IsAssignableFrom): Renamed. (_Jv_JNI_GetStringRegion): New function. Include StringIndexOutOfBoundsException.h. (_Jv_JNI_GetStringUTFRegion): New function. (_Jv_JNIFunctions): Updated for new functions. (_Jv_JNI_GetPrimitiveArrayCritical): New function (_Jv_JNI_ReleasePrimitiveArrayCritical): Likewise. (_Jv_JNI_GetStringCritical): New function. (_Jv_JNI_ReleaseStringCritical): Likewise. (get_throwable): Removed. (GCJ_JV_JNIENV_FRIEND): Removed. (__GCJ_JNI_IMPL__): Define. Include method.h. From-SVN: r31638
2000-01-26field.h (struct _Jv_Field): Use "jshort" as type for nameIndex.Tom Tromey1-8/+8
* gcj/field.h (struct _Jv_Field): Use "jshort" as type for nameIndex. Use "jint" as type for boffset. * java/lang/Class.h (struct _Jv_Method): Made accflags a _Jv_ushort. (Class): Likewise. Also changed type of method_count, vtable_method_count, size_in_bytes, field_count, static_field_count, interface_count. * gcj/array.h (__JArray): Made `length' a const jsize, not an int. From-SVN: r31621
2000-01-21natConstructor.cc (newInstance): Use _Jv_CallAnyMethodA.Tom Tromey3-79/+162
* java/lang/reflect/natConstructor.cc (newInstance): Use _Jv_CallAnyMethodA. * include/jvm.h: Declare _Jv_CallAnyMethodA. * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Renamed from _Jv_CallNonvirtualMethodA. Changed interface; overloaded. Include <jni.h>. (COPY): Removed. (invoke): Use _Jv_CallAnyMethodA. (VAL): Redefined. * java/lang/Class.h (Class): Declare JvGetFirstStaticField, JvNumStaticFields, JvNumMethods, and JvGetFirstMethod as friend functions. (struct _Jv_Method): Added getNextMethod method. (JvNumMethods): New function. (JvGetFirstMethod): Likewise. * gcj/field.h (JvGetFirstStaticField): New function. (JvNumStaticFields): Likewise. (getNextField): Renamed from getNextInstanceField. (struct _Jv_Field): New method getClass. * jni.cc: Wrote many new functions. * include/jni.h (JNI_TRUE): Define. (JNI_FALSE): Likewise. (jobject, jclass, jstring, jarray, jthrowable, jobjectArray, jbyteArray, jshortArray, jintArray, jlongArray, jbooleanArray, jcharArray, jfloatArray, jdoubleArray): New typedefs. (jfieldID, jmethodID): Likewise. (JNI_COMMIT, JNI_ABORT): New defines. (JNINativeMethod): New struct. (struct JNINativeInterface): Correctly declared more entries. (class _Jv_JNIEnv): Added `ex' member. (JNI_VERSION_1_1): New define. (JNI_VERSION_1_2): Likewise. * boehm.cc (_Jv_MarkObj): Use getNextField, not getNextInstanceField. From-SVN: r31553
2000-01-19natThrowable.cc: Don't use `#pragma implementation'.Tom Tromey1-2/+0
* java/lang/natThrowable.cc: Don't use `#pragma implementation'. From Bryce McKinlay. From-SVN: r31505
2000-01-19* All files: Updated copyright to reflect Cygnus purchase.Tom Tromey307-309/+309
From-SVN: r31504
2000-01-18natThrowable.cc (fillInStackTrace): Return `this' even when backtrace can't ↵Tom Tromey1-1/+1
be computed. * java/lang/natThrowable.cc (fillInStackTrace): Return `this' even when backtrace can't be computed. From-SVN: r31483
2000-01-17Runtime.java (loadLibraryInternal): Declare.Tom Tromey3-60/+71
* java/lang/Runtime.java (loadLibraryInternal): Declare. * java/lang/natClassLoader.cc (_Jv_FindClass): Removed dead copy. (_Jv_FindClassInCache): Likewise. (_Jv_FindClass): Don't conditionalize body on INTERPRETER. (findSystemClass): Try to load class from compiled module. Include Runtime.h. * java/lang/natRuntime.cc (load): Use UTF-8 copy of filename. (loadLibrary): Likewise. (lt_preloaded_symbols): Define. (loadLibraryInternal): New method. * include/config.h.in: Rebuilt. * acconfig.h (USE_LTDL): Added. * Makefile.am (SUBDIRS): Added $(DIRLTDL). (INCLUDES): Added $(INCLTDL).b (libgcj_la_DEPENDENCIES): Added $(LIBLTDL). (libgcj_la_LIBADD): Likewise. * aclocal.m4, configure: Rebuilt. * configure.in: Added libltdl support. From-SVN: r31472
2000-01-17natThrowable.cc: New file.Andrew Haley2-37/+129
2000-01-14 Andrew Haley <aph@cygnus.com> * java/lang/natThrowable.cc: New file. * java/lang/Throwable.java (fillInStackTrace): Make native. (printStackTrace): Call native method to do this. (Throwable): Call fillInStackTrace. (stackTrace): New variable. * include/jvm.h: Add _Jv_ThisExecutable functions. * prims.cc: (_Jv_execName): New variable. (catch_segv): Call fillInStackTrace. (catch_fpe): Ditto. (_Jv_ThisExecutable): New functions. (JvRunMain): Set the name of this executable. * Makefile.am: Add java/lang/natThrowable.cc. Add name-finder.cc. * Makefile.in: Rebuilt. * acconfig.h: Add HAVE_PROC_SELF_EXE. * configure.in: Force link with __frame_state_for in FORCELIBGCCSPEC. Add new checks for backtrace. * include/config.h.in: Rebuilt. * name-finder.cc: New file. * include/name-finder.h: New file. From-SVN: r31460
2000-01-17StringBuffer.java (StringBuffer): Don't special case null argument.Anthony Green1-7/+4
2000-01-16 Anthony Green <green@cygnus.com> * java/lang/StringBuffer.java (StringBuffer): Don't special case null argument. From-SVN: r31451
2000-01-16StreamTokenizer.java (nextToken): Avoid unread(TT_EOF).Jeff Sturm1-15/+29
2000-01-16 Jeff Sturm <jsturm@sigma6.com> * java/io/StreamTokenizer.java (nextToken): Avoid unread(TT_EOF). From-SVN: r31449
2000-01-13natClassLoader.cc (_Jv_FindClass): Register `loader', not system loader, as ↵Tom Tromey1-8/+6
initiating loader. * java/lang/natClassLoader.cc (_Jv_FindClass): Register `loader', not system loader, as initiating loader. From-SVN: r31395
2000-01-11natSystem.cc (getpwuid_adaptor): New adaptor for HP/UX.Tom Tromey1-1/+12
* java/lang/natSystem.cc (getpwuid_adaptor): New adaptor for HP/UX. From David Scott Urban. From-SVN: r31332
2000-01-10natMath.cc (pow): Cast args to `double', not `jdouble'.Jeff Sturm3-14/+13
2000-01-10 Jeff Sturm <jsturm@sigma6.com> * java/lang/natMath.cc (pow): Cast args to `double', not `jdouble'. (atan2): Likewise. (IEEEremainder): Likewise. * java/lang/mprec.h: Don't wrap includes in `extern "C"'. * java/lang/fdlibm.h: Don't wrap includes in `extern "C"'. From-SVN: r31305
2000-01-09natString.cc (init): Test for overflow condition during out of bounds check.Anthony Green1-16/+23
2000-01-09 Anthony Green <green@cygnus.com> * java/lang/natString.cc (init): Test for overflow condition during out of bounds check. (getChars): Throw StringIndexOutOfBoundsException, not ArrayIndexOutOfBoundsException. (getBytes): Ditto. (regionMatches): Obey case option during string comparison. * configure.host (ligcj_interpreter): New variable. Enable interpreter by default on IA-32. * configure.in: Examine libgcj_interpreter. * configure: Rebuilt. From-SVN: r31300
2000-01-07* java/lang/natClass.cc (getClasses): Wrote.Tom Tromey1-2/+5
From-SVN: r31276
2000-01-06natClass.cc (_getConstructors): Correctly check whether method name is the ↵Tom Tromey1-3/+3
init name. * java/lang/natClass.cc (_getConstructors): Correctly check whether method name is the init name. (getMethod): Look at accflags on method in `klass', not `this'. From-SVN: r31258
2000-01-06natClass.cc (getMethod): Compute offset relative to `klass's methods table, ↵Tom Tromey2-25/+27
not `this's table. * java/lang/natClass.cc (getMethod): Compute offset relative to `klass's methods table, not `this's table. * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In unwrapping/widening case, check whether `k' is null, not whether it is primitive. Initialize `num' from `argelts', not `paramelts'. Correct create and pass arguments to ffi_call. Don't let presence of `this' argument affect index used to look in argument arrays. (COPY): Set appropriate element in `values' vector. From-SVN: r31253
2000-01-05* java/lang/natClass.cc: Include <gcj/method.h>.Tom Tromey1-0/+1
From-SVN: r31249
2000-01-05Class.h (_getMethods): Correctly declare as private, not public.Tom Tromey1-2/+2
* java/lang/Class.h (_getMethods): Correctly declare as private, not public. From-SVN: r31246
2000-01-05Class.h (_getMethods): Declare.Tom Tromey3-8/+131
* java/lang/Class.h (_getMethods): Declare. * java/lang/Class.java (_getMethods): Declare. * java/lang/natClass.cc (getDeclaringClass): Always return NULL. (getDeclaredClasses): Always return empty array. (_getMethods): New method. (getMethods): Wrote. (getDeclaredMethod): Return `rmethod'. (finit_name): New global. (getDeclaredMethods): Check for finit_name. (_getMethods): Likewise. (getMethod): Only return public methods. From-SVN: r31245
2000-01-05natMethod.cc (get_ffi_type): Test size of jboolean and select correct ffi ↵Tom Tromey1-4/+17
type on that basis. * java/lang/reflect/natMethod.cc (get_ffi_type): Test size of jboolean and select correct ffi type on that basis. (_Jv_CallNonvirtualMethodA): Handle `void' return type. Constructor call always has `void' return type. From-SVN: r31242
2000-01-05Class.h (getSignature): Updated.Tom Tromey3-10/+14
* java/lang/Class.h (getSignature): Updated. * java/lang/Class.java (getSignature): Updated. * java/lang/natClass.cc (getSignature): Added `is_constructor' argument. (getConstructor): Ensure constructor is public. (_getConstructors): Check for public-ness of constructor when `declared' is false, not when it is true. From-SVN: r31241
2000-01-04natPlainDatagramSocketImpl.cc (peek): Removed unnecesary comment.Warren Levy1-3/+2
* java/net/natPlainDatagramSocketImpl.cc (peek): Removed unnecesary comment. (receive): Set the sender's address in the DatagramPacket. From-SVN: r31218
2000-01-04[multiple changes]Tom Tromey7-201/+591
2000-01-04 Tom Tromey <tromey@cygnus.com> * java/lang/reflect/natConstructor.cc (newInstance): Pass declaring class as return_type argument to _Jv_CallNonvirtualMethodA. * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In constructor case, create object and use it as `this' argument. * java/lang/Class.h (_getConstructors): Declare. (_getFields): Declare. * java/lang/Class.java (getConstructors): Wrote. (_getConstructors): New native method. (getDeclaredConstructors): Wrote. (_getFields): Declare new native method. * java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Removed incorrect comment. (getMethod): Work correctly when class is primitive. (getDeclaredMethods): Likewise. Compute offset using `method', not `mptr'. (getDeclaredMethod): Likewise. (getConstructor): Wrote. (ConstructorClass): New define. (getDeclaredConstructor): Wrote. (_getConstructors): New method. (_getFields): New method. (getFields): Wrote. * Makefile.in: Rebuilt. * Makefile.am (AM_CXXFLAGS): Added -D_GNU_SOURCE. * prims.cc: Remove `#pragma implementation'. * gcj/array.h: Remove `#pragma interface'. * prims.cc (_Jv_equaln): New function. * java/lang/Class.java (getSignature): Declare. * resolve.cc (_Jv_LookupDeclaredMethod): Moved to natClass.cc. * java/lang/natClass.cc (_Jv_LookupDeclaredMethod): Moved from resolve.cc. (getSignature): New method. (getDeclaredMethod): Wrote. (getMethod): Wrote. Include StringBuffer.h. * java/lang/Class.h (Class): Added _Jv_FromReflectedConstructor as a friend. Unconditionally declare _Jv_LookupDeclaredMethod as a friend. (getSignature): Declare. * include/jvm.h (_Jv_GetTypesFromSignature): Declare. (_Jv_equaln): Declare. (_Jv_CallNonvirtualMethodA): Declare. * Makefile.in: Rebuilt. * Makefile.am (nat_source_files): Added natConstructor.cc. (java/lang/reflect/Constructor.h): New target. * java/lang/reflect/natConstructor.cc: New file. * java/lang/reflect/Constructor.java (newInstance): Now native. (declaringClass): Renamed from decl_class. (offset): Renamed from index. (getType): New native method. (getModifiers): Now native. (getParameterTypes): Call getType if required. (hashCode): Include hash code from declaring class. (modifiers): Removed. (toString): Call getType if required. * gcj/method.h (_Jv_FromReflectedConstructor): New function. * java/lang/reflect/natMethod.cc (hack_call): New method. Removed `#if 0' around FFI code. Include <gnu/gcj/RawData.h>. (invoke): Use _Jv_CallNonvirtualMethodA. Throw IllegalArgumentException when argument object and class disagree. (_Jv_GetTypesFromSignature): New function. (getType): Use it. (ObjectClass): New define. (_Jv_CallNonvirtualMethodA): New function. * java/lang/reflect/Method.java (hack_trampoline): New method. (hack_call): New native method. 1999-12-21 Per Bothner <per@bothner.com> * java/lang/natClass.cc (getDeclaredMethods): Correctly compute offset in new Method. From-SVN: r31199
1999-12-27Commit forgotten Thread.java patch.Bryce McKinlay1-4/+13
From-SVN: r31094
1999-12-24natObject.cc (notify): Throw message with IllegalMonitorStateException.Bryce McKinlay2-9/+16
1999-12-22 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/natObject.cc (notify): Throw message with IllegalMonitorStateException. (notifyAll): Ditto. (wait): Ditto. * java/lang/Thread.java (isInterrupted): Don't clear interrupt_flag. (isInterrupted_): New function, which does clear interrupt_flag. (interrupt): Use `isInterrupted_'. * java/lang/natThread.cc (interrupt): Add comment. (join): Set `Prev' in joiner loop. Change various calls to `isInterrupted' to use `isInterrupted_'. * posix-threads.cc (_Jv_CondWait): Allways use pthread_cond_timedwait on linux. Set result to 0 on an interrupt. Test interrupted status of java Thread object directly. FLAG_INTERRUPTED: removed. (_Jv_ThreadStart): Throw OutOfMemoryError if pthread_create fails. (_Jv_ThreadInterrupt): Don't set FLAG_INTERRUPTED. (_Jv_InitThreads): Don't block SIGINT. (_Jv_ThreadWait): Don't configure SIGINT handler. From-SVN: r31082