Mercurial > hg > truffle
comparison src/share/vm/graal/graalCompilerToVM.cpp @ 18929:8f2fb6bec986
removed GPU code
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 23 Jan 2015 10:54:21 +0100 |
parents | 6484e5c068c7 |
children | 2452e881fad5 |
comparison
equal
deleted
inserted
replaced
18928:c8fc6e2d128b | 18929:8f2fb6bec986 |
---|---|
41 #include "runtime/javaCalls.hpp" | 41 #include "runtime/javaCalls.hpp" |
42 #include "runtime/deoptimization.hpp" | 42 #include "runtime/deoptimization.hpp" |
43 #include "runtime/vframe.hpp" | 43 #include "runtime/vframe.hpp" |
44 #include "runtime/vframe_hp.hpp" | 44 #include "runtime/vframe_hp.hpp" |
45 #include "runtime/vmStructs.hpp" | 45 #include "runtime/vmStructs.hpp" |
46 #include "runtime/gpu.hpp" | |
47 | 46 |
48 | 47 |
49 // Entry to native method implementation that transitions current thread to '_thread_in_vm'. | 48 // Entry to native method implementation that transitions current thread to '_thread_in_vm'. |
50 #define C2V_VMENTRY(result_type, name, signature) \ | 49 #define C2V_VMENTRY(result_type, name, signature) \ |
51 JNIEXPORT result_type JNICALL c2v_ ## name signature { \ | 50 JNIEXPORT result_type JNICALL c2v_ ## name signature { \ |
475 if (!installed_code_handle.is_null()) { | 474 if (!installed_code_handle.is_null()) { |
476 assert(installed_code_handle->is_a(InstalledCode::klass()), "wrong type"); | 475 assert(installed_code_handle->is_a(InstalledCode::klass()), "wrong type"); |
477 InstalledCode::set_address(installed_code_handle, (jlong) cb); | 476 InstalledCode::set_address(installed_code_handle, (jlong) cb); |
478 InstalledCode::set_version(installed_code_handle, InstalledCode::version(installed_code_handle) + 1); | 477 InstalledCode::set_version(installed_code_handle, InstalledCode::version(installed_code_handle) + 1); |
479 oop comp_result = HotSpotCompiledCode::comp(compiled_code_handle); | 478 oop comp_result = HotSpotCompiledCode::comp(compiled_code_handle); |
480 if (comp_result->is_a(ExternalCompilationResult::klass())) { | 479 if (installed_code_handle->is_a(HotSpotInstalledCode::klass())) { |
481 if (TraceGPUInteraction) { | |
482 tty->print_cr("installCode0: ExternalCompilationResult"); | |
483 } | |
484 HotSpotInstalledCode::set_codeStart(installed_code_handle, ExternalCompilationResult::entryPoint(comp_result)); | |
485 } else if (installed_code_handle->is_a(HotSpotInstalledCode::klass())) { | |
486 HotSpotInstalledCode::set_size(installed_code_handle, cb->size()); | 480 HotSpotInstalledCode::set_size(installed_code_handle, cb->size()); |
487 HotSpotInstalledCode::set_codeStart(installed_code_handle, (jlong) cb->code_begin()); | 481 HotSpotInstalledCode::set_codeStart(installed_code_handle, (jlong) cb->code_begin()); |
488 HotSpotInstalledCode::set_codeSize(installed_code_handle, cb->code_size()); | 482 HotSpotInstalledCode::set_codeSize(installed_code_handle, cb->code_size()); |
489 } | 483 } |
490 nmethod* nm = cb->as_nmethod_or_null(); | 484 nmethod* nm = cb->as_nmethod_or_null(); |
713 C2V_VMENTRY(jlongArray, collectCounters, (JNIEnv*, jobject)) | 707 C2V_VMENTRY(jlongArray, collectCounters, (JNIEnv*, jobject)) |
714 typeArrayOop arrayOop = oopFactory::new_longArray(GraalCounterSize, CHECK_NULL); | 708 typeArrayOop arrayOop = oopFactory::new_longArray(GraalCounterSize, CHECK_NULL); |
715 JavaThread::collect_counters(arrayOop); | 709 JavaThread::collect_counters(arrayOop); |
716 return (jlongArray) JNIHandles::make_local(arrayOop); | 710 return (jlongArray) JNIHandles::make_local(arrayOop); |
717 C2V_END | 711 C2V_END |
718 | |
719 // In general we should avoid using regular JNI methods to interact with the JVM but this | |
720 // particular case is just about registering JNI methods so it should be a regular native | |
721 // method. | |
722 JNIEXPORT jobject JNICALL c2v_getGPUs (JNIEnv* env, jobject) { | |
723 TRACE_graal_3("CompilerToVM::getGPUs" ); | |
724 #if defined(TARGET_OS_FAMILY_bsd) || defined(TARGET_OS_FAMILY_linux) || defined(TARGET_OS_FAMILY_windows) | |
725 return Gpu::probe_gpus(env); | |
726 #else | |
727 return env->NewStringUTF(""); | |
728 #endif | |
729 } | |
730 | 712 |
731 C2V_VMENTRY(int, allocateCompileId, (JNIEnv*, jobject, jlong metaspace_method, int entry_bci)) | 713 C2V_VMENTRY(int, allocateCompileId, (JNIEnv*, jobject, jlong metaspace_method, int entry_bci)) |
732 HandleMark hm; | 714 HandleMark hm; |
733 ResourceMark rm; | 715 ResourceMark rm; |
734 Method* method = (Method*) metaspace_method; | 716 Method* method = (Method*) metaspace_method; |
1089 {CC"invalidateInstalledCode", CC"("INSTALLED_CODE")V", FN_PTR(invalidateInstalledCode)}, | 1071 {CC"invalidateInstalledCode", CC"("INSTALLED_CODE")V", FN_PTR(invalidateInstalledCode)}, |
1090 {CC"getJavaMirror", CC"("METASPACE_KLASS")"CLASS, FN_PTR(getJavaMirror)}, | 1072 {CC"getJavaMirror", CC"("METASPACE_KLASS")"CLASS, FN_PTR(getJavaMirror)}, |
1091 {CC"readUnsafeKlassPointer", CC"("OBJECT")J", FN_PTR(readUnsafeKlassPointer)}, | 1073 {CC"readUnsafeKlassPointer", CC"("OBJECT")J", FN_PTR(readUnsafeKlassPointer)}, |
1092 {CC"readUnsafeOop", CC"("OBJECT"JZ)"OBJECT, FN_PTR(readUnsafeOop)}, | 1074 {CC"readUnsafeOop", CC"("OBJECT"JZ)"OBJECT, FN_PTR(readUnsafeOop)}, |
1093 {CC"collectCounters", CC"()[J", FN_PTR(collectCounters)}, | 1075 {CC"collectCounters", CC"()[J", FN_PTR(collectCounters)}, |
1094 {CC"getGPUs", CC"()"STRING, FN_PTR(getGPUs)}, | |
1095 {CC"allocateCompileId", CC"("METASPACE_METHOD"I)I", FN_PTR(allocateCompileId)}, | 1076 {CC"allocateCompileId", CC"("METASPACE_METHOD"I)I", FN_PTR(allocateCompileId)}, |
1096 {CC"isMature", CC"("METASPACE_METHOD_DATA")Z", FN_PTR(isMature)}, | 1077 {CC"isMature", CC"("METASPACE_METHOD_DATA")Z", FN_PTR(isMature)}, |
1097 {CC"hasCompiledCodeForOSR", CC"("METASPACE_METHOD"II)Z", FN_PTR(hasCompiledCodeForOSR)}, | 1078 {CC"hasCompiledCodeForOSR", CC"("METASPACE_METHOD"II)Z", FN_PTR(hasCompiledCodeForOSR)}, |
1098 {CC"getSymbol", CC"(J)"STRING, FN_PTR(getSymbol)}, | 1079 {CC"getSymbol", CC"(J)"STRING, FN_PTR(getSymbol)}, |
1099 {CC"getTimeStamp", CC"()J", FN_PTR(getTimeStamp)}, | 1080 {CC"getTimeStamp", CC"()J", FN_PTR(getTimeStamp)}, |