Hi Bill;
Some notes from reviewing the JDK side changes.
System.java/Runtime.java:
The example which begins with the name "If the filename argument, " needs to
better identify that "L" is an example. (Italics?)
java/lang/ClassLoader.java:
NativeLibrary::fromClass could be final.
ClassLoader.c:
In Java_java_lang_ClassLoader_00024NativeLibrary_findBuiltinLib()
These two values are known at compile time.
int prefixLen = (int) strlen(JNI_LIB_PREFIX);
int suffixLen = (int) strlen(JNI_LIB_SUFFIX);
Some of the error conditions don't throw exceptions. Such as:
if (cname == NULL) {
return NULL;
}
The prefix and suffix are stripped from cname without checking that cname
actually contains the prefix or suffix.
if (len > prefixLen) is invariant.
src/solaris/native/common/jni_util_md.c:
void* getProcessHandle() {
static void* procHandle = NULL;
if (procHandle == NULL) {
procHandle = (void*)dlopen(NULL, RTLD_LAZY);
}
return procHandle;
}
Why is the error handling code commented out?
Mike
On Mar 5 2013, at 15:05 , [email protected] 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.
>
> thanks,
> bill