323 324 // ------------------------------------------------------------------ 325 // CompileTask::print_compilation 326 void CompileTask::print(outputStream* st, const char* msg, bool short_form, bool cr) { 327 bool is_osr_method = osr_bci() != InvocationEntryBci; 328 print_impl(st, is_unloaded() ? NULL : method(), compile_id(), comp_level(), is_osr_method, osr_bci(), is_blocking(), msg, short_form, cr, _time_queued, _time_started); 329 } 330 331 // ------------------------------------------------------------------ 332 // CompileTask::log_task 333 void CompileTask::log_task(xmlStream* log) { 334 Thread* thread = Thread::current(); 335 methodHandle method(thread, this->method()); 336 ResourceMark rm(thread); 337 338 // <task id='9' method='M' osr_bci='X' level='1' blocking='1' stamp='1.234'> 339 log->print(" compile_id='%d'", _compile_id); 340 if (_osr_bci != CompileBroker::standard_entry_bci) { 341 log->print(" compile_kind='osr'"); // same as nmethod::compile_kind 342 } // else compile_kind='c2c' 343 if (!method.is_null()) log->method(method); 344 if (_osr_bci != CompileBroker::standard_entry_bci) { 345 log->print(" osr_bci='%d'", _osr_bci); 346 } 347 if (_comp_level != CompLevel_highest_tier) { 348 log->print(" level='%d'", _comp_level); 349 } 350 if (_is_blocking) { 351 log->print(" blocking='1'"); 352 } 353 log->stamp(); 354 } 355 356 // ------------------------------------------------------------------ 357 // CompileTask::log_task_queued 358 void CompileTask::log_task_queued() { 359 Thread* thread = Thread::current(); 360 ttyLocker ttyl; 361 ResourceMark rm(thread); 362 363 xtty->begin_elem("task_queued"); 364 log_task(xtty); 365 assert(_compile_reason > CompileTask::Reason_None && _compile_reason < CompileTask::Reason_Count, "Valid values"); 366 xtty->print(" comment='%s'", reason_name(_compile_reason)); 367 368 if (_hot_method != NULL) { 369 methodHandle hot(thread, _hot_method); 370 methodHandle method(thread, _method); 371 if (hot() != method()) { 372 xtty->method(hot); 373 } 374 } 375 if (_hot_count != 0) { 376 xtty->print(" hot_count='%d'", _hot_count); 377 } 378 xtty->end_elem(); 379 } 380 381 382 // ------------------------------------------------------------------ 383 // CompileTask::log_task_start 384 void CompileTask::log_task_start(CompileLog* log) { 385 log->begin_head("task"); 386 log_task(log); 387 log->end_head(); 388 } 389 390 391 // ------------------------------------------------------------------ 392 // CompileTask::log_task_done 393 void CompileTask::log_task_done(CompileLog* log) { | 323 324 // ------------------------------------------------------------------ 325 // CompileTask::print_compilation 326 void CompileTask::print(outputStream* st, const char* msg, bool short_form, bool cr) { 327 bool is_osr_method = osr_bci() != InvocationEntryBci; 328 print_impl(st, is_unloaded() ? NULL : method(), compile_id(), comp_level(), is_osr_method, osr_bci(), is_blocking(), msg, short_form, cr, _time_queued, _time_started); 329 } 330 331 // ------------------------------------------------------------------ 332 // CompileTask::log_task 333 void CompileTask::log_task(xmlStream* log) { 334 Thread* thread = Thread::current(); 335 methodHandle method(thread, this->method()); 336 ResourceMark rm(thread); 337 338 // <task id='9' method='M' osr_bci='X' level='1' blocking='1' stamp='1.234'> 339 log->print(" compile_id='%d'", _compile_id); 340 if (_osr_bci != CompileBroker::standard_entry_bci) { 341 log->print(" compile_kind='osr'"); // same as nmethod::compile_kind 342 } // else compile_kind='c2c' 343 if (!method.is_null()) log->method(method()); 344 if (_osr_bci != CompileBroker::standard_entry_bci) { 345 log->print(" osr_bci='%d'", _osr_bci); 346 } 347 if (_comp_level != CompLevel_highest_tier) { 348 log->print(" level='%d'", _comp_level); 349 } 350 if (_is_blocking) { 351 log->print(" blocking='1'"); 352 } 353 log->stamp(); 354 } 355 356 // ------------------------------------------------------------------ 357 // CompileTask::log_task_queued 358 void CompileTask::log_task_queued() { 359 ttyLocker ttyl; 360 ResourceMark rm; 361 362 xtty->begin_elem("task_queued"); 363 log_task(xtty); 364 assert(_compile_reason > CompileTask::Reason_None && _compile_reason < CompileTask::Reason_Count, "Valid values"); 365 xtty->print(" comment='%s'", reason_name(_compile_reason)); 366 367 if (_hot_method != NULL && _hot_method != _method) { 368 xtty->method(_hot_method); 369 } 370 if (_hot_count != 0) { 371 xtty->print(" hot_count='%d'", _hot_count); 372 } 373 xtty->end_elem(); 374 } 375 376 377 // ------------------------------------------------------------------ 378 // CompileTask::log_task_start 379 void CompileTask::log_task_start(CompileLog* log) { 380 log->begin_head("task"); 381 log_task(log); 382 log->end_head(); 383 } 384 385 386 // ------------------------------------------------------------------ 387 // CompileTask::log_task_done 388 void CompileTask::log_task_done(CompileLog* log) { |