Changes look good to me. Mike On Mar 7 2013, at 08:36 , BILL PITTORE wrote:
> I updated the code based on the feedback. To fix the windows symbol name > issue that Dean brought up I added a platform specific function, > buildJniFunctionName. In windows it will properly convert _JNI_OnLoad@8 to > _JNI_OnLoad_libname@8 as well as handle JNI_OnLoad symbol name. > > Fixed copyright headers as well. > > Tested on linux and windows > > Webrevs are here: > > http://cr.openjdk.java.net/~bpittore/8005716/jdk-webrev.01/ > http://cr.openjdk.java.net/~bpittore/8005716/hs-webrev.00/ > > bill > > On 3/6/2013 8:47 AM, Alan Bateman wrote: >> On 05/03/2013 23:05, bill.pitt...@oracle.com wrote: >>> This request is tied to bugid 8005716 that deals with adding support for >>> statically linked JNI libraries. >>> >>> The JEP is here: http://openjdk.java.net/jeps/178 >>> >>> The bug is here:http://bugs.sun.com/view_bug.do?bug_id=8005716 >>> >>> The webrevs are here: >>> >>> http://cr.openjdk.java.net/~bpittore/8005716/jdk-webrev.00/ >>> http://cr.openjdk.java.net/~bpittore/8005716/hs-webrev.00/ >>> >>> The main piece of functionality is to check for the presence of >>> JNI_OnLoad_libname to determine if the library specified by 'libname' has >>> been statically linked into the VM. If the symbol is found, it is assumed >>> that the library is linked in and will not be dynamically loaded. >> Overall I think this is quite good and follows the proposal in the JEP. I >> don't see anything obvious wrong with the logic and everything should just >> work for shared libraries as it does today. I assume you'll run all the >> appropriate tests. >> >> I see Dean's suggestion to add a JVM function to allow for a lookup table >> when the symbol information is available, If you do that then you'll need to >> get the hotspot changes in first. Alternatively, change what you have later >> once the hotspot changes are in.Just on the >> >> As findBuiltJniFunction can locate a built-in or a JNI_OnLoad/OnUnload in a >> library then the function name is probably not quite right (shouldn't have >> "Builtin" in the name). >> >> A minor nit in _findBuiltinLib is that if the OOME path should call >> JNU_ReleaseStringPlatformChars before returning. >> >> There are a few commented out statements in jni_util_md.c that I assume will >> be removed. Also you might want to check the indentation in both >> getProcessHandle implementations as they look like 2-spaces whereas the libs >> uses 4 (although this may be mute if you use a JVM function). >> >> Otherwise I think this is good and I can sponsor the jdk part to this and >> help get it into jdk8/tl. >> >> -Alan >> > > >