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