Mercurial > hg > truffle
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); |