Mercurial > hg > truffle
comparison src/share/vm/runtime/vmThread.cpp @ 1260:8859772195c6
6782663: Data produced by PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime is not accurate.
Summary: Update and display the timers associated with these flags for all safepoints.
Reviewed-by: ysr, jcoomes
author | johnc |
---|---|
date | Tue, 09 Feb 2010 13:56:09 -0800 |
parents | 547f81740344 |
children | e392695de029 |
comparison
equal
deleted
inserted
replaced
1259:9eee977dd1a9 | 1260:8859772195c6 |
---|---|
1 /* | 1 /* |
2 * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. | 2 * Copyright 1998-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
423 os::hint_no_preempt(); | 423 os::hint_no_preempt(); |
424 | 424 |
425 // If we are at a safepoint we will evaluate all the operations that | 425 // If we are at a safepoint we will evaluate all the operations that |
426 // follow that also require a safepoint | 426 // follow that also require a safepoint |
427 if (_cur_vm_operation->evaluate_at_safepoint()) { | 427 if (_cur_vm_operation->evaluate_at_safepoint()) { |
428 | |
429 if (PrintGCApplicationConcurrentTime) { | |
430 gclog_or_tty->print_cr("Application time: %3.7f seconds", | |
431 RuntimeService::last_application_time_sec()); | |
432 } | |
433 | 428 |
434 _vm_queue->set_drain_list(safepoint_ops); // ensure ops can be scanned | 429 _vm_queue->set_drain_list(safepoint_ops); // ensure ops can be scanned |
435 | 430 |
436 SafepointSynchronize::begin(); | 431 SafepointSynchronize::begin(); |
437 evaluate_operation(_cur_vm_operation); | 432 evaluate_operation(_cur_vm_operation); |
475 _vm_queue->set_drain_list(NULL); | 470 _vm_queue->set_drain_list(NULL); |
476 | 471 |
477 // Complete safepoint synchronization | 472 // Complete safepoint synchronization |
478 SafepointSynchronize::end(); | 473 SafepointSynchronize::end(); |
479 | 474 |
480 if (PrintGCApplicationStoppedTime) { | |
481 gclog_or_tty->print_cr("Total time for which application threads " | |
482 "were stopped: %3.7f seconds", | |
483 RuntimeService::last_safepoint_time_sec()); | |
484 } | |
485 | |
486 } else { // not a safepoint operation | 475 } else { // not a safepoint operation |
487 if (TraceLongCompiles) { | 476 if (TraceLongCompiles) { |
488 elapsedTimer t; | 477 elapsedTimer t; |
489 t.start(); | 478 t.start(); |
490 evaluate_operation(_cur_vm_operation); | 479 evaluate_operation(_cur_vm_operation); |