aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang
AgeCommit message (Collapse)AuthorFilesLines
2000-07-27mauve-libgcj: Activated serialization tests.Warren Levy4-3/+6
* mauve-libgcj: Activated serialization tests. * gcj/field.h (getModifiers): Mask off unknown flags. * gnu/java/security/provider/SHA.java (munch): Reset buffer to 0 so spurious bits don't cause discrepancies. * java/io/ObjectOutputStream.java: Fixed typo in comment. * java/io/ObjectStreamClass.java: Fixed typos in comments. (lookup): Applied patch from Brian Jones <cbj@gnu.org> to optimize. (hasClassInitializer): Call getDeclaredMethod instead of getMethod. * java/lang/Throwable.java (serialVersionUID): New field. * java/lang/reflect/Modifier.java (ALL_FLAGS): Preserve STRICT if used. * java/lang/reflect/natConstructor.cc (getModifiers): Mask off unknown flags. * java/lang/reflect/natMethod.cc: Ditto. * java/security/Key.java (serialVersionUID): Removed field for now. * java/security/interfaces/DSAPrivateKey.java (serialVersionUID): Ditto. * java/security/interfaces/DSAPublicKey.java (serialVersionUID): Ditto. Serialization mods. From-SVN: r35302
2000-07-20natClassLoader.cc (_Jv_PrepareCompiledClass): Only initialize String fields ↵Tom Tromey1-17/+25
for interpreted classes. * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Only initialize String fields for interpreted classes. Fixes bug reported by Hans Boehm. From-SVN: r35150
2000-07-19natThrowable.cc (fillInStackTrace): Check for zero return from backtrace().Jeff Sturm1-3/+6
2000-07-19 Jeff Sturm <jeff.sturm@appnet.com> * java/lang/natThrowable.cc (fillInStackTrace): Check for zero return from backtrace(). From-SVN: r35135
2000-07-07natClassLoader.cc (_Jv_PrepareCompiledClass): Initialize static final String ↵Tom Tromey1-1/+18
fields. * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Initialize static final String fields. From-SVN: r34910
2000-06-28ThreadGroup.java: Added synchronized flag to many methods.Bryce McKinlay1-36/+44
* ThreadGroup.java: Added synchronized flag to many methods. (destroyed_flag): Removed. (isDestroyed, removeGroup, removeThread): Test for parent == null. (activeCount): Added spec note. From-SVN: r34750
2000-06-27* java/lang/Double.java (valueOf): Call parseDouble().Tom Tromey1-1/+1
From-SVN: r34737
2000-06-27PropertyChangeEvent.java (oldVal): Renamed to oldValue.Warren Levy2-2/+6
* java/beans/PropertyChangeEvent.java (oldVal): Renamed to oldValue. (newVal): Renamed to newValue. * java/beans/PropertyVetoException.java (changeEvent): Renamed to evt. * java/beans/beancontext/BeanContextServiceRevokedEvent.java (revokeNow): Renamed to invalidateRefs. * java/io/OptionalDataException.java: Updated FIXME. (eof): New placeholder field. (length); Ditto. * java/io/WriteAbortedException.java (message): Made transient. * java/lang/ClassNotFoundException.java: Updated comments for JDK 1.2. * java/lang/Throwable.java (stackTrace): Made transient. * java/net/InetAddress.java: Made Serializable. * java/security/KeyPair.java: Made Serializable. * java/security/Provider.java: Replaced with Classpath version that implements serialization and proper methods. * java/text/ChoiceFormat.java (strings): Renamed to choiceFormats. (limits): Renamed to choiceLimits. Serialization changes per: http://java.sun.com/products/jdk/1.2/docs/api/serialized-form.html From-SVN: r34726
2000-06-24natDouble.cc (parseDouble): Renamed from doubleValueOf.Tom Tromey2-4/+4
* java/lang/natDouble.cc (parseDouble): Renamed from doubleValueOf. * java/lang/Double.java (parseDouble): Renamed from doubleValueOf. Now public. From-SVN: r34679
2000-06-23ieeefp.h: Handle ia64, fr30, mcore.Andrew Haley2-2/+21
* java/lang/ieeefp.h: Handle ia64, fr30, mcore. * java/lang/natThrowable.cc: On IA-64, use __ia64_backtrace. From-SVN: r34667
2000-06-23natMethod.cc: Include <alloca.h>.Tom Tromey2-15/+4
* java/lang/reflect/natMethod.cc: Include <alloca.h>. * java/lang/natDouble.cc: Always include <alloca.h>. Fix for PR libgcj/267. From-SVN: r34665
2000-06-21ThreadGroup.java (add(Thread)): Rename to addThread() to comply with ↵Bryce McKinlay3-17/+33
classpath VM spec. 2000-06-21 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/ThreadGroup.java (add(Thread)): Rename to addThread() to comply with classpath VM spec. (add(Group)): Rename to addGroup(). * java/lang/Thread.java (Thread): Use addThread(). * java/lang/natThread.cc (finish_): Use removeThread(). From-SVN: r34627
2000-06-20ThreadGroup.java: Merged with classpath.Bryce McKinlay2-278/+441
2000-06-20 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/ThreadGroup.java: Merged with classpath. * prims.cc (_Jv_RunMain): Don't use ain_group'. * gnu/gcj/runtime/FirstThread.java: Remove ThreadGroup constructor argument. * java/lang/Thread.java (Thread): Bootstrap initial thread from ThreadGroup.root if Thread.currentThread is null. Honour the ThreadGroup's max priority setting. From-SVN: r34615
2000-06-18re GNATS gcj/260 ("Klass.class" expression should cause Klass to be initialized)Tom Tromey1-9/+4
* java/lang/natClass.cc (forName): Removed dead code. Initialize returned class. For PR gcj/260. From-SVN: r34590
2000-06-152000-06-15 Bryce McKinlay <bryce@albatross.co.nz>Bryce McKinlay1-0/+1
Fix for PR java.lang/258: * prims.cc (_Jv_PrimClass): Set state of primitive class to JV_STATE_DONE, to prevent accidental initialization. * java/lang/natClass.cc (_Jv_IsAssignableFrom): Call _Jv_InterfaceAssignableFrom if target is an interface and source is an interface or an abstract class. Remove redundant initializeClass calls. Remove duplicate if_idt test. (_Jv_InterfaceAssignableFrom): New function. * java/lang/Class.h (_Jv_InterfaceAssignableFrom): Prototype. From-SVN: r34563
2000-06-152000-06-15 Bryce McKinlay <bryce@albatross.co.nz>Bryce McKinlay1-15/+29
Fix for PR java.lang/258: * prims.cc (_Jv_PrimClass): Set state of primitive class to JV_STATE_DONE, to prevent accidental initialization. * java/lang/natClass.cc (_Jv_IsAssignableFrom): Call _Jv_InterfaceAssignableFrom if target is an interface and source is an interface or an abstract class. Remove redundant initializeClass calls. Remove duplicate if_idt test. * java/lang/Class.h (_Jv_InterfaceAssignableFrom): New function. From-SVN: r34562
2000-05-31prims.cc (DECLARE_PRIM_TYPE): Define a vtable as well.Tom Tromey2-5/+10
* prims.cc (DECLARE_PRIM_TYPE): Define a vtable as well. (_Jv_PrimClass): Set `methods' by calling _Jv_FindArrayClass. * include/jvm.h (struct _Jv_ArrayVTable): Declare. (NUM_OBJECT_METHODS): New define. * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added `array_vtable' parameter. Added assertion. * java/lang/Class.h (_Jv_FindArrayClass): Added `array_vtable' parameter. From-SVN: r34312
2000-05-30name-finder.h: Include <sys/wait.h>.Tom Tromey1-0/+7
* include/name-finder.h: Include <sys/wait.h>. (_Jv_name_finder::pid): Now of type `pid_t'. (_Jv_name_finder::~_Jv_name_finder): Call waitpid(). * java/lang/Throwable.java (CPlusPlusDemangler.close): Call `proc.waitFor()'. From-SVN: r34279
2000-05-21re GNATS libgcj/226 (implicit __builtin_expect) and GNATS gcj/228 ↵Bryce McKinlay1-2/+3
(compressed JAR files) 2000-05-20 Bryce McKinlay <bryce@albatross.co.nz> Fix for PR libgcj/226: * java/lang/Class.h (_Jv_InitClass): Don't call __builtin_expect, since this is an installed header. Fix for PR libgcj/228: * java/util/zip/ZipFile (getInputStream): Create inflater with nowrapper option. * java/util/zip/natInflater.cc (inflate): Throw zlib's error message with DataFormatException. From-SVN: r34064
2000-05-19Jumbo patch:Tom Tromey8-61/+167
* Imported beans and serialization * Updated IA-64 port * Miscellaneous bug fixes From-SVN: r34028
2000-05-18Thread.java: Declare `data' as Object, not RawData.Bryce McKinlay2-5/+2
2000-05-18 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/Thread.java: Declare `data' as Object, not RawData. * java/lang/natThread.java (initialize_native): Cast `data' to jobject. * gnu/gcj/RawData.java: Clarify documentation. From-SVN: r33981
2000-05-10StringBuffer.java (replace): Calculate length for arraycopy() correctly.Bryce McKinlay1-1/+1
2000-05-10 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/StringBuffer.java (replace): Calculate length for arraycopy() correctly. From-SVN: r33822
2000-05-10StringBuffer.java (delete): Call arrayCopy() correctly.Bryce McKinlay1-9/+26
2000-05-10 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/StringBuffer.java (delete): Call arrayCopy() correctly. Avoid arrayCopy() call where possible. Update `count' _after_ calling arrayCopy(). (replace): Reimplemented. Fix javadoc. (reverse): Call ensureCapacity_unsynchronized(). (StringBuffer (String)): Use DEFAULT_CAPACITY. From-SVN: r33819
2000-05-09StringBuffer.java (toString): Don't mark buffer as shared.Tom Tromey2-227/+605
* java/lang/StringBuffer.java (toString): Don't mark buffer as shared. (insert(int,char[],int,int): New method. (delete): New method from Classpath. (deleteCharAt): Likewise. (substring): Likewise. (shared): No longer private. Added JavaDoc comments from Classpath. * java/lang/String.java (String(StringBuffer)): Ensure `buffer' is shared. From-SVN: r33809
2000-05-05natClass.cc (isInstance): Use __builtin_expect.Bryce McKinlay3-15/+19
2000-05-05 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/natClass.cc (isInstance): Use __builtin_expect. (_Jv_IsAssignableFrom): Ditto. (_Jv_IsInstanceOf): Ditto. (_Jv_CheckCast): Ditto. (_Jv_CheckArrayStore): Ditto. * java/lang/Class.h (_Jv_InitClass): Ditto. * java/lang/natObject.cc (_Jv_MonitorEnter): __builtin_expect `false', not `0'. (notify): Ditto. (notifyAll): Ditto. (wait): Ditto. (_Jv_MonitorExit): Ditto. * boehm.cc (_Jv_MarkObj): Ditto. (_Jv_MarkObj): Ditto. (_Jv_MarkArray): Ditto. * prims.cc (_Jv_AllocObject): Ditto. (_Jv_NewObjectArray): Ditto. (_Jv_NewPrimArray): Ditto. (_Jv_Malloc): Ditto. (_Jv_Realloc): Ditto. (_Jv_MallocUnchecked): Ditto. (_Jv_divI): Ditto. (_Jv_remI): Ditto. (_Jv_divJ): Ditto. (_Jv_remJ): Ditto. From-SVN: r33698
2000-05-04Locale.java (Locale): Don't explicitly check for null.Tom Tromey1-3/+1
* java/util/Locale.java (Locale): Don't explicitly check for null. * java/util/Hashtable.java (containsKey): Don't explicitly check for null. (get): Likewise. * java/util/BitSet.java (and, or, xor): Don't explicitly check for null. * java/util/zip/ZipEntry.java (ZipEntry): Don't explicitly check for null. * java/text/StringCharacterIterator.java (StringCharacterIterator): Don't check for null. * java/text/ChoiceFormat.java (setChoices): Don't explicitly check for null pointer. * java/net/MulticastSocket.java (joinGroup): Don't explicitly check for null pointer. (leaveGroup): Likewise. * java/net/DatagramPacket.java (DatagramPacket): Removed erroneous comment. (setData): Likewise. * java/lang/ThreadGroup.java (ThreadGroup): Don't explicitly check for `p==null'. From-SVN: r33671
2000-04-28String.java (toString): Remove `final' hack.Bryce McKinlay1-3/+0
2000-04-28 Bryce McKinlay <bryce@albatross.co.nz> * libjava/java/lang/String.java (toString): Remove `final' hack. From-SVN: r33508
2000-04-22+ 2000-04-22 Anthony Green <green@cygnus.com> + + * include/jvm.h ↵Anthony Green1-9/+9
(__builtin_expect): Define as unused for now. + 2000-04-22 Anthony Green <green@cygnus.com> + + * include/jvm.h (__builtin_expect): Define as unused for now. + * java/lang/natObject.cc (_Jv_MonitorEnter): Add __builtin_expect. + (notify): Ditto. + (notifyAll): Ditto. + (wait): Ditto. + (_Jv_MonitorExit): Ditto. + * boehm.cc (_Jv_MarkObj): Ditto. + (_Jv_MarkObj): Ditto. + (_Jv_MarkArray): Ditto. + (_Jv_AllocBytes): Ditto. + * prims.cc (_Jv_AllocObject): Ditto. + (_Jv_NewObjectArray): Ditto. + (_Jv_NewPrimArray): Ditto. + (_Jv_Malloc): Ditto. + (_Jv_Realloc): Ditto. + (_Jv_MallocUnchecked): Ditto. + (_Jv_divI): Ditto. + (_Jv_remI): Ditto. + (_Jv_divJ): Ditto. + (_Jv_remJ): Ditto. + + * include/Makefile.in: Rebuilt. + * include/Makefile.am (include_HEADERS): Add jvmpi.h. + From-SVN: r33339
2000-04-21re GNATS libgcj/15 (_REENTRANT should be defined more consistently)Tom Tromey1-7/+0
Fix for PR libgcj/15: * java/util/natGregorianCalendar.cc (_REENTRANT, _POSIX_PTHREAD_SEMANTICS): Don't define. * java/net/natInetAddress.cc (_REENTRANT): Don't define. * java/lang/natSystem.cc (_REENTRANT, _POSIX_PTHREAD_SEMANTICS): Don't define. * java/io/natFile.cc (_REENTRANT, _POSIX_PTHREAD_SEMANTICS): Don't define. * configure: Rebuilt. * configure.in: If using POSIX threads, define _REENTRANT if needed. Define _POSIX_PTHREAD_SEMANTICS. Don't define GETHOSTBYNAME_R_NEEDS_REENTRANT. From-SVN: r33318
2000-04-20re GNATS libgcj/212 (build is broken on Linux/Alpha)Tom Tromey1-0/+1
Fix for PR libgcj/212: * gcj/javaprims.h (_Jv_word, _Jv_word2): Removed definitions. * include/jvm.h (_Jv_word, _Jv_word2): Define. * java/lang/Class.h (_Jv_word): Declare. From-SVN: r33292
2000-04-12natString.cc (intern): Temporarily disable finalizer registration.Tom Tromey1-1/+1
* java/lang/natString.cc (intern): Temporarily disable finalizer registration. From-SVN: r33127
2000-04-12natString.cc (unintern): Added `obj' argument.Tom Tromey2-5/+8
* java/lang/natString.cc (unintern): Added `obj' argument. (intern): Register finalizer for string. * java/lang/String.java (unintern): Now static; added obj argument. From-SVN: r33124
2000-04-09StringBuffer.java (ensureCapacity): Don't call Math::max.Anthony Green1-9/+29
2000-04-08 Anthony Green <green@cygnus.com> * java/lang/StringBuffer.java (ensureCapacity): Don't call Math::max. (ensureCapacity_unsynchronized): New private method. (append): Use ensureCapacity_unsynchronized. From-SVN: r33036
2000-04-09natObject.cc (_Jv_MonitorEnter): Only perform null check when we have to.Anthony Green1-0/+3
2000-04-08 Anthony Green <green@redhat.com> * java/lang/natObject.cc (_Jv_MonitorEnter): Only perform null check when we have to. * gcj/array.h: Mark elements(JArray<T>& x) and elements(JArray<T>* x) as `inline'. * java/util/StringTokenizer.java: Minor optimization. Eliminates one method call. * java/util/Vector.java (VectorEnumeration.nextElement): Manually inline hasMoreElements. From-SVN: r33033
2000-04-02JVMPI changes...Anthony Green1-0/+73
Sun Apr 2 08:27:18 2000 Anthony Green <green@redhat.com> * configure: Rebuilt. * configure.in: Add --disable-jvmpi. * include/config.h.in: Rebuilt. * acconfig.h: Add ENABLE_JVMPI. * include/jvm.h: Declare _Jv_DisableGC and _Jv_EnableGC. (_Jv_JVMPI_Notify_OBJECT_ALLOC): New define. (_Jv_JVMPI_Notify_THREAD_END): New define. (_Jv_JVMPI_Notify_THREAD_END): New define. * prims.cc (_Jv_JVMPI_Notify_OBJECT_ALLOC): Declare. (_Jv_JVMPI_Notify_THREAD_END): Declare. (_Jv_JVMPI_Notify_THREAD_END): Declare. * prims.cc (_Jv_AllocObject): Generate JVMPI object allocation events. * java/lang/natThread.cc: Include JVMPI headers if necessary. (finish_): Generate JVMPI thread end events. (run_): Generate JVMPI thread start events. * gnu/gcj/runtime/natFirstThread.cc (run): Call JNI_OnLoad for any preloaded JNI library. Include JVMPI headers if necessary. (run): Generate JVMPI thread start events. * boehm.cc: Define GC_disable and GC_enable. (_Jv_DisableGC): New function. (_Jv_EnableGC): New function. (disable_gc_mutex): Declare. * nogc.cc (_Jv_DisableGC): New function. (_Jv_EnableGC): New function. * jni.cc (_Jv_JNI_GetEnv): Handle JVMPI interface requests. (_Jv_JVMPI_Interface): Define. (jvmpiEnableEvent): New function. (_Jv_JNI_Init): Initialize _Jv_JVMPI_Interface. * include/jvmpi.h: New file. From-SVN: r32866
2000-03-28Makefile.in: New #defines and friends for Thread.h.Bryce McKinlay3-144/+58
* Makefile.in: New #defines and friends for Thread.h. * posix-threads.cc: (struct starter): Remove `object'. (_Jv_CondWait): Use interruptable condition variables and new recursive mutexes. New return codes on interrupt or non-ownership of mutex. (_Jv_CondNotify): Ditto. (_Jv_CondNotifyAll): Ditto. (_Jv_ThreadInterrupt): Set thread interrupt flag directly. Interrupt the target thread by signaling its wait condition. (_Jv_ThreadInitData): Set `thread_obj' in the thread data struct, not the starter struct. Initialize wait_mutex and wait_cond. (_Jv_MutexLock): New recursive mutex implementation. Moved from posix-threads.h. (_Jv_MutexUnlock): Ditto. (really_start): Set info->data->thread from pthread_self() to work around a race condition. Destroy wait_mutex and wait_cond when run() returns. * java/lang/Thread.java: (isInterrupted_): Renamed to overloaded `isInterrupted(boolean)'. Clear interrupted flag if clear_flag is set. startable_flag: New private field. (Thread): Initialize `startable_flag'. (toString): Check for null thread group. * java/lang/natThread.cc: (struct natThread): New fields `join_mutex', `join_cond'. Removed fields `joiner', `next'. (class locker): Removed. (initialize_native): Initialize `join_cond' and `join_mutex'. (interrupt): Now just calls _Jv_ThreadInterrupt(). (join): Simplified. Just wait on the target thread's join condition. (finish_): Remove join list code. Unset thread group. Signal potential joiners by notifying the dying threads join_cond. (start): Check for illegal restarts. * java/lang/natObject.cc: Check for return value of _Jv_CondWait and act appropriatly. * include/posix-threads.h: Remove all HAVE_RECURSIVE_MUTEX related #defines and #ifdefs. (struct _Jv_Thread_t): New fields `thread_obj', `wait_cond', `wait_mutex', `next'. (struct _Jv_ConditionVariable_t): Define as a struct instead of directly mapping to pthread_cond_t. (struct _Jv_Mutex_t): New recursive implementation. (_Jv_PthreadCheckMonitor): Reimplemented. Simple `owner' check. _Jv_HaveCondDestroy: Never define this for posix-threads. (_Jv_CondNotify): Remove inline implementation(s), prototype instead. (_Jv_CondNotifyAll): Ditto. (_Jv_MutexLock): Ditto. (_Jv_MutexUnlock): Ditto. (_Jv_MutexInit): Changed to reflect new mutex implementation. (_Jv_MutexDestroy): Ditto. (_Jv_CondDestroy): Removed. (_Jv_PthreadGetMutex): Removed. * include/win32-threads.h: (_Jv_CondNotify): Guess _JV_NOT_OWNER on an error. Add a FIXME about this. (_Jv_CondNotifyAll): Ditto. * win32-threads.cc: (_Jv_CondWait): Return 0 on a timeout. Guess _JV_NOT_OWNER on other errors. Add FIXME. From-SVN: r32773
2000-03-26[multiple changes]Tom Tromey1-0/+2
2000-03-26 Tom Tromey <tromey@cygnus.com> * java/lang/mprec.h: Use SIZEOF_VOID_P. * interpret.cc: Use SIZEOF_VOID_P. * include/java-cpool.h (_Jv_storeLong): Use SIZEOF_VOID_P. (_Jv_loadLong): Likewise. (_Jv_storeDouble): Likewise. * configure: Rebuilt. * configure.in: Check size of void*. * resolve.cc (ncode): Use FFI_PREP_RAW_CLOSURE and FFI_RAW_SIZE. 2000-03-26 Hans Boehm <boehm@acm.org> * include/java-cpool.h (_Jv_storeLong, _Jv_loadLong, _Jv_storeDouble, _Jv_loadDouble): Define differently on 64 bit machine. * java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN or __IEEE_LITTLE_ENDIAN appropriately on IA64. * java/lang/mprec.h: Don't define Pack_32 on 64 bit machine. * javaprims.h (_Jv_word): Added `l' and `d' entries in 64 bit case. * resolve.cc (FFI_PREP_RAW_CLOSURE): New define. (FFI_RAW_SIZE): Likewise. (_Jv_InterpMethod::ncode): Use them. * interpret.cc (PUSHL, PUSHD, POPL, POPD, LOADL, LOADD, STOREL, STORED): Define differently on a 64 bit machine. (continue1): Use ffi_java_raw_call when appropriate. From-SVN: r32754
2000-03-21* java/lang/natClass.cc (isInstance): Use JV_CLASS, not getClass().Bryce McKinlay1-1/+1
From-SVN: r32665
2000-03-21natClass.cc (isInstance): Use _Jv_IsAssignableFrom(), not ↵Bryce McKinlay1-1/+1
Class.isAssignableFrom(). * java/lang/natClass.cc (isInstance): Use _Jv_IsAssignableFrom(), not Class.isAssignableFrom(). From-SVN: r32664
2000-03-21natClass.cc (isInstance): Initialize `this'.Bryce McKinlay1-1/+6
2000-03-21 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/natClass.cc (isInstance): Initialize `this'. (isAssignableFrom): Initialize `this' and `klass'. (_Jv_IsAssignableFrom): If an interface has no idt, it is not implemented by any loaded class, so return false. From-SVN: r32663
2000-03-09natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables.Bryce McKinlay2-2/+4
2000-03-09 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables. * java/lang/natClass.cc (_Jv_PrepareConstantTimeTables): Array classes should have an IDT, so don't return if klass is an array class. From-SVN: r32445
2000-03-09natArray.cc (newInstance): Don't allow array of `void' to be created.Tom Tromey1-2/+9
* java/lang/reflect/natArray.cc (newInstance): Don't allow array of `void' to be created. From-SVN: r32443
2000-03-07All files: Updated copyright information.Tom Tromey99-101/+101
* All files: Updated copyright information. * COPYING: New file. * COPYING.LIB: Removed. * LIBGCJ_LICENSE: We now use GPL + special exception. From-SVN: r32387
2000-03-07resolve.cc (_Jv_SearchMethodInClass): New function.Bryce McKinlay3-83/+518
2000-03-07 Bryce McKinlay <bryce@albatross.co.nz> * resolve.cc (_Jv_SearchMethodInClass): New function. (_Jv_ResolvePoolEntry): Search superinterfaces for interface methods. * java/lang/Class.h (_Jv_SearchMethodInClass): New prototype. 2000-03-07 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/Class.h (union _Jv_IDispatchTable): New declaration. (struct _Jv_ifaces): New declaration. JV_CLASS: New macro definition. (getComponentType): Relocate below isArray() for inlining. (getModifiers): Declare `inline'. (getSuperclass): Ditto. (isArray): Ditto. (isPrimitive): Ditto. (_Jv_IsAssignableFrom): New prototype. (_Jv_LookupInterfaceMethodIdx): New prototype. Predeclare with "C" linkage. (_Jv_InitClass): Move from natClass.cc. Declare `inline'. Check for JV_STATE_DONE before invoking initializeClass(). (_Jv_PrepareConstantTimeTables): New prototype. (_Jv_GetInterfaces): Ditto. (_Jv_GenerateITable): Ditto. (_Jv_GetMethodString): Ditto. (_Jv_AppendPartialITable): Ditto. (_Jv_FindIIndex): Ditto. depth, ancestors, idt: New class fields. * java/lang/natClass.cc (isAssignableFrom): Move functionality to inline function `_Jv_IsAssignableFrom'. Use that function. (isInstance): Declare `inline'. (initializeClass): Get lock on class before checking `state'. Unlock before calling resolveClass0. Call _Jv_PrepareConstantTimeTables with the lock held. (_Jv_LookupInterfaceMethod): Use _Jv_GetMessageString. (_Jv_IsAssignableFrom): New inline function. Test assignability using class->depth and ancestor table. (_Jv_IsInstanceOf): Use _Jv_IsAssignableFrom. (_Jv_CheckCast): Move from prims.cc. Use JV_CLASS and _Jv_IsAssignableFrom. (_Jv_CheckArrayStore): Ditto. (_Jv_LookupInterfaceMethodIdx): New function. INITIAL_IOFFSETS_LEN, INITIAL_IFACES_LEN: New #defines. (_Jv_PrepareConstantTimeTables): New function. (_Jv_IndexOf): Ditto. (_Jv_GetInterfaces): Ditto. (_Jv_GenerateITable): Ditto. (_Jv_GetMethodString): Ditto. (_Jv_AppendPartialITable): Ditto. iindex_mutex, iindex_mutex_initialized: New static fields. (_Jv_FindIIndex): New function. * java/lang/natClassLoader.cc (_Jv_NewClass): Set new jclass fields. * prims.cc (_Jv_CheckCast): Moved to natClass.cc. (_Jv_CheckArrayStore): Ditto. (JvNewCharArray, JvNewBooleanArray, JvNewByteArray, JvNewShortArray, JvNewIntArray, JvNewLongArray, JvNewFloatArray, JvNewDoubleArray): Moved to gcj/array.h. (_Jv_Realloc): New function. * gcj/cni.h: Move _Jv_PrimClass definitions to gcj/array.h. * gcj/array.h: _Jv_PrimClass definitions moved from gcj/cni.h. (JvNewCharArray, JvNewBooleanArray, JvNewByteArray, JvNewShortArray, JvNewIntArray, JvNewLongArray, JvNewFloatArray, JvNewDoubleArray): Implementations moved from prims.cc and declared `inline'. * gcj/javaprims.h (_Jv_Realloc): Prototype. * include/jvm.h (_Jv_LookupInterfaceMethodIdx): Prototype. From-SVN: r32382
2000-03-05configure.host: Fix __NO_MATH_INLNES botch.Anthony Green2-103/+0
* configure.host: Fix __NO_MATH_INLNES botch. * Makefile.in: Rebuilt. * Makefile.am (nat_source_files): Move natFirstThread.cc. (gnu/gcj/runtime/FirstThread.h): Moved. (ordinary_java_source_files): Move FirstThread.java. * prims.cc: Deal with FirstThread movement. (JvRunMain): Ditto. (_Jv_RunMain): Ditto. * gnu/gcj/runtime/FirstThread.java: Moved from java/lang. * gnu/gcj/runtime/natFirstThread.cc: Ditto. From-SVN: r32348
2000-03-02java-interp.h: Don't include MethodInvocation.h.Tom Tromey12-198/+89
* include/java-interp.h: Don't include MethodInvocation.h. (class _Jv_InterpMethod): Don't make MethodInvocation a friend. * Makefile.in: Rebuilt. * Makefile.am (gnu/gcj/runtime/MethodInvocation.h): Removed. (ordinary_java_source_files): Don't mention MethodInvocation.java. * gnu/gcj/runtime/MethodInvocation.java: Removed. * interpret.cc (MethodInvocation::continue1): Removed. (run): Handle exceptions here. * java/lang/ClassLoader.java (defineClass1, defineClass2): Removed. * java/lang/natClassLoader.cc (defineClass0): Catch exceptions here. (defineClass2): Removed. * java/lang/reflect/Method.java (hack_trampoline, hack_call): Removed. * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Catch exceptions here. (hack_call): Removed. * java/lang/Class.h (Class): Removed hackRunInitializers, hackTrampoline. * java/lang/natClass.cc (hackRunInitializers): Removed. (initializeClass): Catch exceptions here. Include ExceptionInInitializerError.h. * java/lang/Class.java (hackTrampoline, hackRunInitializers): Removed. * java/lang/Object.h (Object): Don't mention hack12_6. * java/lang/natObject.cc (_Jv_FinalizeObject): Catch exceptions here. * java/lang/Object.java (hack12_6): Removed. * java/lang/natThread.cc (run_): Renamed. Catch exceptions here. (start): Use run_, not run__. * java/lang/Thread.java (run_): Renamed from run__; old run_ removed. * jni.cc (_Jv_JNI_FindClass): Handle exceptions. (_Jv_JNI_EnsureLocalCapacity): Likewise. (_Jv_JNI_DefineClass): Likewise. (_Jv_JNI_ThrowNew): Likewise. (_Jv_JNI_AllocObject): Likewise. (_Jv_JNI_GetAnyMethodID): Likewise. (_Jv_JNI_CallAnyMethodV): Likewise. (_Jv_JNI_CallAnyMethodA): Likewise. (_Jv_JNI_CallAnyVoidMethodV): Likewise. (_Jv_JNI_CallAnyVoidMethodA): Likewise. (_Jv_JNI_GetAnyFieldID): Likewise. (_Jv_JNI_NewString): Likewise. (_Jv_JNI_NewStringUTF): Likewise. (_Jv_JNI_GetStringUTFChars): Likewise. (_Jv_JNI_NewObjectArray): Likewise. (_Jv_JNI_NewPrimitiveArray): Likewise. (_Jv_JNI_GetPrimitiveArrayRegion): Likewise. (_Jv_JNI_GetStringRegion): Likewise. (_Jv_JNI_GetStringUTFRegion): Likewise. (_Jv_JNI_SetPrimitiveArrayRegion): Likewise. (_Jv_JNI_MonitorEnter): Likewise. (_Jv_JNI_MonitorExit): Likewise. (_Jv_JNI_ToReflectedField): Likewise. (_Jv_JNI_ToReflectedMethod): Likewise. (_Jv_JNI_RegisterNatives): Likewise. (_Jv_JNI_AttachCurrentThread): Likewise. (_Jv_JNI_DestroyJavaVM): Likewise. From-SVN: r32294
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