04942eac9b 
								
							 
						 
						
							
							
								
								For PR libgcj/5103:  
							
							... 
							
							
							
							* include/jvm.h (__GCJ_JNI_IMPL__): Define.
	* include/config.h.in: Rebuilt.
	* configure: Rebuilt.
	* configure.in: Define JV_HAVE_INTTYPES_H if inttypes.h found.
	Added comment for HAVE_DLOPEN to avoid autoheader error.
	* gcj/libgcj-config.h.in (JV_HAVE_INTTYPES_H): Added.
	* include/jni.h: Include <gcj/libgcj-config.h>.  Don't include
	CNI-specific headers if we are compiling ordinary JNI code with a
	C++ compiler.  Include <inttypes.h> and JNIWeakRef.h when
	appropriate.
	* jni.cc: Don't include JNIWeakRef.h.
From-SVN: r48082 
							
						 
						
							2001-12-16 22:33:02 +00:00  
				
					
						
							
							
								 
						
							
								415791dba8 
								
							 
						 
						
							
							
								
								* jni.cc (call): Synchronize if required.  
							
							... 
							
							
							
							From-SVN: r47949 
							
						 
						
							2001-12-12 20:58:41 +00:00  
				
					
						
							
							
								 
						
							
								aee4201707 
								
							 
						 
						
							
							
								
								Obvious jni weak reference fix  
							
							... 
							
							
							
							From-SVN: r47128 
							
						 
						
							2001-11-17 21:32:22 +00:00  
				
					
						
							
							
								 
						
							
								819138ac7b 
								
							 
						 
						
							
							
								
								Makefile.in: Rebuilt.  
							
							... 
							
							
							
							* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added JNIWeakRef.java.
	* jni.cc: Include JNIWeakRef.h.
	(unwrap): New function.
	(_Jv_JNI_DefineClass): Use it.
	(_Jv_JNI_GetSuperclass): Likewise.
	(_Jv_JNI_IsAssignableFrom): Likewise.
	(_Jv_JNI_Throw): Likewise.
	(_Jv_JNI_ThrowNew): Likewise.
	(_Jv_JNI_IsSameObject): Likewise.
	(_Jv_JNI_AllocObject): Likewise.
	(_Jv_JNI_GetObjectClass): Likewise.
	(_Jv_JNI_IsInstanceOf): Likewise.
	(_Jv_JNI_GetAnyMethodID): Likewise.
	(array_from_valist): Likewise.
	(_Jv_JNI_CallAnyMethodV): Likewise.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
	(_Jv_JNI_CallAnyVoidMethodA): Likewise.
	(_Jv_JNI_CallStaticMethodV): Likewise.
	(_Jv_JNI_CallStaticMethod): Likewise.
	(_Jv_JNI_CallStaticMethodA): Likewise.
	(_Jv_JNI_NewObjectV): Likewise.
	(_Jv_JNI_NewObject): Likewise.
	(_Jv_JNI_NewObjectA): Likewise.
	(_Jv_JNI_GetField): Likewise.
	(_Jv_JNI_SetField): Likewise.
	(_Jv_JNI_GetAnyFieldID): Likewise.
	(_Jv_JNI_SetStaticField): Likewise.
	(_Jv_JNI_GetStringLength): Likewise.
	(_Jv_JNI_GetStringChars): Likewise.
	(_Jv_JNI_ReleaseStringChars): Likewise.
	(_Jv_JNI_GetStringUTFLength): Likewise
	(_Jv_JNI_GetStringUTFChars): Likewise.
	(_Jv_JNI_GetStringRegion): Likewise.
	(_Jv_JNI_GetStringUTFRegion): Likewise.
	(_Jv_JNI_GetStringCritical): Likewise.
	(_Jv_JNI_GetArrayLength): Likewise.
	(_Jv_JNI_NewObjectArray): Likewise.
	(_Jv_JNI_GetObjectArrayElement): Likewise.
	(_Jv_JNI_SetObjectArrayElement): Likewise.
	(_Jv_JNI_GetPrimitiveArrayElements): Likewise.
	(_Jv_JNI_ReleasePrimitiveArrayElements): Likewise.
	(_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
	(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
	(_Jv_JNI_MonitorEnter): Likewise.
	(_Jv_JNI_MonitorExit): Likewise.
	(_Jv_JNI_ToReflectedField): Likewise.
	(_Jv_JNI_FromReflectedField): Likewise.
	(_Jv_JNI_ToReflectedMethod): Likewise.
	(_Jv_JNI_FromReflectedMethod): Likewise.
	(_Jv_JNI_NewGlobalRef): Likewise.
	(_Jv_JNI_DeleteGlobalRef): Likewise.
	(_Jv_JNI_DeleteLocalRef): Likewise.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_NewWeakGlobalRef): New function.
	(_Jv_JNI_DeleteWeakGlobalRef): Likewise.
	(_Jv_JNIFunctions): Updated for new methods.
	(NOT_IMPL): Removed.
	* gnu/gcj/runtime/JNIWeakRef.java: New file.
From-SVN: r46990 
							
						 
						
							2001-11-13 17:43:41 +00:00  
				
					
						
							
							
								 
						
							
								415c055a2a 
								
							 
						 
						
							
							
								
								jni.cc (JNI_CreateJavaVM): Call _Jv_CreateJavaVM.  
							
							... 
							
							
							
							* jni.cc (JNI_CreateJavaVM): Call _Jv_CreateJavaVM. Don't call
        _Jv_JNI_Init.
From-SVN: r46633 
							
						 
						
							2001-10-30 10:14:48 +00:00  
				
					
						
							
							
								 
						
							
								107abb2f61 
								
							 
						 
						
							
							
								
								Eliminate use of C++ static constructors.  
							
							... 
							
							
							
							* interpret.cc: Remove static Utf8Consts. Use namespace gcj.
	* jni.cc: Likewise.
	* resolve.cc: Likewise.
	* defineclass.cc: Likewise.
	(_Jv_ClassReader::handleClassBegin): Synchronize call to
	_Jv_RegisterClass.
	* include/jvm.h (void_signature, clinit_name, init_name, finit_name):
	Declare in namespace gcj.
	* java/lang/Class.h (Class): Remove initialization for primitive
	types.
	(friend void _Jv_InitPrimClass): This is in prims.cc.
	* prims.cc (_Jv_InitPrimClass): Do primitive type initialization
	here instead.
	(void_signature, clinit_name, init_name, finit_name): Define in
	namespace gcj.
	(_Jv_CreateJavaVM): Call _Jv_InitThreads, _Jv_InitGC, and
	_Jv_InitializeSyncMutex from here. Initialize Utf8 constants.
	Initialize primitive types.
	* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Don't call
	initialization routines. Don't synchronize.
	* java/lang/natRuntime.cc (_load): Synchronize on java.lang.Class
	across dlopen call.
From-SVN: r46282 
							
						 
						
							2001-10-16 09:35:17 +01:00  
				
					
						
							
							
								 
						
							
								e62bad3dc9 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_DeleteLocalRef): Use correct frame size  
							
							... 
							
							
							
							2001-10-04  Martin Kahlert  <martin.kahlert@infineon.com>
	* jni.cc (_Jv_JNI_DeleteLocalRef): Use correct frame size
