comparison src/share/vm/graal/graalCompilerToVM.cpp @ 7784:016e23829147

added HotSpot implementation of disassembling APIs
author Doug Simon <doug.simon@oracle.com>
date Wed, 13 Feb 2013 11:36:16 +1000
parents 0ae87cf94914
children 8bbbde9d0a52
comparison
equal deleted inserted replaced
7783:0c4eaa06d504 7784:016e23829147
842 842
843 Handle result = java_lang_String::create_from_platform_dependent_str(st.as_string(), CHECK_NULL); 843 Handle result = java_lang_String::create_from_platform_dependent_str(st.as_string(), CHECK_NULL);
844 return JNIHandles::make_local(result()); 844 return JNIHandles::make_local(result());
845 C2V_END 845 C2V_END
846 846
847 C2V_VMENTRY(jobject, disassembleNMethod, (JNIEnv *jniEnv, jobject, jlong metaspace_nmethod))
848 ResourceMark rm;
849 HandleMark hm;
850
851 nmethod* nm = (nmethod*) (address) metaspace_nmethod;
852 if (nm == NULL || !nm->is_alive()) {
853 return NULL;
854 }
855 stringStream(st);
856 Disassembler::decode(nm, &st);
857
858 Handle result = java_lang_String::create_from_platform_dependent_str(st.as_string(), CHECK_NULL);
859 return JNIHandles::make_local(result());
860 C2V_END
861
847 C2V_VMENTRY(jobject, getStackTraceElement, (JNIEnv *env, jobject, jlong metaspace_method, int bci)) 862 C2V_VMENTRY(jobject, getStackTraceElement, (JNIEnv *env, jobject, jlong metaspace_method, int bci))
848 ResourceMark rm; 863 ResourceMark rm;
849 HandleMark hm; 864 HandleMark hm;
850 865
851 methodHandle method = asMethod(metaspace_method); 866 methodHandle method = asMethod(metaspace_method);
1054 {CC"getMetaspaceConstructor", CC"("REFLECT_CONSTRUCTOR"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceConstructor)}, 1069 {CC"getMetaspaceConstructor", CC"("REFLECT_CONSTRUCTOR"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceConstructor)},
1055 {CC"getJavaField", CC"("REFLECT_FIELD")"HS_RESOLVED_FIELD, FN_PTR(getJavaField)}, 1070 {CC"getJavaField", CC"("REFLECT_FIELD")"HS_RESOLVED_FIELD, FN_PTR(getJavaField)},
1056 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)}, 1071 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)},
1057 {CC"installCode0", CC"("HS_COMP_RESULT HS_INSTALLED_CODE HS_CODE_INFO")I", FN_PTR(installCode0)}, 1072 {CC"installCode0", CC"("HS_COMP_RESULT HS_INSTALLED_CODE HS_CODE_INFO")I", FN_PTR(installCode0)},
1058 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)}, 1073 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)},
1074 {CC"disassembleNMethod", CC"(J)"STRING, FN_PTR(disassembleNMethod)},
1059 {CC"executeCompiledMethod", CC"("METASPACE_METHOD NMETHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)}, 1075 {CC"executeCompiledMethod", CC"("METASPACE_METHOD NMETHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)},
1060 {CC"executeCompiledMethodVarargs", CC"("METASPACE_METHOD NMETHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)}, 1076 {CC"executeCompiledMethodVarargs", CC"("METASPACE_METHOD NMETHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)},
1061 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)}, 1077 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)},
1062 {CC"decodePC", CC"(J)"STRING, FN_PTR(decodePC)}, 1078 {CC"decodePC", CC"(J)"STRING, FN_PTR(decodePC)},
1063 {CC"getLineNumberTable", CC"("HS_RESOLVED_METHOD")[J", FN_PTR(getLineNumberTable)}, 1079 {CC"getLineNumberTable", CC"("HS_RESOLVED_METHOD")[J", FN_PTR(getLineNumberTable)},