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,32 ****
--- 23,33 ----
*/
#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,82 ****
// 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 int process_nmethod(nmethod *nm);
static void release_nmethod(nmethod* nm);
static bool sweep_in_progress();
--- 70,83 ----
// 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 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,97 ****
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 void log_sweep(const char* msg, const char* format = NULL, ...);
#ifdef ASSERT
static bool is_sweeping(nmethod* which) { return _current == which; }
--- 86,98 ----
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 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; }