comparison src/share/vm/graal/graalCompilerToVM.cpp @ 18719:6484e5c068c7

Generalize object reading in HotSpotMemoryAccessProvider.
author Roland Schatz <roland.schatz@oracle.com>
date Thu, 18 Dec 2014 15:31:12 +0100
parents a8cff27ca2e1
children 8f2fb6bec986
comparison
equal deleted inserted replaced
18718:305e6a73117d 18719:6484e5c068c7
695 695
696 C2V_VMENTRY(jlong, readUnsafeKlassPointer, (JNIEnv*, jobject, jobject o)) 696 C2V_VMENTRY(jlong, readUnsafeKlassPointer, (JNIEnv*, jobject, jobject o))
697 oop resolved_o = JNIHandles::resolve(o); 697 oop resolved_o = JNIHandles::resolve(o);
698 jlong klass = (jlong)(address)resolved_o->klass(); 698 jlong klass = (jlong)(address)resolved_o->klass();
699 return klass; 699 return klass;
700 C2V_END
701
702 C2V_VMENTRY(jobject, readUnsafeOop, (JNIEnv*, jobject, jobject base, jlong displacement, jboolean compressed))
703 address addr = (address)JNIHandles::resolve(base);
704 oop ret;
705 if (compressed) {
706 ret = oopDesc::load_decode_heap_oop((narrowOop*)(addr + displacement));
707 } else {
708 ret = oopDesc::load_decode_heap_oop((oop*)(addr + displacement));
709 }
710 return JNIHandles::make_local(ret);
700 C2V_END 711 C2V_END
701 712
702 C2V_VMENTRY(jlongArray, collectCounters, (JNIEnv*, jobject)) 713 C2V_VMENTRY(jlongArray, collectCounters, (JNIEnv*, jobject))
703 typeArrayOop arrayOop = oopFactory::new_longArray(GraalCounterSize, CHECK_NULL); 714 typeArrayOop arrayOop = oopFactory::new_longArray(GraalCounterSize, CHECK_NULL);
704 JavaThread::collect_counters(arrayOop); 715 JavaThread::collect_counters(arrayOop);
1076 {CC"getLocalVariableTableLength", CC"("METASPACE_METHOD")I", FN_PTR(getLocalVariableTableLength)}, 1087 {CC"getLocalVariableTableLength", CC"("METASPACE_METHOD")I", FN_PTR(getLocalVariableTableLength)},
1077 {CC"reprofile", CC"("METASPACE_METHOD")V", FN_PTR(reprofile)}, 1088 {CC"reprofile", CC"("METASPACE_METHOD")V", FN_PTR(reprofile)},
1078 {CC"invalidateInstalledCode", CC"("INSTALLED_CODE")V", FN_PTR(invalidateInstalledCode)}, 1089 {CC"invalidateInstalledCode", CC"("INSTALLED_CODE")V", FN_PTR(invalidateInstalledCode)},
1079 {CC"getJavaMirror", CC"("METASPACE_KLASS")"CLASS, FN_PTR(getJavaMirror)}, 1090 {CC"getJavaMirror", CC"("METASPACE_KLASS")"CLASS, FN_PTR(getJavaMirror)},
1080 {CC"readUnsafeKlassPointer", CC"("OBJECT")J", FN_PTR(readUnsafeKlassPointer)}, 1091 {CC"readUnsafeKlassPointer", CC"("OBJECT")J", FN_PTR(readUnsafeKlassPointer)},
1092 {CC"readUnsafeOop", CC"("OBJECT"JZ)"OBJECT, FN_PTR(readUnsafeOop)},
1081 {CC"collectCounters", CC"()[J", FN_PTR(collectCounters)}, 1093 {CC"collectCounters", CC"()[J", FN_PTR(collectCounters)},
1082 {CC"getGPUs", CC"()"STRING, FN_PTR(getGPUs)}, 1094 {CC"getGPUs", CC"()"STRING, FN_PTR(getGPUs)},
1083 {CC"allocateCompileId", CC"("METASPACE_METHOD"I)I", FN_PTR(allocateCompileId)}, 1095 {CC"allocateCompileId", CC"("METASPACE_METHOD"I)I", FN_PTR(allocateCompileId)},
1084 {CC"isMature", CC"("METASPACE_METHOD_DATA")Z", FN_PTR(isMature)}, 1096 {CC"isMature", CC"("METASPACE_METHOD_DATA")Z", FN_PTR(isMature)},
1085 {CC"hasCompiledCodeForOSR", CC"("METASPACE_METHOD"II)Z", FN_PTR(hasCompiledCodeForOSR)}, 1097 {CC"hasCompiledCodeForOSR", CC"("METASPACE_METHOD"II)Z", FN_PTR(hasCompiledCodeForOSR)},