comparison src/share/vm/runtime/gpu.hpp @ 11485:49bb1bc983c6

Implement several missing PTX codegen features; return value capture and method args passing of java method executed on GPU.
author bharadwaj
date Fri, 30 Aug 2013 16:39:05 -0400
parents 1cd1f8ff70a1
children 4f69a5189e77
comparison
equal deleted inserted replaced
11484:2aac62d79af4 11485:49bb1bc983c6
24 24
25 #ifndef SHARE_VM_RUNTIME_GPU_HPP 25 #ifndef SHARE_VM_RUNTIME_GPU_HPP
26 #define SHARE_VM_RUNTIME_GPU_HPP 26 #define SHARE_VM_RUNTIME_GPU_HPP
27 27
28 #include "runtime/atomic.hpp" 28 #include "runtime/atomic.hpp"
29 #include "oops/symbol.hpp"
30
31 class PTXKernelArguments;
29 32
30 // gpu defines the interface to the graphics processor; this includes traditional 33 // gpu defines the interface to the graphics processor; this includes traditional
31 // GPU services such as graphics kernel load and execute. 34 // GPU services such as graphics kernel load and execute.
32 35
33 36
41 44
42 static void initialize_gpu(); 45 static void initialize_gpu();
43 46
44 static void * generate_kernel(unsigned char *code, int code_len, const char *name); 47 static void * generate_kernel(unsigned char *code, int code_len, const char *name);
45 48
46 static bool execute_kernel(address kernel, JavaCallArguments * jca); 49 static bool execute_kernel(address kernel, PTXKernelArguments & ptxka, JavaValue & ret);
47 50
48 static void set_available(bool value) { 51 static void set_available(bool value) {
49 _available = value; 52 _available = value;
50 } 53 }
51 54
78 #endif 81 #endif
79 #ifdef TARGET_OS_FAMILY_bsd 82 #ifdef TARGET_OS_FAMILY_bsd
80 # include "gpu_bsd.hpp" 83 # include "gpu_bsd.hpp"
81 #endif 84 #endif
82 85
86 public:
83 # include "ptx/vm/gpu_ptx.hpp" 87 # include "ptx/vm/gpu_ptx.hpp"
84 88
85 }; 89 };
86 90
87 91