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