From-SVN: r46034 
							
						 
						
							2001-10-05 14:23:06 +00:00  
				
					
						
							
							
								 
						
							
								63dc70a159 
								
							 
						 
						
							
							
								
								* jni.cc (array_from_valist): Use promoted types for va_arg.  
							
							... 
							
							
							
							From-SVN: r45650 
							
						 
						
							2001-09-17 07:08:10 +02:00  
				
					
						
							
							
								 
						
							
								a4f291fc90 
								
							 
						 
						
							
							
								
								jni.cc (nathash, [...]): New globals.  
							
							... 
							
							
							
							* jni.cc (nathash, nathash_count, nathash_size): New globals.
	(DELETED_ENTRY): New define.
	(hash): New function.
	(nathash_find_slot): Likewise.
	(natrehash): Likewise.
	(nathash_add): Likewise.
	(_Jv_JNI_RegisterNatives): No longer interpreter-specific.  Use
	nathash_add.
	(nathash_find): New function.
	(_Jv_LookupJNIMethod): Use it.  Synchronize body.
	(call): Synchronize around assignment.
From-SVN: r45060 
							
						 
						
							2001-08-20 19:52:02 +00:00  
				
					
						
							
							
								 
						
							
								ac8d99218a 
								
							 
						 
						
							
							
								
								jni.cc: Include IdentityHashMap.h, not Hashtable.h.  
							
							... 
							
							
							
							* jni.cc: Include IdentityHashMap.h, not Hashtable.h.
	(local_ref_table, global_ref_table): Now IdentityHashMap.
	(_Jv_JNI_Init): Updated for new types.
	(mark_for_gc): Likewise.
	(unmark_for_gc): Likewise.
	* gcj/javaprims.h: Rebuilt class list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added new file.
	* java/util/IdentityHashMap.java: New file.
