src/hotspot/share/gc/shared/collectorCounters.cpp
changeset 48115 d8ec0640616c
parent 47216 71c04702a3d5
child 48157 7c4d43c26352
equal deleted inserted replaced
48114:e6b643827037 48115:d8ec0640616c
    23  */
    23  */
    24 
    24 
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "gc/shared/collectorCounters.hpp"
    26 #include "gc/shared/collectorCounters.hpp"
    27 #include "memory/resourceArea.hpp"
    27 #include "memory/resourceArea.hpp"
       
    28 #include "runtime/os.hpp"
    28 
    29 
    29 CollectorCounters::CollectorCounters(const char* name, int ordinal) {
    30 CollectorCounters::CollectorCounters(const char* name, int ordinal) {
    30 
    31 
    31   if (UsePerfData) {
    32   if (UsePerfData) {
    32     EXCEPTION_MARK;
    33     EXCEPTION_MARK;
    57     _last_exit_time = PerfDataManager::create_variable(SUN_GC, cname,
    58     _last_exit_time = PerfDataManager::create_variable(SUN_GC, cname,
    58                                                        PerfData::U_Ticks,
    59                                                        PerfData::U_Ticks,
    59                                                        CHECK);
    60                                                        CHECK);
    60   }
    61   }
    61 }
    62 }
       
    63 
       
    64 CollectorCounters::~CollectorCounters() {
       
    65   if (_name_space != NULL) {
       
    66     FREE_C_HEAP_ARRAY(char, _name_space);
       
    67   }
       
    68 }
       
    69 
       
    70 TraceCollectorStats::TraceCollectorStats(CollectorCounters* c) :
       
    71     PerfTraceTimedEvent(c->time_counter(), c->invocation_counter()),
       
    72     _c(c) {
       
    73 
       
    74   if (UsePerfData) {
       
    75      _c->last_entry_counter()->set_value(os::elapsed_counter());
       
    76   }
       
    77 }
       
    78 
       
    79 TraceCollectorStats::~TraceCollectorStats() {
       
    80   if (UsePerfData) {
       
    81     _c->last_exit_counter()->set_value(os::elapsed_counter());
       
    82   }
       
    83 }