Mercurial > hg > truffle
comparison src/gpu/hsail/vm/gpu_hsail.cpp @ 18855:82e5b5ccdb0c
fix format string
Contributed-by: Igor Ignatyev <igor.ignatyev@oracle.com>
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 13 Jan 2015 13:04:37 +0100 |
parents | f55f2d400797 |
children |
comparison
equal
deleted
inserted
replaced
18854:b8d3f84740c7 | 18855:82e5b5ccdb0c |
---|---|
145 assert(THREAD->is_Java_thread(), "must be a JavaThread"); | 145 assert(THREAD->is_Java_thread(), "must be a JavaThread"); |
146 | 146 |
147 // We avoid HSAILAllocationInfo logic if kernel does not allocate | 147 // We avoid HSAILAllocationInfo logic if kernel does not allocate |
148 // in which case the num_tlabs passed in will be 0 | 148 // in which case the num_tlabs passed in will be 0 |
149 HSAILAllocationInfo* allocInfo = (num_tlabs == 0 ? NULL : new HSAILAllocationInfo(num_tlabs, dimX, allocBytesPerWorkitem)); | 149 HSAILAllocationInfo* allocInfo = (num_tlabs == 0 ? NULL : new HSAILAllocationInfo(num_tlabs, dimX, allocBytesPerWorkitem)); |
150 | 150 |
151 // Reset the kernel arguments | 151 // Reset the kernel arguments |
152 _okra_clear_args(kernel); | 152 _okra_clear_args(kernel); |
153 | 153 |
154 JavaThread* thread = (JavaThread*)THREAD; | 154 JavaThread* thread = (JavaThread*)THREAD; |
155 HSAILDeoptimizationInfo* e; | 155 HSAILDeoptimizationInfo* e; |
258 int pc_offset = hsailFrame->pc_offset(); | 258 int pc_offset = hsailFrame->pc_offset(); |
259 for (int bit = 0; bit < maxOopBits; bit++) { | 259 for (int bit = 0; bit < maxOopBits; bit++) { |
260 if (oopMapHelper.is_oop(pc_offset, bit)) { | 260 if (oopMapHelper.is_oop(pc_offset, bit)) { |
261 if (bit < hsailFrame->num_d_regs()) { | 261 if (bit < hsailFrame->num_d_regs()) { |
262 // show $d reg oop | 262 // show $d reg oop |
263 tty->print_cr(" oop $d%d = " INTPTR_FORMAT, bit, hsailFrame->get_oop_for_bit(bit)); | 263 tty->print_cr(" oop $d%d = " PTR64_FORMAT, bit, hsailFrame->get_oop_for_bit(bit)); |
264 } else { | 264 } else { |
265 // show stack slot oop | 265 // show stack slot oop |
266 int stackOffset = (bit - hsailFrame->num_d_regs()) * 8; // 8 bytes per stack slot | 266 int stackOffset = (bit - hsailFrame->num_d_regs()) * 8; // 8 bytes per stack slot |
267 tty->print_cr(" oop stk:%d = " INTPTR_FORMAT, stackOffset, hsailFrame->get_oop_for_bit(bit)); | 267 tty->print_cr(" oop stk:%d = " PTR64_FORMAT, stackOffset, hsailFrame->get_oop_for_bit(bit)); |
268 } | 268 } |
269 } | 269 } |
270 } | 270 } |
271 } | 271 } |
272 JavaCalls::call(&result, mh, &javaArgs, THREAD); | 272 JavaCalls::call(&result, mh, &javaArgs, THREAD); |
279 } | 279 } |
280 } | 280 } |
281 } | 281 } |
282 // when we are done with the deopts, we don't need to oops_do anything | 282 // when we are done with the deopts, we don't need to oops_do anything |
283 // in the saved state anymore | 283 // in the saved state anymore |
284 thread->set_gpu_hsail_deopt_info(NULL); | 284 thread->set_gpu_hsail_deopt_info(NULL); |
285 | 285 |
286 // Handle any never_ran workitems if there were any | 286 // Handle any never_ran workitems if there were any |
287 { | 287 { |
288 TraceTime t("handle never-rans ", TraceGPUInteraction); | 288 TraceTime t("handle never-rans ", TraceGPUInteraction); |
289 int count_never_ran = 0; | 289 int count_never_ran = 0; |
343 name[name_len] = 0; | 343 name[name_len] = 0; |
344 | 344 |
345 env->GetByteArrayRegion(code_handle, 0, code_len, (jbyte*) code); | 345 env->GetByteArrayRegion(code_handle, 0, code_len, (jbyte*) code); |
346 env->GetStringUTFRegion(name_handle, 0, name_len, name); | 346 env->GetStringUTFRegion(name_handle, 0, name_len, name); |
347 | 347 |
348 // The kernel entrypoint is always run for the time being | 348 // The kernel entrypoint is always run for the time being |
349 const char* entryPointName = "&run"; | 349 const char* entryPointName = "&run"; |
350 jlong okra_kernel; | 350 jlong okra_kernel; |
351 { | 351 { |
352 TraceTime t("generate kernel ", TraceGPUInteraction); | 352 TraceTime t("generate kernel ", TraceGPUInteraction); |
353 jint okra_status = _okra_create_kernel(_device_context, code, entryPointName, (void**)&okra_kernel); | 353 jint okra_status = _okra_create_kernel(_device_context, code, entryPointName, (void**)&okra_kernel); |
398 okra_lib_handle = ::dlopen(okra_library_name, RTLD_LAZY | RTLD_NOLOAD); | 398 okra_lib_handle = ::dlopen(okra_library_name, RTLD_LAZY | RTLD_NOLOAD); |
399 #endif | 399 #endif |
400 // If Okra library is not already loaded, load it here | 400 // If Okra library is not already loaded, load it here |
401 if (okra_lib_handle == NULL) { | 401 if (okra_lib_handle == NULL) { |
402 okra_lib_handle = os::dll_load(okra_library_name, ebuf, O_BUFLEN); | 402 okra_lib_handle = os::dll_load(okra_library_name, ebuf, O_BUFLEN); |
403 } | 403 } |
404 if (okra_lib_handle == NULL) { | 404 if (okra_lib_handle == NULL) { |
405 // Unable to open Okra library | 405 // Unable to open Okra library |
406 if (TraceGPUInteraction) { | 406 if (TraceGPUInteraction) { |
407 tty->print_cr("[HSAIL] library load failed."); | 407 tty->print_cr("[HSAIL] library load failed."); |
408 } | 408 } |
409 return false; | 409 return false; |
410 } | 410 } |
411 | 411 |
412 guarantee(_okra_get_context == NULL, "cannot repeat GPU initialization"); | 412 guarantee(_okra_get_context == NULL, "cannot repeat GPU initialization"); |
413 | 413 |
414 // At this point we know okra_lib_handle is valid whether we loaded | 414 // At this point we know okra_lib_handle is valid whether we loaded |
415 // here or earlier. In either case, we can lookup the functions. | 415 // here or earlier. In either case, we can lookup the functions. |
416 LOOKUP_OKRA_FUNCTION(okra_get_context, okra_get_context); | 416 LOOKUP_OKRA_FUNCTION(okra_get_context, okra_get_context); |