From-SVN: r44929 
							
						 
						
							2001-08-15 20:46:48 +00:00  
				
					
						
							
							
								 
						
							
								6ff02a9579 
								
							 
						 
						
							
							
								
								jni.cc (JNI_CreateJavaVM): Call _Jv_JNI_Init in order to initialize global_ref_table/local_ref_table.  
							
							... 
							
							
							
							2001-08-02  Martin Kahlert  <martin.kahlert@infineon.com>
	* jni.cc (JNI_CreateJavaVM): Call _Jv_JNI_Init in order
	to initialize global_ref_table/local_ref_table.
From-SVN: r44583 
							
						 
						
							2001-08-02 22:12:40 +00:00  
				
					
						
							
							
								 
						
							
								a5c30a8cff 
								
							 
						 
						
							
							
								
								* jni.cc (_Jv_JNI_NewLocalRef): Search other frames.  
							
							... 
							
							
							
							From-SVN: r43415 
							
						 
						
							2001-06-15 23:44:45 +00:00  
				
					
						
							
							
								 
						
							
								39986dd5ee 
								
							 
						 
						
							
							
								
								jni.cc (ClassClass): Removed; updated all users.  
							
							... 
							
							
							
							* jni.cc (ClassClass): Removed; updated all users.
	(ObjectClass): Likewise.
	(ThrowableClass): Likewise.
	(MethodClass): Likewise.
	(ThreadGroupClass): Likewise.
	(local_ref_table): Renamed from `ref_table'.
	(global_ref_table): New global.
	(_Jv_JNI_Init): Initialize both ref tables.
	(mark_for_gc): Added `ref_table' parameter.
	(unmark_for_gc): Likewise.  Also, fail if we unreferenced too many
	times.
	(_Jv_JNI_NewGlobalRef): Updated for new mark function.
	(_Jv_JNI_DeleteGlobalRef): Likewise.
	(_Jv_JNI_DeleteLocalRef): Likewise.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_PopLocalFrame): Likewise.
	(_Jv_JNI_GetStringChars): Likewise.
	(_Jv_JNI_ReleaseStringChars): Likewise.
	(_Jv_JNI_GetPrimitiveArrayElements): Likewise.
	(_Jv_JNI_ReleasePrimitiveArrayElements): Likewise.
