Mercurial > hg > graal-compiler
comparison src/share/vm/graal/graalCompilerToVM.cpp @ 15052:5e6f29f287d6
added InstanceKlass::_graal_node_class field to accelerate Node.getNodeClass()
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 10 Apr 2014 00:01:30 +0200 |
parents | aa1a43bfdf4e |
children | d4a9d6f6e57d |
comparison
equal
deleted
inserted
replaced
15051:2df054b37edc | 15052:5e6f29f287d6 |
---|---|
725 VMThread::execute(&op); | 725 VMThread::execute(&op); |
726 } | 726 } |
727 HotSpotInstalledCode::set_codeBlob(hotspotInstalledCode, 0); | 727 HotSpotInstalledCode::set_codeBlob(hotspotInstalledCode, 0); |
728 C2V_END | 728 C2V_END |
729 | 729 |
730 | 730 C2V_VMENTRY(jobject, getJavaMirror, (JNIEnv *env, jobject, jlong metaspace_klass)) |
731 C2V_VMENTRY(jobject, readUnsafeUncompressedPointer, (JNIEnv *env, jobject, jobject o, jlong offset)) | 731 Klass* klass = asKlass(metaspace_klass); |
732 oop resolved_o = JNIHandles::resolve(o); | 732 return JNIHandles::make_local(klass->java_mirror()); |
733 address addr = ((address)resolved_o) + offset; | 733 C2V_END |
734 return JNIHandles::make_local(*((oop*)addr)); | 734 |
735 C2V_VMENTRY(jobject, getNodeClass, (JNIEnv *env, jobject, jobject java_class_handle)) | |
736 oop java_class = JNIHandles::resolve(java_class_handle); | |
737 InstanceKlass* iklass = (InstanceKlass*) java_lang_Class::as_Klass(java_class); | |
738 return JNIHandles::make_local(iklass->graal_node_class()); | |
739 C2V_END | |
740 | |
741 C2V_VMENTRY(void, setNodeClass, (JNIEnv *env, jobject, jobject java_class_handle, jobject value)) | |
742 oop java_class = JNIHandles::resolve(java_class_handle); | |
743 InstanceKlass* iklass = (InstanceKlass*) java_lang_Class::as_Klass(java_class); | |
744 iklass->set_graal_node_class(JNIHandles::resolve(value)); | |
735 C2V_END | 745 C2V_END |
736 | 746 |
737 C2V_VMENTRY(jlong, readUnsafeKlassPointer, (JNIEnv *env, jobject, jobject o)) | 747 C2V_VMENTRY(jlong, readUnsafeKlassPointer, (JNIEnv *env, jobject, jobject o)) |
738 oop resolved_o = JNIHandles::resolve(o); | 748 oop resolved_o = JNIHandles::resolve(o); |
739 jlong klass = (jlong)(address)resolved_o->klass(); | 749 jlong klass = (jlong)(address)resolved_o->klass(); |
785 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" | 795 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" |
786 #define HS_RESOLVED_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod;" | 796 #define HS_RESOLVED_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod;" |
787 #define HS_COMPILED_CODE "Lcom/oracle/graal/hotspot/HotSpotCompiledCode;" | 797 #define HS_COMPILED_CODE "Lcom/oracle/graal/hotspot/HotSpotCompiledCode;" |
788 #define HS_CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;" | 798 #define HS_CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;" |
789 #define HS_INSTALLED_CODE "Lcom/oracle/graal/hotspot/meta/HotSpotInstalledCode;" | 799 #define HS_INSTALLED_CODE "Lcom/oracle/graal/hotspot/meta/HotSpotInstalledCode;" |
800 #define NODE_CLASS "Lcom/oracle/graal/graph/NodeClass;" | |
790 #define METASPACE_KLASS "J" | 801 #define METASPACE_KLASS "J" |
791 #define METASPACE_METHOD "J" | 802 #define METASPACE_METHOD "J" |
792 #define METASPACE_METHOD_DATA "J" | 803 #define METASPACE_METHOD_DATA "J" |
793 #define METASPACE_CONSTANT_POOL "J" | 804 #define METASPACE_CONSTANT_POOL "J" |
794 #define METASPACE_SYMBOL "J" | 805 #define METASPACE_SYMBOL "J" |
833 {CC"getLineNumberTable", CC"("METASPACE_METHOD")[J", FN_PTR(getLineNumberTable)}, | 844 {CC"getLineNumberTable", CC"("METASPACE_METHOD")[J", FN_PTR(getLineNumberTable)}, |
834 {CC"getLocalVariableTableStart", CC"("METASPACE_METHOD")J", FN_PTR(getLocalVariableTableStart)}, | 845 {CC"getLocalVariableTableStart", CC"("METASPACE_METHOD")J", FN_PTR(getLocalVariableTableStart)}, |
835 {CC"getLocalVariableTableLength", CC"("METASPACE_METHOD")I", FN_PTR(getLocalVariableTableLength)}, | 846 {CC"getLocalVariableTableLength", CC"("METASPACE_METHOD")I", FN_PTR(getLocalVariableTableLength)}, |
836 {CC"reprofile", CC"("METASPACE_METHOD")V", FN_PTR(reprofile)}, | 847 {CC"reprofile", CC"("METASPACE_METHOD")V", FN_PTR(reprofile)}, |
837 {CC"invalidateInstalledCode", CC"("HS_INSTALLED_CODE")V", FN_PTR(invalidateInstalledCode)}, | 848 {CC"invalidateInstalledCode", CC"("HS_INSTALLED_CODE")V", FN_PTR(invalidateInstalledCode)}, |
838 {CC"readUnsafeUncompressedPointer", CC"("OBJECT"J)"OBJECT, FN_PTR(readUnsafeUncompressedPointer)}, | 849 {CC"getJavaMirror", CC"("METASPACE_KLASS")"CLASS, FN_PTR(getJavaMirror)}, |
850 {CC"getNodeClass", CC"("CLASS")"NODE_CLASS, FN_PTR(getNodeClass)}, | |
851 {CC"setNodeClass", CC"("CLASS NODE_CLASS")V", FN_PTR(setNodeClass)}, | |
839 {CC"readUnsafeKlassPointer", CC"("OBJECT")J", FN_PTR(readUnsafeKlassPointer)}, | 852 {CC"readUnsafeKlassPointer", CC"("OBJECT")J", FN_PTR(readUnsafeKlassPointer)}, |
840 {CC"collectCounters", CC"()[J", FN_PTR(collectCounters)}, | 853 {CC"collectCounters", CC"()[J", FN_PTR(collectCounters)}, |
841 {CC"getGPUs", CC"()"STRING, FN_PTR(getGPUs)}, | 854 {CC"getGPUs", CC"()"STRING, FN_PTR(getGPUs)}, |
842 {CC"allocateCompileId", CC"("METASPACE_METHOD"I)I", FN_PTR(allocateCompileId)}, | 855 {CC"allocateCompileId", CC"("METASPACE_METHOD"I)I", FN_PTR(allocateCompileId)}, |
843 {CC"isMature", CC"("METASPACE_METHOD_DATA")Z", FN_PTR(isMature)}, | 856 {CC"isMature", CC"("METASPACE_METHOD_DATA")Z", FN_PTR(isMature)}, |