< prev index next >

src/share/vm/runtime/sweeper.cpp

Print this page

        

*** 26,48 **** #include "code/codeCache.hpp" #include "code/compiledIC.hpp" #include "code/icBuffer.hpp" #include "code/nmethod.hpp" #include "compiler/compileBroker.hpp" #include "memory/resourceArea.hpp" #include "oops/method.hpp" #include "runtime/atomic.hpp" #include "runtime/compilationPolicy.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/orderAccess.inline.hpp" #include "runtime/os.hpp" #include "runtime/sweeper.hpp" #include "runtime/thread.inline.hpp" #include "runtime/vm_operations.hpp" - #include "trace/tracing.hpp" #include "utilities/events.hpp" ! #include "utilities/ticks.inline.hpp" #include "utilities/xmlstream.hpp" PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC #ifdef ASSERT --- 26,48 ---- #include "code/codeCache.hpp" #include "code/compiledIC.hpp" #include "code/icBuffer.hpp" #include "code/nmethod.hpp" #include "compiler/compileBroker.hpp" + #include "jfr/jfrEvents.hpp" #include "memory/resourceArea.hpp" #include "oops/method.hpp" #include "runtime/atomic.hpp" #include "runtime/compilationPolicy.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/orderAccess.inline.hpp" #include "runtime/os.hpp" #include "runtime/sweeper.hpp" #include "runtime/thread.inline.hpp" #include "runtime/vm_operations.hpp" #include "utilities/events.hpp" ! #include "utilities/ticks.hpp" #include "utilities/xmlstream.hpp" PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC #ifdef ASSERT
*** 316,325 **** --- 316,343 ---- // Release work, because another compiler thread could continue. OrderAccess::release_store((int*)&_sweep_started, 0); } } + static void post_sweep_event(EventSweepCodeCache* event, + const Ticks& start, + const Ticks& end, + s4 traversals, + int swept, + int flushed, + int zombified) { + assert(event != NULL, "invariant"); + assert(event->should_commit(), "invariant"); + event->set_starttime(start); + event->set_endtime(end); + event->set_sweepId(traversals); + event->set_sweptCount(swept); + event->set_flushedCount(flushed); + event->set_zombifiedCount(zombified); + event->commit(); + } + void NMethodSweeper::sweep_code_cache() { ResourceMark rm; Ticks sweep_start_counter = Ticks::now(); _flushed_count = 0;
*** 392,410 **** _total_flushed_size += freed_memory; _total_nof_methods_reclaimed += _flushed_count; EventSweepCodeCache event(UNTIMED); if (event.should_commit()) { ! event.set_starttime(sweep_start_counter); ! event.set_endtime(sweep_end_counter); ! event.set_sweepIndex(_traversals); ! event.set_sweepFractionIndex(NmethodSweepFraction - _sweep_fractions_left + 1); ! event.set_sweptCount(swept_count); ! event.set_flushedCount(_flushed_count); ! event.set_markedCount(_marked_for_reclamation_count); ! event.set_zombifiedCount(_zombified_count); ! event.commit(); } #ifdef ASSERT if(PrintMethodFlushing) { tty->print_cr("### sweeper: sweep time(%d): " --- 410,420 ---- _total_flushed_size += freed_memory; _total_nof_methods_reclaimed += _flushed_count; EventSweepCodeCache event(UNTIMED); if (event.should_commit()) { ! post_sweep_event(&event, sweep_start_counter, sweep_end_counter, (s4)_traversals, swept_count, _flushed_count, _zombified_count); } #ifdef ASSERT if(PrintMethodFlushing) { tty->print_cr("### sweeper: sweep time(%d): "
< prev index next >