From-SVN: r43409 
							
						 
						
							2001-06-15 22:09:10 +00:00  
				
					
						
							
							
								 
						
							
								c93d7fae7b 
								
							 
						 
						
							
							
								
								Implement invocation interface; don't create new thread for main.  
							
							... 
							
							
							
							From-SVN: r42428 
							
						 
						
							2001-05-21 23:47:48 -07:00  
				
					
						
							
							
								 
						
							
								ecd554cd35 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds checking.  
							
							... 
							
							
							
							2001-05-03  Martin Kahlert  <martin.kahlert@infineon.com>
	* jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
	checking.
	(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
From-SVN: r41795 
							
						 
						
							2001-05-03 16:56:38 +00:00  
				
					
						
							
							
								 
						
							
								55cc31c086 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds checking.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_GetPrimitiveArrayRegion): Fixed bounds
	checking.
	(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
From-SVN: r41634 
							
						 
						
							2001-04-27 16:09:54 +00:00  
				
					
						
							
							
								 
						
							
								80a44e089f 
								
							 
						 
						
							
							
								
								jni.cc (wrap_value<jobject>, [...]): Removed.  
							
							... 
							
							
							
							* jni.cc (wrap_value<jobject>, wrap_value<jclass>): Removed.
	(wrap_value<T*>): New specialization.
	(_Jv_JNI_PopLocalFrame): Update env->locals.
From-SVN: r41157 
							
						 
						
							2001-04-06 17:38:52 +00:00  
				
					
						
							
							
								 
						
							
								56f2b5bd76 
								
							 
						 
						
							
							
								
								jni.cc (wrap_value<jclass>): New specialization.  
							
							... 
							
							
							
							2001-04-02  Marcus G. Daniels  <mgd@swarm.org>
	* jni.cc (wrap_value<jclass>): New specialization.
From-SVN: r41021 
							
						 
						
							2001-04-02 22:52:40 +00:00  
				
					
						
							
							
								 
						
							
								5152512c2e 
								
							 
						 
						
							
							
								
								jni.cc (add_char): Correctly encode non-ascii characters.  
							
							... 
							
							
							
							* jni.cc (add_char): Correctly encode non-ascii characters.
	(add_char): Define even when INTERPRETER not defined.
	(mangled_name): Likewise.
	(_Jv_GetJNIEnvNewFrame): Likewise.
	(_Jv_LookupJNIMethod): Likewise.
From-SVN: r41010 
							
						 
						
							2001-04-02 19:52:39 +00:00  
				
					
						
							
							
								 
						
							
								b3208f56cb 
								
							 
						 
						
							
							
								
								exception.cc (java_eh_info): Make value type jthrowable.  
							
							... 
							
							
							
							* exception.cc (java_eh_info): Make value type jthrowable.
	(_Jv_type_matcher): Remove now unneeded cast.
	(_Jv_Throw): Make argument type jthrowable.  Munge name
	for SJLJ_EXCEPTIONS here ...
	* gcj/cni.h: ... not here.
	(JvThrow): Remove.
	* gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.
	* defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
	prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
	gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
	gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
	gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
	java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
	java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
	java/lang/natClass.cc, java/lang/natClassLoader.cc,
	java/lang/natDouble.cc, java/lang/natObject.cc,
	java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
	java/lang/natString.cc, java/lang/natSystem.cc,
	java/lang/natThread.cc, java/lang/reflect/natArray.cc,
	java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
	java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
	java/util/zip/natInflater.cc:
	Use throw, not JvThrow or _Jv_Throw.
From-SVN: r40838 
							
						 
						
							2001-03-25 23:05:32 -08:00  
				
					
						
							
							
								 
						
							
								83c64db681 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
	* java/lang/reflect/natField.cc (getType): Use _Jv_ResolveField
	unconditionally.
	* include/jvm.h (_Jv_ResolveField): Declare.
	* include/java-interp.h (_Jv_ResolveField): Don't declare.
	* resolve.cc (_Jv_ResolveField): No longer conditional on
	INTERPRETER.
From-SVN: r40785 
							
						 
						
							2001-03-23 19:15:44 +00:00  
				
					
						
							
							
								 
						
							
								736458d64b 
								
							 
						 
						
							
							
								
								jni.cc (add_char): Handle `.' like `/'.  
							
							... 
							
							
							
							2001-03-22  Marcus G. Daniels  <mgd@swarm.org>
	* jni.cc (add_char): Handle `.' like `/'.
From-SVN: r40748 
							
						 
						
							2001-03-22 17:47:15 +00:00  
				
					
						
							
							
								 
						
							
								65422ec58b 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNIFunctions): Added comment for each entry in native interface structure.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNIFunctions): Added comment for each entry in
	native interface structure.
