src/share/vm/runtime/sweeper.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/sweeper.hpp	Wed Nov  5 19:24:02 2014
--- new/src/share/vm/runtime/sweeper.hpp	Wed Nov  5 19:24:02 2014

*** 23,32 **** --- 23,34 ---- */ #ifndef SHARE_VM_RUNTIME_SWEEPER_HPP #define SHARE_VM_RUNTIME_SWEEPER_HPP + class WhiteBox; + #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
*** 50,59 **** --- 52,63 ---- // cleared. After that, the nmethod can be evicted from the code cache. Each nmethod's // state change happens during separate sweeps. It may take at least 3 sweeps before an // nmethod's space is freed. class NMethodSweeper : public AllStatic { + friend class WhiteBox; + private: static long _traversals; // Stack scan count, also sweep ID. static long _total_nof_code_cache_sweeps; // Total number of full sweeps of the code cache static long _time_counter; // Virtual time used to periodically invoke sweeper static long _last_sweep; // Value of _time_counter when the last sweep happened static NMethodIterator _current; // Current nmethod
*** 86,96 **** --- 90,99 ---- static bool wait_for_stack_scanning(); static void sweep_code_cache(); static void handle_safepoint_request(); static void do_stack_scanning(); static void possibly_sweep(); 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; }

src/share/vm/runtime/sweeper.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File