comparison src/share/vm/prims/jvm.cpp @ 7958:815957d0203e

8004967: Default method cause VerifyError: Illegal use of nonvirtual Summary: Recognize VM generated method in old verifier Reviewed-by: acorn, coleenp Contributed-by: bharadwaj.yadavelli@oracle.com
author acorn
date Mon, 28 Jan 2013 10:55:30 -0500
parents 8b46b0196eb0
children 24a91505f9d5
comparison
equal deleted inserted replaced
7955:cf8470eaf7e5 7958:815957d0203e
2300 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2300 Method* method = InstanceKlass::cast(k)->methods()->at(method_index);
2301 return method->name() == vmSymbols::object_initializer_name(); 2301 return method->name() == vmSymbols::object_initializer_name();
2302 JVM_END 2302 JVM_END
2303 2303
2304 2304
2305 JVM_QUICK_ENTRY(jboolean, JVM_IsVMGeneratedMethodIx(JNIEnv *env, jclass cls, int method_index))
2306 JVMWrapper("JVM_IsVMGeneratedMethodIx");
2307 ResourceMark rm(THREAD);
2308 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
2309 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
2310 Method* method = InstanceKlass::cast(k)->methods()->at(method_index);
2311 return method->is_overpass();
2312 JVM_END
2313
2305 JVM_ENTRY(const char*, JVM_GetMethodIxNameUTF(JNIEnv *env, jclass cls, jint method_index)) 2314 JVM_ENTRY(const char*, JVM_GetMethodIxNameUTF(JNIEnv *env, jclass cls, jint method_index))
2306 JVMWrapper("JVM_GetMethodIxIxUTF"); 2315 JVMWrapper("JVM_GetMethodIxIxUTF");
2307 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2316 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls));
2308 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2317 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread);
2309 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2318 Method* method = InstanceKlass::cast(k)->methods()->at(method_index);