2277 2278 JVM_QUICK_ENTRY(jint, JVM_GetMethodIxMaxStack(JNIEnv *env, jclass cls, int method_index)) 2279 JVMWrapper("JVM_GetMethodIxMaxStack"); 2280 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2281 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2282 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2283 return method->verifier_max_stack(); 2284 JVM_END 2285 2286 2287 JVM_QUICK_ENTRY(jboolean, JVM_IsConstructorIx(JNIEnv *env, jclass cls, int method_index)) 2288 JVMWrapper("JVM_IsConstructorIx"); 2289 ResourceMark rm(THREAD); 2290 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2291 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2292 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2293 return method->name() == vmSymbols::object_initializer_name(); 2294 JVM_END 2295 2296 2297 JVM_ENTRY(const char*, JVM_GetMethodIxNameUTF(JNIEnv *env, jclass cls, jint method_index)) 2298 JVMWrapper("JVM_GetMethodIxIxUTF"); 2299 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2300 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2301 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2302 return method->name()->as_utf8(); 2303 JVM_END 2304 2305 2306 JVM_ENTRY(const char*, JVM_GetMethodIxSignatureUTF(JNIEnv *env, jclass cls, jint method_index)) 2307 JVMWrapper("JVM_GetMethodIxSignatureUTF"); 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->signature()->as_utf8(); 2312 JVM_END 2313 2314 /** 2315 * All of these JVM_GetCP-xxx methods are used by the old verifier to 2316 * read entries in the constant pool. Since the old verifier always | 2277 2278 JVM_QUICK_ENTRY(jint, JVM_GetMethodIxMaxStack(JNIEnv *env, jclass cls, int method_index)) 2279 JVMWrapper("JVM_GetMethodIxMaxStack"); 2280 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2281 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2282 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2283 return method->verifier_max_stack(); 2284 JVM_END 2285 2286 2287 JVM_QUICK_ENTRY(jboolean, JVM_IsConstructorIx(JNIEnv *env, jclass cls, int method_index)) 2288 JVMWrapper("JVM_IsConstructorIx"); 2289 ResourceMark rm(THREAD); 2290 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2291 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2292 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2293 return method->name() == vmSymbols::object_initializer_name(); 2294 JVM_END 2295 2296 2297 JVM_QUICK_ENTRY(jboolean, JVM_IsVMGeneratedMethodIx(JNIEnv *env, jclass cls, int method_index)) 2298 JVMWrapper("JVM_IsVMGeneratedMethodIx"); 2299 ResourceMark rm(THREAD); 2300 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2301 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2302 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2303 return method->is_overpass(); 2304 JVM_END 2305 2306 JVM_ENTRY(const char*, JVM_GetMethodIxNameUTF(JNIEnv *env, jclass cls, jint method_index)) 2307 JVMWrapper("JVM_GetMethodIxIxUTF"); 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->name()->as_utf8(); 2312 JVM_END 2313 2314 2315 JVM_ENTRY(const char*, JVM_GetMethodIxSignatureUTF(JNIEnv *env, jclass cls, jint method_index)) 2316 JVMWrapper("JVM_GetMethodIxSignatureUTF"); 2317 Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); 2318 k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); 2319 Method* method = InstanceKlass::cast(k)->methods()->at(method_index); 2320 return method->signature()->as_utf8(); 2321 JVM_END 2322 2323 /** 2324 * All of these JVM_GetCP-xxx methods are used by the old verifier to 2325 * read entries in the constant pool. Since the old verifier always |