From-SVN: r39298 
							
						 
						
							2001-01-27 19:30:31 +00:00  
				
					
						
							
							
								 
						
							
								f86f42a8ff 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_GetAnyMethodID): Rewrite signature from external to internal representation.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_GetAnyMethodID): Rewrite signature from external
	to internal representation.
	(_Jv_JNI_GetAnyFieldID): Likewise.  Also, only use
	_Jv_FindClassFromSignature.
From-SVN: r39289 
							
						 
						
							2001-01-26 23:00:19 +00:00  
				
					
						
							
							
								 
						
							
								4547105f64 
								
							 
						 
						
							
							
								
								jni.cc: Added include of java/lang/ThreadGroup.h.  
							
							... 
							
							
							
							* jni.cc: Added include of java/lang/ThreadGroup.h.
	* gcj/javaprims.h: Removed Replaceable and Resolvable from namespace
	per change of 2000-10-05.
From-SVN: r37173 
							
						 
						
							2000-11-01 00:18:03 +00:00  
				
					
						
							
							
								 
						
							
								1d336a099d 
								
							 
						 
						
							
							
								
								natField.cc (BooleanClass): Don't define.  
							
							... 
							
							
							
							* java/lang/reflect/natField.cc (BooleanClass): Don't define.
	* java/lang/reflect/natArray.cc (BooleanClass): Don't define.
	* java/lang/Class.h (Object): Added `class$' field.
	* java/lang/Object.h (Object): Added `class$' field.
	* defineclass.cc (ClassClass): Use `class$' form.
	(ClassObject): Likewise.
	* resolve.cc (ClassObject): Use `class$' form.
	(ObjectClass): Likewise.
	* interpret.cc (ClassError): Removed.
	* java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Use
	`class$' form.
	(IntegerClass): Likewise.
	* java/net/natPlainSocketImpl.cc (BooleanClass): Use `class$'
	form.
	* java/lang/natClassLoader.cc (CloneableClass): Use `class$' form.
	(ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass,
	SerializableClass): Likewise.
	Include Serializable.h, Cloneable.h.
	* java/lang/natSystem.cc (SystemClass): Removed.
	(init_properties): Use `class$' form.
	* java/lang/natObject.cc (CloneableClass): Removed.
	(clone): Use `class$' form.
	* java/lang/natClass.cc (CloneableClass): Use `class$' form.
	(ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass,
	ConstructorClass): Likewise.
	* java/lang/reflect/natMethod.cc (ObjectClass): Use `class$' form.
	(ClassClass, VoidClass, ByteClass, ShortClass, CharacterClass,
	IntegerClass, LongClass, FloatClass, DoubleClass): Likewise.
	* java/io/natObjectInputStream.cc (ObjectClass): Use `class$'
	form.
	(ClassClass): Likewise.
	* include/jvm.h (StringClass): Use `class$' form.
	* prims.cc (ObjectClass): Removed.
	(_Jv_RunMain): Use `class$' form.
	(_Jv_AllocObject): Likewise.
	* jni.cc (ClassClass): Use `class$' form.
	(ThrowableClass): Likewise.
	(ObjectClass): Likewise.
	(MethodClass): Likewise.
	(ThreadGroupClass): Likewise.
	(NativeThreadClass): Likewise.
	* boehm.cc (ObjectClass): Removed.
	(ClassClass): Removed.
	(_Jv_MarkObj): Use `class$' form.
	* gcj/field.h (JvFieldIsRef): Use `class$' form.
	Include RawData.h.
From-SVN: r36740 
							
						 
						
							2000-10-06 01:49:32 +00:00  
				
					
						
							
							
								 
						
							
								79c2c6da2c 
								
							 
						 
						
							
							
								
								[multiple changes]  
							
							... 
							
							
							
							2000-08-02  Bryce McKinlay  <bryce@albatross.co.nz>
        * interpret.cc (_Jv_InterpMethod::continue1): Type of `fun' changed
	to match C declaration in ffi.h.
	* Makefile.am: Add java/awt/Button.java.
	* Makefile.in: Rebuilt.
