src/share/vm/runtime/sweeper.hpp
Print this page
rev 5685 : 8028128: Add a type safe alternative for working with counter based data
Reviewed-by:
@@ -23,10 +23,11 @@
*/
#ifndef SHARE_VM_RUNTIME_SWEEPER_HPP
#define SHARE_VM_RUNTIME_SWEEPER_HPP
+#include "utilities/ticks.hpp"
// An NmethodSweeper is an incremental cleaner for:
// - cleanup inline caches
// - reclamation of nmethods
// Removing nmethods from the code cache includes two operations
// 1) mark active nmethods
@@ -69,14 +70,14 @@
// 1) alive -> not_entrant
// 2) not_entrant -> zombie
// 3) zombie -> marked_for_reclamation
// Stat counters
static int _total_nof_methods_reclaimed; // Accumulated nof methods flushed
- static jlong _total_time_sweeping; // Accumulated time sweeping
- static jlong _total_time_this_sweep; // Total time this sweep
- static jlong _peak_sweep_time; // Peak time for a full sweep
- static jlong _peak_sweep_fraction_time; // Peak time sweeping one fraction
+ static Tickspan _total_time_sweeping; // Accumulated time sweeping
+ static Tickspan _total_time_this_sweep; // Total time this sweep
+ static Tickspan _peak_sweep_time; // Peak time for a full sweep
+ static Tickspan _peak_sweep_fraction_time; // Peak time sweeping one fraction
static int process_nmethod(nmethod *nm);
static void release_nmethod(nmethod* nm);
static bool sweep_in_progress();
@@ -85,13 +86,13 @@
static int _hotness_counter_reset_val;
public:
static long traversal_count() { return _traversals; }
static int total_nof_methods_reclaimed() { return _total_nof_methods_reclaimed; }
- static jlong total_time_sweeping() { return _total_time_sweeping; }
- static jlong peak_sweep_time() { return _peak_sweep_time; }
- static jlong peak_sweep_fraction_time() { return _peak_sweep_fraction_time; }
+ static const Tickspan total_time_sweeping() { return _total_time_sweeping; }
+ static const Tickspan peak_sweep_time() { return _peak_sweep_time; }
+ static const Tickspan peak_sweep_fraction_time() { return _peak_sweep_fraction_time; }
static void log_sweep(const char* msg, const char* format = NULL, ...);
#ifdef ASSERT
static bool is_sweeping(nmethod* which) { return _current == which; }