< prev index next >
src/share/vm/prims/nativeLookup.cpp
Print this page
*** 173,183 ****
return entry;
}
}
// Otherwise call static method findNative in ClassLoader
! KlassHandle klass (THREAD, SystemDictionary::ClassLoader_klass());
Handle name_arg = java_lang_String::create_from_str(jni_name, CHECK_NULL);
JavaValue result(T_LONG);
JavaCalls::call_static(&result,
klass,
--- 173,183 ----
return entry;
}
}
// Otherwise call static method findNative in ClassLoader
! Klass* klass = SystemDictionary::ClassLoader_klass();
Handle name_arg = java_lang_String::create_from_str(jni_name, CHECK_NULL);
JavaValue result(T_LONG);
JavaCalls::call_static(&result,
klass,
*** 343,355 ****
if (wrapper_name != in_name) {
// we have a name for a wrapping method
int wrapper_name_len = (int)strlen(wrapper_name);
TempNewSymbol wrapper_symbol = SymbolTable::probe(wrapper_name, wrapper_name_len);
if (wrapper_symbol != NULL) {
! KlassHandle kh(method->method_holder());
! Method* wrapper_method = kh()->lookup_method(wrapper_symbol,
! method->signature());
if (wrapper_method != NULL && !wrapper_method->is_native()) {
// we found a wrapper method, use its native entry
method->set_is_prefixed_native();
return lookup_entry(wrapper_method, in_base_library, THREAD);
}
--- 343,354 ----
if (wrapper_name != in_name) {
// we have a name for a wrapping method
int wrapper_name_len = (int)strlen(wrapper_name);
TempNewSymbol wrapper_symbol = SymbolTable::probe(wrapper_name, wrapper_name_len);
if (wrapper_symbol != NULL) {
! Klass* k = method->method_holder();
! Method* wrapper_method = k->lookup_method(wrapper_symbol, method->signature());
if (wrapper_method != NULL && !wrapper_method->is_native()) {
// we found a wrapper method, use its native entry
method->set_is_prefixed_native();
return lookup_entry(wrapper_method, in_base_library, THREAD);
}
*** 400,410 ****
TempNewSymbol m_name = SymbolTable::new_symbol(method_name, CATCH);
TempNewSymbol s_name = SymbolTable::new_symbol(signature, CATCH);
// Find the class
Klass* k = SystemDictionary::resolve_or_fail(c_name, true, CATCH);
! instanceKlassHandle klass (THREAD, k);
// Find method and invoke standard lookup
methodHandle method (THREAD,
klass->uncached_lookup_method(m_name, s_name, Klass::find_overpass));
address result = lookup(method, in_base_library, CATCH);
--- 399,409 ----
TempNewSymbol m_name = SymbolTable::new_symbol(method_name, CATCH);
TempNewSymbol s_name = SymbolTable::new_symbol(signature, CATCH);
// Find the class
Klass* k = SystemDictionary::resolve_or_fail(c_name, true, CATCH);
! InstanceKlass* klass = InstanceKlass::cast(k);
// Find method and invoke standard lookup
methodHandle method (THREAD,
klass->uncached_lookup_method(m_name, s_name, Klass::find_overpass));
address result = lookup(method, in_base_library, CATCH);
< prev index next >