2000-07-29  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Type of the
        cast of the second argument to `ffi_raw_call' changed to match
        prototype.
2000-07-26  Alexandre Petit-Bianco  <apbianco@cygnus.com>
        * jni.cc (_Jv_JNIMethod::call): Type of the cast of the second
        argument to `ffi_raw_call' changed to match prototype.
From-SVN: r35418 
							
						 
						
							2000-08-02 04:25:13 +01:00  
				
					
						
							
							
								 
						
							
								6e84eab83f 
								
							 
						 
						
							
							
								
								* jni.cc (_Jv_JNI_PopSystemFrame): Clear `env->ex'.  
							
							... 
							
							
							
							From-SVN: r33285 
							
						 
						
							2000-04-20 17:39:30 +00:00  
				
					
						
							
							
								 
						
							
								af98124ef9 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_FindClass): Use system class loader if class doesn't have a loader.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_FindClass): Use system class loader if class
	doesn't have a loader.
From-SVN: r33272 
							
						 
						
							2000-04-20 05:49:48 +00:00  
				
					
						
							
							
								 
						
							
								54c2f04ba0 
								
							 
						 
						
							
							
								
								JVMPI changes...  
							
							... 
							
							
							
							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-04-02 15:34:17 +00:00  
				
					
						
							
							
								 
						
							
								4e2d1dbdd3 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception set, throw it.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception
	set, throw it.
	(call): Don't throw exception here.
From-SVN: r32770 
							
						 
						
							2000-03-27 19:51:46 +00:00  
				
					
						
							
							
								 
						
							
								90a883ae6b 
								
							 
						 
						
							
							
								
								jni.cc (mangled_name): Fixed assertion.  
							
							... 
							
							
							
							* jni.cc (mangled_name): Fixed assertion.
	(JNI_GetCreatedJavaVMs): Don't comment out `buf_len' argument;
	turned assert into actual failure.
From-SVN: r32546 
							
						 
						
							2000-03-14 21:59:54 +00:00  
				
					
						
							
							
								 
						
							
								2ba5f77454 
								
							 
						 
						
							
							
								
								All files: Updated copyright information.  
							
							... 
							
							
							
							* All files: Updated copyright information.
	* COPYING: New file.
	* COPYING.LIB: Removed.
	* LIBGCJ_LICENSE: We now use GPL + special exception.
