Mercurial > hg > truffle
diff src/gpu/ptx/vm/gpu_ptx.cpp @ 11919:43bf803203c0
Merge.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 07 Oct 2013 11:36:49 +0200 |
parents | 67a1e27a8dbb |
children | f020e149c1b6 |
line wrap: on
line diff
--- a/src/gpu/ptx/vm/gpu_ptx.cpp Sun Oct 06 23:45:02 2013 +0200 +++ b/src/gpu/ptx/vm/gpu_ptx.cpp Mon Oct 07 11:36:49 2013 +0200 @@ -393,6 +393,17 @@ ret.set_jint(return_val); } break; + case T_BOOLEAN: + { + int return_val; + status = gpu::Ptx::_cuda_cu_memcpy_dtoh(&return_val, ptxka._return_value_ptr, T_INT_BYTE_SIZE); + if (status != GRAAL_CUDA_SUCCESS) { + tty->print_cr("[CUDA] *** Error (%d) Failed to copy value to device argument", status); + return false; + } + ret.set_jint(return_val); + } + break; case T_FLOAT: { float return_val; @@ -404,6 +415,17 @@ ret.set_jfloat(return_val); } break; + case T_DOUBLE: + { + double return_val; + status = gpu::Ptx::_cuda_cu_memcpy_dtoh(&return_val, ptxka._return_value_ptr, T_DOUBLE_BYTE_SIZE); + if (status != GRAAL_CUDA_SUCCESS) { + tty->print_cr("[CUDA] *** Error (%d) Failed to copy value to device argument", status); + return false; + } + ret.set_jdouble(return_val); + } + break; case T_LONG: { long return_val;