
* testsuite/libjava.jni/register2.java: New file. * testsuite/libjava.jni/register2.out: New file. * testsuite/libjava.jni/register2.c: New file. * java/lang/natClass.cc (_Jv_GetClassNameUtf8): New function. * java/lang/Class.h (_Jv_GetClassNameUtf8): Declare. * jni.cc (struct NativeMethodCacheEntry): New struct. (nathash): Changed type. (hash): Updated. (nathash_find_slot): Likewise. (nathash_find): Likewise. (natrehash): Likewise. (nathash_add): Likewise. (_Jv_JNI_RegisterNatives): Likewise. (_Jv_LookupJNIMethod): Likewise. Idea from Juerg Lehni <juerg@scratchdisk.com> Co-Authored-By: Bryce McKinlay <mckinlay@redhat.com> From-SVN: r117867
27 lines
494 B
Java
27 lines
494 B
Java
// Another test of RegisterNatives.
|
|
// We neglected to track the class name in our internal hash table.
|
|
// This is a regression test for the fix.
|
|
|
|
public class register2
|
|
{
|
|
static
|
|
{
|
|
System.loadLibrary ("register2");
|
|
}
|
|
|
|
static class I1
|
|
{
|
|
public static native int doit ();
|
|
}
|
|
|
|
static class I2
|
|
{
|
|
public static native int doit ();
|
|
}
|
|
|
|
public static void main (String[] args)
|
|
{
|
|
System.out.println (new I1().doit());
|
|
System.out.println (new I2().doit());
|
|
}
|
|
}
|