From-SVN: r32387 
							
						 
						
							2000-03-07 19:55:28 +00:00  
				
					
						
							
							
								 
						
							
								8d00f6171a 
								
							 
						 
						
							
							
								
								jni.cc (MARK_NONE): New define.  
							
							... 
							
							
							
							* jni.cc (MARK_NONE): New define.
	(MARK_USER): Likewise.
	(MARK_SYSTEM): Likewise.
	(struct _Jv_JNI_LocalFrame): Made `marker' bigger and `size'
	smaller.
	(_Jv_JNI_DeleteLocalRef): Use MARK_NONE in assert.
	(_Jv_JNI_EnsureLocalCapacity): Use MARK_NONE.
	(_Jv_JNI_PushLocalFrame): Use MARK_USER.
	(_Jv_JNI_PopLocalFrame): New version with additional `stop'
	argument.
	(call): Use MARK_SYSTEM.
	(_Jv_GetJNIEnvNewFrame): New function.
	(_Jv_LookupJNIMethod): New function.
	(_Jv_JNI_PopSystemFrame): New function.
	(call): Use _Jv_JNI_PopSystemFrame and _Jv_LookupJNIMethod.
From-SVN: r32373 
							
						 
						
							2000-03-07 00:10:52 +00:00  
				
					
						
							
							
								 
						
							
								b099f07de9 
								
							 
						 
						
							
							
								
								java-interp.h: Don't include MethodInvocation.h.  
							
							... 
							
							
							
							* 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-03-02 20:25:20 +00:00  
				
					
						
							
							
								 
						
							
								e1b1511329 
								
							 
						 
						
							
							
								
								Minor clean up and bug fix.  
							
							... 
							
							
							
							From-SVN: r32196 
							
						 
						
							2000-02-26 21:12:54 +00:00  
				
					
						
							
							
								 
						
							
								ac52f669c5 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_RegisterNatives): Conditionalize body on `INTERPRETER'.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_RegisterNatives): Conditionalize body on
	`INTERPRETER'.
From-SVN: r32156 
							
						 
						
							2000-02-25 23:49:34 +00:00  
				
					
						
							
							
								 
						
							
								8ade47715e 
								
							 
						 
						
							
							
								
								jvm.h (_Jv_GetJavaVM): Declare.  
							
							... 
							
							
							
							* 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-18 21:22:06 +00:00  
				
					
						
							
							
								 
						
							
								5ef57049f9 
								
							 
						 
						
							
							
								
								* jni.cc (_Jv_JNI_CallStaticMethodV): Added some assertions.  
							
							... 
							
							
							
							From-SVN: r32021 
							
						 
						
							2000-02-17 00:54:34 +00:00  
				
					
						
							
							
								 
						
							
								1adbc4d8be 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_NewObjectV): Corrected assertion.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_NewObjectV): Corrected assertion.
	(_Jv_JNI_NewObject): Likewise.
	(_Jv_JNI_NewObjectA): Likewise.
	(_Jv_JNI_CallAnyMethodV): In constructor case, pass correct value
	as "return" type to _Jv_CallAnyMethodA.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
From-SVN: r32017 
							
						 
						
							2000-02-16 22:42:41 +00:00  
				
					
						
							
							
								 
						
							
								d77a164002 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_FindClass): Use ClassLoader.loadClass, not findClass.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_FindClass): Use ClassLoader.loadClass, not
	findClass.
From-SVN: r32013 
							
						 
						
							2000-02-16 18:42:48 +00:00  
				
					
						
							
							
								 
						
							
								d348bda453 
								
							 
						 
						
							
							
								
								resolve.cc (ncode): Set args_raw_size.  
							
							... 
							
							
							
							* resolve.cc (ncode): Set args_raw_size.  Compute jni_cif and
	jni_arg_types.
	(init_cif): Added `rtype_p' argument.
	* include/java-interp.h (class _Jv_MethodBase): Added
	args_raw_size.
	(class _Jv_InterpMethod): Removed args_raw_size.
	(class _Jv_JNIMethod): Added jni_cif and jni_arg_types fields.
	* jni.cc (call): Pass JNIEnv and (for static methods only) the
	class pointer as well as the ordinary arguments.
From-SVN: r31995 
							
						 
						
							2000-02-16 00:07:34 +00:00  
				
					
						
							
							
								 
						
							
								cdd59e7bdf 
								
							 
						 
						
							
							
								
								* jni.cc (mangled_name): Skip leading `(' in signature.  
							
							... 
							
							
							
							From-SVN: r31993 
							
						 
						
							2000-02-15 22:59:23 +00:00  
				
					
						
							
							
								 
						
							
								abfb784400 
								
							 
						 
						
							
							
								
								* jni.cc (add_char): Added missing `else'.  
							
							... 
							
							
							
							From-SVN: r31991 
							
						 
						
							2000-02-15 22:42:10 +00:00  
				
					
						
							
							
								 
						
							
								2d759f7165 
								
							 
						 
						
							
							
								
								jni.cc (_Jv_JNI_AttachCurrentThread): Return error if malloc fails.  
							
							... 
							
							
							
							* jni.cc (_Jv_JNI_AttachCurrentThread): Return error if malloc
	fails.
