comparison src/gpu/hsail/vm/gpu_hsail_Frame.hpp @ 16076:06eedda53e14

HSAIL: add support to allocate new TLAB from GPU Contributed-by: Tom Deneau <tom.deneau@amd.com>
author Doug Simon <doug.simon@oracle.com>
date Tue, 10 Jun 2014 22:36:26 +0200
parents 9d456ffc6120
children e9998e2be7f5
comparison
equal deleted inserted replaced
16074:b6ab7e7fa0a5 16076:06eedda53e14
20 * or visit www.oracle.com if you need additional information or have any 20 * or visit www.oracle.com if you need additional information or have any
21 * questions. 21 * questions.
22 * 22 *
23 */ 23 */
24 24
25 #ifndef GPU_HSAIL_FRAME_HPP 25 #ifndef GPU_HSAIL_VM_GPU_HSAIL_FRAME_HPP
26 #define GPU_HSAIL_FRAME_HPP 26 #define GPU_HSAIL_VM_GPU_HSAIL_FRAME_HPP
27 27
28 #include "graal/graalEnv.hpp" 28 #include "graal/graalEnv.hpp"
29 #include "code/debugInfo.hpp" 29 #include "code/debugInfo.hpp"
30 #include "code/location.hpp" 30 #include "code/location.hpp"
31 31
41 // Accessors 41 // Accessors
42 jint pc_offset() { return _pc_offset; } 42 jint pc_offset() { return _pc_offset; }
43 jint num_s_regs() {return _num_s_regs; } 43 jint num_s_regs() {return _num_s_regs; }
44 jint num_d_regs() {return _num_d_regs; } 44 jint num_d_regs() {return _num_d_regs; }
45 jint num_stack_slots() {return _num_stack_slots; } 45 jint num_stack_slots() {return _num_stack_slots; }
46 jbyte * data_start() {return (jbyte *) this + sizeof(*this); } 46 jbyte* data_start() {return (jbyte*) this + sizeof(*this); }
47 jlong get_d_reg(int idx) { 47 jlong get_d_reg(int idx) {
48 int ofst = num_s_regs() * 4 + idx * 8; 48 int ofst = num_s_regs() * 4 + idx * 8;
49 return(*(jlong *) (data_start() + ofst)); 49 return(*(jlong*) (data_start() + ofst));
50 } 50 }
51 jint get_s_reg(int idx) { 51 jint get_s_reg(int idx) {
52 int ofst = idx * 4; 52 int ofst = idx * 4;
53 return(*(jint *) (data_start() + ofst)); 53 return(*(jint*) (data_start() + ofst));
54 } 54 }
55 void put_d_reg(int idx, jlong val) { 55 void put_d_reg(int idx, jlong val) {
56 int ofst = num_s_regs() * 4 + idx * 8; 56 int ofst = num_s_regs() * 4 + idx * 8;
57 (*(jlong *) (data_start() + ofst)) = val; 57 (*(jlong*) (data_start() + ofst)) = val;
58 } 58 }
59 jint get_stackslot32(int stackOffset) { 59 jint get_stackslot32(int stackOffset) {
60 int ofst = num_s_regs() * 4 + num_d_regs() * 8 + stackOffset; 60 int ofst = num_s_regs() * 4 + num_d_regs() * 8 + stackOffset;
61 return(*(jint *) (data_start() + ofst)); 61 return(*(jint*) (data_start() + ofst));
62 } 62 }
63 jlong get_stackslot64(int stackOffset) { 63 jlong get_stackslot64(int stackOffset) {
64 int ofst = num_s_regs() * 4 + num_d_regs() * 8 + stackOffset; 64 int ofst = num_s_regs() * 4 + num_d_regs() * 8 + stackOffset;
65 return(*(jlong *) (data_start() + ofst)); 65 return(*(jlong*) (data_start() + ofst));
66 } 66 }
67 void put_stackslot64(int stackOffset, jlong val) { 67 void put_stackslot64(int stackOffset, jlong val) {
68 int ofst = num_s_regs() * 4 + num_d_regs() * 8 + stackOffset; 68 int ofst = num_s_regs() * 4 + num_d_regs() * 8 + stackOffset;
69 (*(jlong *) (data_start() + ofst)) = val; 69 (*(jlong*) (data_start() + ofst)) = val;
70 } 70 }
71 }; 71 };
72 72
73 #endif // GPU_HSAIL_FRAME_HPP 73 #endif // GPU_HSAIL_VM_GPU_HSAIL_FRAME_HPP