Yeah OK.  SETEC ASTRONOMY.
________________________________
From: David Holmes <david.hol...@oracle.com>
Sent: Friday, August 3, 2018 9:03 AM
To: mr rupplin; build-dev@openjdk.java.net
Subject: Re: JNI Native - System (java.lang.System)

On 3/08/2018 10:49 PM, mr rupplin wrote:
> How would I subscribe to core-libs-dev?

The same way you subscribed to build-dev. ???

http://mail.openjdk.java.net/mailman/listinfo/core-libs-dev

David

> Ok.
> ------------------------------------------------------------------------
> *From:* David Holmes <david.hol...@oracle.com>
> *Sent:* Thursday, August 2, 2018 11:55 PM
> *To:* mr rupplin; build-dev@openjdk.java.net
> *Subject:* Re: JNI Native - System (java.lang.System)
> Hi Max,
>
> The build-dev list is for discussing the OpenJDK build system. You
> appear to running into issues customizing parts of OpenJDK for your own
> use. It would be more appropriate to ask on core-libs-dev how to extend
> the System class - though examination of the existing native methods in
> System.java and System.c should show how it is done. There is not enough
> information in your post to see where you may have a made an error or
> omission.
>
> Cheers,
> David
>
> On 3/08/2018 12:53 PM, mr rupplin wrote:
>> Hello.
>>
>> Trying to run a simple JNI call and I keep getting the following:
>>
>> SecureJVM : GNU Public License 2.0
>> Program Name >> java
>> Launcher Name >> openjdk
>> Windows >> off
>> Version >> 9-internal+0-adhoc.mearvk.jdk9
>>
>> A new instance of Hope is born.
>> Exception in thread "main" java.lang.UnsatisfiedLinkError: 
>> java.lang.System.setMemoryAllocationListener0(Ljava/lang/memory/MemoryAllocationListener;)V
>> at java.base/java.lang.System.setMemoryAllocationListener0(Native Method)
>> at java.base/java.lang.System.setMemoryAllocationListener(System.java:261)
>> at Hope.<init>(Hope.java:19)
>>
>>
>> The source looks like:
>>
>>      public static void setMemoryAllocationListener(MemoryAllocationListener 
>> memoryAllocationListener) {
>>          checkMalloc();
>>          setMemoryAllocationListener0(memoryAllocationListener);
>>      }
>>
>>
>> The C source looks like:
>>
>>
>> JNIEXPORT void JNICALL
>> Java_java_lang_System_setMemoryAllocationListener0(JNIEnv *env, jclass cla, 
>> jobject listener)
>> {
>> printf("setMemoryAllocationListener called:\n");
>>
>>      jfieldID fid =
>>          
>> (*env)->GetStaticFieldID(env,cla,"memoryAllocationListener","Ljava/lang/memory/MemoryAllocationListener;");
>>
>>      printf("\t >> Lookup of MemoryAllocationListener completed");
>>
>>      if (fid == 0)
>>          return;
>>
>>
>>      (*env)->SetStaticObjectField(env,cla,fid,listener);
>>
>>      printf("\t >> SetStaticObjectField completed");
>> }
>>
>>
>> I am unable to discern the problem.  The make runs clean as does a 
>> non-native call that instantiates a MemoryAllocationListener object.
>>
>> Can you guys spot the issue?
>>
>> Thanks,
>>
>> Max R.
>>
>> Sr. Software Tech
>>

Reply via email to