< 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 >