From-SVN: r31986 
							
						 
						
							2000-02-15 20:39:36 +00:00  
				
					
						
							
							
								 
						
							
								aaf0766e9f 
								
							 
						 
						
							
							
								
								natNativeThread.cc: New file.  
							
							... 
							
							
							
							* 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-10 20:31:48 +00:00  
				
					
						
							
							
								 
						
							
								278abd2849 
								
							 
						 
						
							
							
								
								jni.cc (ThrowableClass): New define.  
							
							... 
							
							
							
							* jni.cc (ThrowableClass): New define.
	(_Jv_JNI_Throw): Check argument.
	(_Jv_JNI_ThrowNew): Likewise.
	(wrap_value): Don't wrap object if it is NULL.
	(_Jv_JNI_DefineClass): Use wrap_value.
	(_Jv_JNI_FindClass): Likewise.
	(_Jv_JNI_GetSuperclass): Likewise.
	(_Jv_JNI_ExceptionOccurred): Likewise.
	(_Jv_JNI_AllocObject): Likewise.
	(_Jv_JNI_GetObjectClass): Likewise.
	(_Jv_JNI_NewString): Likewise.
	(_Jv_JNI_NewStringUTF): Likewise.
	(_Jv_JNI_NewObjectArray): Likewise.
	(_Jv_JNI_GetObjectArrayElement): Likewise.
	(_Jv_JNI_NewPrimitiveArray): Likewise.
	(_Jv_JNI_ToReflectedField): Likewise.
	(_Jv_JNI_ToReflectedMethod): Likewise.
	(_Jv_JNI_AllocObject): Check argument.
	(_Jv_JNI_NewObjectV): Likewise.
	(_Jv_JNI_NewObject): Likewise.
	(_Jv_JNI_NewObjectA): Likewise.
	(_Jv_JNI_GetObjectClass): Likewise.
	(_Jv_JNI_GetField): Likewise.
	(_Jv_JNI_SetField): Likewise.
From-SVN: r31845 
							
						 
						
							2000-02-08 00:23:09 +00:00  
				
					
						
							
							
								 
						
							
								f39b788a15 
								
							 
						 
						
							
							
								
								jni.cc (add_char): Conditional on INTERPRETER.  
							
							... 
							
							
							
							* jni.cc (add_char): Conditional on INTERPRETER.
	(mangled_name): Likewise.
	(call): Likewise.
	* include/java-interp.h (class _Jv_MethodBase): Conditional on
	INTERPRETER.
	(class _Jv_JNIMethod): Likewise.
From-SVN: r31839 
							
						 
						
							2000-02-07 21:17:30 +00:00  
				
					
						
							
							
								 
						
							
								facc279fc1 
								
							 
						 
						
							
							
								
								defineclass.cc (handleMethodsBegin): Allocate _Jv_MethodBase pointers.  
							
							... 
							
							
							
							* 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-04 20:49:27 +00:00  
				
					
						
							
							
								 
						
							
								ee6713e782 
								
							 
						 
						
							
							
								
								java-interp.h (_Jv_JNI_conversion_call): Declare.  
							
							... 
							
							
							
							* include/java-interp.h (_Jv_JNI_conversion_call): Declare.
	* resolve.cc (ncode): Use _Jv_JNI_conversion_call when
	constructing the closure if the function is native.
	* jni.cc (_Jv_JNI_conversion_call): Now returns `void'.  No longer
	a template function, #if'd out, or static.
	Include <java-interp.h>.
From-SVN: r31746 
							
						 
						
							2000-02-02 01:55:03 +00:00