2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
PR libgcj/16923
* gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
JvVMOption.
2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
PR libgcj/16923
* jni.cc (JNI_CreateJavaVM): Check JNI version. Cast args to
JvVMInitArgs. Pass args to _Jv_CreateJavaVM and check return
value. Move argument parsing code to prims.cc.
* prims.cc (no_properties): Remove.
(_Jv_Compiler_Properties): Initialize to NULL.
(_Jv_Properties_Count): Initialize to 0.
(parse_verbose_args): New function.
(parse_init_args): New function.
(_Jv_CreateJavaVM): Call parse_init_args.
(_Jv_RunMain): Check return value of _Jv_CreateJavaVM.
* gcj/cni.h (JvVMOption): New struct.
(JvVMInitArgs): Likewise.
(JvCreateJavaVM): Declare vm_args as JvVMInitArgs* rather than
void*.
* libjava/gcj/javaprims.h (_Jv_VMOption): New struct.
(_Jv_VMInitArgs): Likewise.
* include/java-props.h (_Jv_Properties_Count): Declare.
* java/lang/natRuntime.cc (insertSystemProperties): Use
_Jv_Properties_Count in for loop exit condition.
* testsuite/libjava.jni/jni.exp
(gcj_invocation_compile_c_to_binary): New procedure.
(gcj_invocation_test_one): Likewise.
(gcj_jni_run): Run JNI invocation API tests.
* testsuite/libjava.jni/invocation/PR16923.c,
testsuite/libjava.jni/invocation/PR16923.java,
testsuite/libjava.jni/invocation/PR16923.out: New test.
From-SVN: r95459
2005-02-13 Anthony Green <green@redhat.com>
* jni.cc (nathash_add): Don't strdup the method signature.
(_Jv_JNI_RegisterNatives): Convert the slashes to dots in the
method signature.
Update copyright.
From-SVN: r95010
* jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natPosixProcess.cc (new_string): Pass length of string
to JvGetStringUTFRegion.
* java/lang/natDouble.cc (parseDouble): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natWin32Process.cc (startProcess): Pass length of
string to JvGetStringUTFRegion.
* java/lang/natClass.cc (forName): Pass length of string to
JvGetStringUTFRegion.
* gnu/gcj/runtime/natNameFinder.cc (getExternalLabel): Pass length
of string to JvGetStringUTFRegion.
* gnu/gcj/convert/natIconv.cc (init): Pass length of string to
JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkLabelPeer.cc (setText): Pass length of string
to JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkButtonPeer.cc (setLabel): Pass length of
string to JvGetStringUTFRegion.
From-SVN: r73571
2003-10-26 Bryce McKinlay <bryce@mckinlay.net.nz>
* java/lang/reflect/Constructor.java (toString): Avoid extra
whitespace on constructor with no modifiers.
* java/lang/reflect/natConstructor.java (newInstance): Look up
caller and perform accessibility check only if constructor is
non-public and accessible flag is not set.
2003-10-26 Bryce McKinlay <bryce@mckinlay.net.nz>
* jni.cc (_Jv_JNI_CallAnyMethodV, _Jv_JNI_CallAnyMethodA,
_Jv_JNI_CallAnyVoidMethodV, _Jv_JNI_CallAnyVoidMethodA): Don't
use _Jv_LookupDeclaredMethod(). Call _Jv_CallAnyMethodA with
is_virtual_call argument.
* include/jvm.h (_Jv_isVirtualMethod): Moved and renamed from
natClass.cc.
* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Use
_Jv_isVirtualMethod.
* java/lang/reflect/natMethod.cc (invoke): Don't use
_Jv_LookupDeclaredMethod.
(_Jv_CallAnyMethodA): New is_virtual_call argument. If specified,
look up method in target object's vtable.
From-SVN: r72942
2003-09-22 Michael Koch <konqueror@gmx.de>
* jni.cc (_Jv_LookupJNIMethod): Remove workaround that should hide a
compiler warning but produces a different one now.
From-SVN: r71650
PR libgcj/11951:
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Returns
void. Throw VirtualMachineError if ffi fails. Initialize return
value. Added is_jni_call argument; only wrap exception if not a
JNI call. Use descriptive message if operation not supported.
(_Jv_GetTypesFromSignature): Use declaring class' loader to find
array class.
* include/jvm.h (_Jv_CallAnyMethodA): Updated declaration.
* jni.cc (_Jv_JNI_CallAnyMethodV): Updated for new form of
_Jv_CallAnyMethodA.
(_Jv_JNI_CallAnyMethodA): Likewise.
(_Jv_JNI_CallAnyVoidMethodV): Likewise.
(_Jv_JNI_CallAnyVoidMethodA): Likewise.
From-SVN: r70544
2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
* jni.cc (_Jv_LookupJNIMethod): Modify to accept the
size of the arguments for a JNI function. For Win32,
modify to search for all forms of possible exported
names of an stdcall JNI function.
(_Jv_JNIMethod::call): Modify to calculate the size
of the arguments passed to a JNI function and pass
it to _Jv_LookupJNIMethod.
From-SVN: r62796
* jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be
cast to element type.
(_Jv_JNI_SetObjectArrayElement): Check array bounds.
(_Jv_JNI_GetObjectArrayElement): Likewise.
From-SVN: r62210
2002-11-19 Ranjit Mathew <rmathew@hotmail.com>
* include/jni.h: Add missing JNICALL and JNIEXPORT attributes
to function and function pointer declarations in accordance with
Sun's JDKs. Define JNIIMPEXP to either JNIEXPORT or JNIIMPORT
based on whether __GCJ_JNI_IMPL__ has been defined or not.
* jni.cc: Add missing JNICALL and JNIEXPORT attributes to
JNI function definitions.
From-SVN: r59277
2002-02-08 Martin Kahlert <martin.kahlert@infineon.com>
* jni.cc (_Jv_JNI_NewLocalRef): Make sure, that NULL frame is not
dereferenced.
(_Jv_JNI_AttachCurrentThread): Produce full featured env->locals
frame.
From-SVN: r49615
* 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
* 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
* 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-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