--- old/src/share/vm/runtime/sweeper.cpp 2019-02-15 19:02:44.742577813 +0300 +++ new/src/share/vm/runtime/sweeper.cpp 2019-02-15 19:02:44.602582702 +0300 @@ -28,6 +28,7 @@ #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" @@ -38,9 +39,8 @@ #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/ticks.hpp" #include "utilities/xmlstream.hpp" PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC @@ -318,6 +318,24 @@ } } +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(); @@ -394,15 +412,7 @@ 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(); + post_sweep_event(&event, sweep_start_counter, sweep_end_counter, (s4)_traversals, swept_count, _flushed_count, _zombified_count); } #ifdef ASSERT