--- old/make/bsd/makefiles/mapfile-vers-debug 2013-01-25 15:53:37.175111997 -0800 +++ new/make/bsd/makefiles/mapfile-vers-debug 2013-01-25 15:53:36.956101055 -0800 @@ -188,6 +188,7 @@ JVM_IsSilentCompiler; JVM_IsSupportedJNIVersion; JVM_IsThreadAlive; + JVM_IsVMGeneratedMethodIx; JVM_LatestUserDefinedLoader; JVM_Listen; JVM_LoadClass0; --- old/make/bsd/makefiles/mapfile-vers-product 2013-01-25 15:53:37.935149970 -0800 +++ new/make/bsd/makefiles/mapfile-vers-product 2013-01-25 15:53:37.721139278 -0800 @@ -188,6 +188,7 @@ JVM_IsSilentCompiler; JVM_IsSupportedJNIVersion; JVM_IsThreadAlive; + JVM_IsVMGeneratedMethodIx; JVM_LatestUserDefinedLoader; JVM_Listen; JVM_LoadClass0; --- old/make/linux/makefiles/mapfile-vers-debug 2013-01-25 15:53:38.729189643 -0800 +++ new/make/linux/makefiles/mapfile-vers-debug 2013-01-25 15:53:38.507178551 -0800 @@ -184,6 +184,7 @@ JVM_IsSilentCompiler; JVM_IsSupportedJNIVersion; JVM_IsThreadAlive; + JVM_IsVMGeneratedMethodIx; JVM_LatestUserDefinedLoader; JVM_Listen; JVM_LoadClass0; --- old/make/linux/makefiles/mapfile-vers-product 2013-01-25 15:53:39.560231164 -0800 +++ new/make/linux/makefiles/mapfile-vers-product 2013-01-25 15:53:39.328219573 -0800 @@ -184,6 +184,7 @@ JVM_IsSilentCompiler; JVM_IsSupportedJNIVersion; JVM_IsThreadAlive; + JVM_IsVMGeneratedMethodIx; JVM_LatestUserDefinedLoader; JVM_Listen; JVM_LoadClass0; --- old/make/solaris/makefiles/mapfile-vers 2013-01-25 15:53:40.353270787 -0800 +++ new/make/solaris/makefiles/mapfile-vers 2013-01-25 15:53:40.129259594 -0800 @@ -184,6 +184,7 @@ JVM_IsSilentCompiler; JVM_IsSupportedJNIVersion; JVM_IsThreadAlive; + JVM_IsVMGeneratedMethodIx; JVM_LatestUserDefinedLoader; JVM_Listen; JVM_LoadClass0; --- old/src/share/vm/prims/jvm.cpp 2013-01-25 15:53:41.172311709 -0800 +++ new/src/share/vm/prims/jvm.cpp 2013-01-25 15:53:40.947300466 -0800 @@ -2294,6 +2294,15 @@ JVM_END +JVM_QUICK_ENTRY(jboolean, JVM_IsVMGeneratedMethodIx(JNIEnv *env, jclass cls, int method_index)) + JVMWrapper("JVM_IsVMGeneratedMethodIx"); + ResourceMark rm(THREAD); + Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); + k = JvmtiThreadState::class_to_verify_considering_redefinition(k, thread); + Method* method = InstanceKlass::cast(k)->methods()->at(method_index); + return method->is_overpass(); +JVM_END + JVM_ENTRY(const char*, JVM_GetMethodIxNameUTF(JNIEnv *env, jclass cls, jint method_index)) JVMWrapper("JVM_GetMethodIxIxUTF"); Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(cls)); --- old/src/share/vm/prims/jvm.h 2013-01-25 15:53:42.031354629 -0800 +++ new/src/share/vm/prims/jvm.h 2013-01-25 15:53:41.811343637 -0800 @@ -863,6 +863,13 @@ JVM_IsConstructorIx(JNIEnv *env, jclass cb, int index); /* + * Is the given method generated by the VM. + * The method is identified by method_index. + */ +JNIEXPORT jboolean JNICALL +JVM_IsVMGeneratedMethodIx(JNIEnv *env, jclass cb, int index); + +/* * Returns the name of a given method in UTF format. * The result remains valid until JVM_ReleaseUTF is called. *