31 // NativeLookup provides an interface for finding DLL entry points for |
31 // NativeLookup provides an interface for finding DLL entry points for |
32 // Java native functions. |
32 // Java native functions. |
33 |
33 |
34 class NativeLookup : AllStatic { |
34 class NativeLookup : AllStatic { |
35 private: |
35 private: |
36 // JNI name computation |
|
37 static char* pure_jni_name(const methodHandle& method); |
|
38 static char* long_jni_name(const methodHandle& method); |
|
39 static char* critical_jni_name(const methodHandle& method); |
|
40 |
|
41 // Style specific lookup |
36 // Style specific lookup |
42 static address lookup_style(const methodHandle& method, char* pure_name, const char* long_name, int args_size, bool os_style, bool& in_base_library, TRAPS); |
37 static address lookup_style(const methodHandle& method, char* pure_name, const char* long_name, int args_size, bool os_style, bool& in_base_library, TRAPS); |
43 static address lookup_critical_style(const methodHandle& method, char* pure_name, const char* long_name, int args_size, bool os_style); |
38 static address lookup_critical_style(const methodHandle& method, char* pure_name, const char* long_name, int args_size, bool os_style); |
44 static address lookup_base (const methodHandle& method, bool& in_base_library, TRAPS); |
39 static address lookup_base (const methodHandle& method, bool& in_base_library, TRAPS); |
45 static address lookup_entry(const methodHandle& method, bool& in_base_library, TRAPS); |
40 static address lookup_entry(const methodHandle& method, bool& in_base_library, TRAPS); |
46 static address lookup_entry_prefixed(const methodHandle& method, bool& in_base_library, TRAPS); |
41 static address lookup_entry_prefixed(const methodHandle& method, bool& in_base_library, TRAPS); |
47 public: |
42 public: |
|
43 // JNI name computation |
|
44 static char* pure_jni_name(const methodHandle& method); |
|
45 static char* long_jni_name(const methodHandle& method); |
|
46 static char* critical_jni_name(const methodHandle& method); |
|
47 |
48 // Lookup native function. May throw UnsatisfiedLinkError. |
48 // Lookup native function. May throw UnsatisfiedLinkError. |
49 static address lookup(const methodHandle& method, bool& in_base_library, TRAPS); |
49 static address lookup(const methodHandle& method, bool& in_base_library, TRAPS); |
50 static address lookup_critical_entry(const methodHandle& method); |
50 static address lookup_critical_entry(const methodHandle& method); |
51 |
51 |
52 // Lookup native functions in base library. |
52 // Lookup native functions in base library. |