275 bool is_osr_method = osr_bci() != InvocationEntryBci;
276 print_impl(st, method(), compile_id(), comp_level(), is_osr_method, osr_bci(), is_blocking(), msg, short_form, cr);
277 }
278
279 // ------------------------------------------------------------------
280 // CompileTask::log_task
281 void CompileTask::log_task(xmlStream* log) {
282 Thread* thread = Thread::current();
283 methodHandle method(thread, this->method());
284 ResourceMark rm(thread);
285
286 // <task id='9' method='M' osr_bci='X' level='1' blocking='1' stamp='1.234'>
287 log->print(" compile_id='%d'", _compile_id);
288 if (_osr_bci != CompileBroker::standard_entry_bci) {
289 log->print(" compile_kind='osr'"); // same as nmethod::compile_kind
290 } // else compile_kind='c2c'
291 if (!method.is_null()) log->method(method);
292 if (_osr_bci != CompileBroker::standard_entry_bci) {
293 log->print(" osr_bci='%d'", _osr_bci);
294 }
295 // Always print the level in tiered.
296 if (_comp_level != CompLevel_highest_tier || TieredCompilation) {
297 log->print(" level='%d'", _comp_level);
298 }
299 if (_is_blocking) {
300 log->print(" blocking='1'");
301 }
302 log->stamp();
303 }
304
305 // ------------------------------------------------------------------
306 // CompileTask::log_task_queued
307 void CompileTask::log_task_queued() {
308 Thread* thread = Thread::current();
309 ttyLocker ttyl;
310 ResourceMark rm(thread);
311
312 xtty->begin_elem("task_queued");
313 log_task(xtty);
314 assert(_compile_reason > CompileTask::Reason_None && _compile_reason < CompileTask::Reason_Count, "Valid values");
315 xtty->print(" comment='%s'", reason_name(_compile_reason));
316
317 if (_hot_method != NULL) {
318 methodHandle hot(thread, _hot_method);
319 methodHandle method(thread, _method);
320 if (hot() != method()) {
321 xtty->method(hot);
322 }
323 }
324 if (_hot_count != 0) {
325 xtty->print(" hot_count='%d'", _hot_count);
326 }
327 xtty->end_elem();
328 }
329
330
331 // ------------------------------------------------------------------
332 // CompileTask::log_task_dequeued
333 void CompileTask::log_task_dequeued(const char* comment) {
334 if (LogCompilation && xtty != NULL) {
335 Thread* thread = Thread::current();
336 ttyLocker ttyl;
337 ResourceMark rm(thread);
338
339 xtty->begin_elem("task_dequeued");
340 log_task(xtty);
341 if (comment != NULL) {
342 xtty->print(" comment='%s'", comment);
343 }
344 xtty->end_elem();
345 }
346 }
347
348
349 // ------------------------------------------------------------------
350 // CompileTask::log_task_start
351 void CompileTask::log_task_start(CompileLog* log) {
352 log->begin_head("task");
353 log_task(log);
354 log->end_head();
355 }
356
357
358 // ------------------------------------------------------------------
359 // CompileTask::log_task_done
360 void CompileTask::log_task_done(CompileLog* log) {
361 Thread* thread = Thread::current();
362 methodHandle method(thread, this->method());
363 ResourceMark rm(thread);
364
365 if (!_is_success) {
366 const char* reason = _failure_reason != NULL ? _failure_reason : "unknown";
367 log->elem("failure reason='%s'", reason);
368 }
369
|
275 bool is_osr_method = osr_bci() != InvocationEntryBci;
276 print_impl(st, method(), compile_id(), comp_level(), is_osr_method, osr_bci(), is_blocking(), msg, short_form, cr);
277 }
278
279 // ------------------------------------------------------------------
280 // CompileTask::log_task
281 void CompileTask::log_task(xmlStream* log) {
282 Thread* thread = Thread::current();
283 methodHandle method(thread, this->method());
284 ResourceMark rm(thread);
285
286 // <task id='9' method='M' osr_bci='X' level='1' blocking='1' stamp='1.234'>
287 log->print(" compile_id='%d'", _compile_id);
288 if (_osr_bci != CompileBroker::standard_entry_bci) {
289 log->print(" compile_kind='osr'"); // same as nmethod::compile_kind
290 } // else compile_kind='c2c'
291 if (!method.is_null()) log->method(method);
292 if (_osr_bci != CompileBroker::standard_entry_bci) {
293 log->print(" osr_bci='%d'", _osr_bci);
294 }
295 if (_comp_level != CompLevel_highest_tier) {
296 log->print(" level='%d'", _comp_level);
297 }
298 if (_is_blocking) {
299 log->print(" blocking='1'");
300 }
301 log->stamp();
302 }
303
304 // ------------------------------------------------------------------
305 // CompileTask::log_task_queued
306 void CompileTask::log_task_queued() {
307 Thread* thread = Thread::current();
308 ttyLocker ttyl;
309 ResourceMark rm(thread);
310
311 xtty->begin_elem("task_queued");
312 log_task(xtty);
313 assert(_compile_reason > CompileTask::Reason_None && _compile_reason < CompileTask::Reason_Count, "Valid values");
314 xtty->print(" comment='%s'", reason_name(_compile_reason));
315
316 if (_hot_method != NULL) {
317 methodHandle hot(thread, _hot_method);
318 methodHandle method(thread, _method);
319 if (hot() != method()) {
320 xtty->method(hot);
321 }
322 }
323 if (_hot_count != 0) {
324 xtty->print(" hot_count='%d'", _hot_count);
325 }
326 xtty->end_elem();
327 }
328
329
330 // ------------------------------------------------------------------
331 // CompileTask::log_task_start
332 void CompileTask::log_task_start(CompileLog* log) {
333 log->begin_head("task");
334 log_task(log);
335 log->end_head();
336 }
337
338
339 // ------------------------------------------------------------------
340 // CompileTask::log_task_done
341 void CompileTask::log_task_done(CompileLog* log) {
342 Thread* thread = Thread::current();
343 methodHandle method(thread, this->method());
344 ResourceMark rm(thread);
345
346 if (!_is_success) {
347 const char* reason = _failure_reason != NULL ? _failure_reason : "unknown";
348 log->elem("failure reason='%s'", reason);
349 }
350
|