equal
deleted
inserted
replaced
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 } |