Hi Mandy,

On 10/10/17 17:00, mandy chung wrote:
Now that (system)nativeLibraries is a Map, is it still necessary to iterate it and call lib.findEntry(name) on each NativeLibrary until the one that returns a non-zero entry or would it be semantically equivalent to 1st look-up the Map by the 'name' key to get the correct NativeLibrary?

The name parameter is the symbol name but not the library name. It's confusing and therefore I renamed NativeLibrary::find to NativeLibrary::findEntry.   I could rename the name parameter to entryName to make it clearer.

Mandy

Oh, I see. I haven't checked the findNative VM call-back method purpose before. It's reasonable to try all the native libraries of a ClassLoader when looking for a symbol that links to native method implementation. Constructing and keeping an index of symbols for each native library on the Java side is probably not worth since there might be lots of them in libraries and only some of them link to native method implementations and there's typically not many native libraries loaded.

Regards, Peter

Reply via email to