298 // CompileTask::print_compilation_impl |
298 // CompileTask::print_compilation_impl |
299 void CompileTask::print_compilation_impl(outputStream* st, methodOop method, int compile_id, int comp_level, bool is_osr_method, int osr_bci, bool is_blocking, const char* msg) { |
299 void CompileTask::print_compilation_impl(outputStream* st, methodOop method, int compile_id, int comp_level, bool is_osr_method, int osr_bci, bool is_blocking, const char* msg) { |
300 st->print("%7d ", (int) st->time_stamp().milliseconds()); // print timestamp |
300 st->print("%7d ", (int) st->time_stamp().milliseconds()); // print timestamp |
301 st->print("%4d ", compile_id); // print compilation number |
301 st->print("%4d ", compile_id); // print compilation number |
302 |
302 |
|
303 // For unloaded methods the transition to zombie occurs after the |
|
304 // method is cleared so it's impossible to report accurate |
|
305 // information for that case. |
|
306 bool is_synchronized = false; |
|
307 bool has_exception_handler = false; |
|
308 bool is_native = false; |
|
309 if (method != NULL) { |
|
310 is_synchronized = method->is_synchronized(); |
|
311 has_exception_handler = method->has_exception_handler(); |
|
312 is_native = method->is_native(); |
|
313 } |
303 // method attributes |
314 // method attributes |
304 const char compile_type = is_osr_method ? '%' : ' '; |
315 const char compile_type = is_osr_method ? '%' : ' '; |
305 const char sync_char = method->is_synchronized() ? 's' : ' '; |
316 const char sync_char = is_synchronized ? 's' : ' '; |
306 const char exception_char = method->has_exception_handler() ? '!' : ' '; |
317 const char exception_char = has_exception_handler ? '!' : ' '; |
307 const char blocking_char = is_blocking ? 'b' : ' '; |
318 const char blocking_char = is_blocking ? 'b' : ' '; |
308 const char native_char = method->is_native() ? 'n' : ' '; |
319 const char native_char = is_native ? 'n' : ' '; |
309 |
320 |
310 // print method attributes |
321 // print method attributes |
311 st->print("%c%c%c%c%c ", compile_type, sync_char, exception_char, blocking_char, native_char); |
322 st->print("%c%c%c%c%c ", compile_type, sync_char, exception_char, blocking_char, native_char); |
312 |
323 |
313 if (TieredCompilation) { |
324 if (TieredCompilation) { |
314 if (comp_level != -1) st->print("%d ", comp_level); |
325 if (comp_level != -1) st->print("%d ", comp_level); |
315 else st->print("- "); |
326 else st->print("- "); |
316 } |
327 } |
317 st->print(" "); // more indent |
328 st->print(" "); // more indent |
318 |
329 |
319 method->print_short_name(st); |
330 if (method == NULL) { |
320 if (is_osr_method) { |
331 st->print("(method)"); |
321 st->print(" @ %d", osr_bci); |
332 } else { |
322 } |
333 method->print_short_name(st); |
323 st->print(" (%d bytes)", method->code_size()); |
334 if (is_osr_method) { |
|
335 st->print(" @ %d", osr_bci); |
|
336 } |
|
337 st->print(" (%d bytes)", method->code_size()); |
|
338 } |
324 |
339 |
325 if (msg != NULL) { |
340 if (msg != NULL) { |
326 st->print(" %s", msg); |
341 st->print(" %s", msg); |
327 } |
342 } |
328 st->cr(); |
343 st->cr(); |