55 strcpy(_name_space, cns);
56
57 const char* cname = PerfDataManager::counter_name(_name_space, "name");
58 PerfDataManager::create_string_constant(SUN_GC, cname, name, CHECK);
59
60 cname = PerfDataManager::counter_name(_name_space, "maxCapacity");
61 PerfDataManager::create_constant(SUN_GC, cname, PerfData::U_Bytes, (jlong)max_size, CHECK);
62
63 cname = PerfDataManager::counter_name(_name_space, "capacity");
64 _capacity = PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, initial_capacity, CHECK);
65
66 cname = PerfDataManager::counter_name(_name_space, "used");
67 _used = PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, (jlong) 0, CHECK);
68
69 cname = PerfDataManager::counter_name(_name_space, "initCapacity");
70 PerfDataManager::create_constant(SUN_GC, cname, PerfData::U_Bytes, initial_capacity, CHECK);
71 }
72 }
73
74 ~EpsilonSpaceCounters() {
75 if (_name_space != NULL) {
76 FREE_C_HEAP_ARRAY(char, _name_space);
77 }
78 }
79
80 inline void update_all(size_t capacity, size_t used) {
81 _capacity->set_value(capacity);
82 _used->set_value(used);
83 }
84 };
85
86 class EpsilonGenerationCounters : public GenerationCounters {
87 private:
88 EpsilonHeap* _heap;
89 public:
90 EpsilonGenerationCounters(EpsilonHeap* heap) :
91 GenerationCounters("Heap", 1, 1, 0, heap->max_capacity(), heap->capacity()),
92 _heap(heap)
93 {};
94
95 virtual void update_all() {
96 _current_size->set_value(_heap->capacity());
97 }
|
55 strcpy(_name_space, cns);
56
57 const char* cname = PerfDataManager::counter_name(_name_space, "name");
58 PerfDataManager::create_string_constant(SUN_GC, cname, name, CHECK);
59
60 cname = PerfDataManager::counter_name(_name_space, "maxCapacity");
61 PerfDataManager::create_constant(SUN_GC, cname, PerfData::U_Bytes, (jlong)max_size, CHECK);
62
63 cname = PerfDataManager::counter_name(_name_space, "capacity");
64 _capacity = PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, initial_capacity, CHECK);
65
66 cname = PerfDataManager::counter_name(_name_space, "used");
67 _used = PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes, (jlong) 0, CHECK);
68
69 cname = PerfDataManager::counter_name(_name_space, "initCapacity");
70 PerfDataManager::create_constant(SUN_GC, cname, PerfData::U_Bytes, initial_capacity, CHECK);
71 }
72 }
73
74 ~EpsilonSpaceCounters() {
75 FREE_C_HEAP_ARRAY(char, _name_space);
76 }
77
78 inline void update_all(size_t capacity, size_t used) {
79 _capacity->set_value(capacity);
80 _used->set_value(used);
81 }
82 };
83
84 class EpsilonGenerationCounters : public GenerationCounters {
85 private:
86 EpsilonHeap* _heap;
87 public:
88 EpsilonGenerationCounters(EpsilonHeap* heap) :
89 GenerationCounters("Heap", 1, 1, 0, heap->max_capacity(), heap->capacity()),
90 _heap(heap)
91 {};
92
93 virtual void update_all() {
94 _current_size->set_value(_heap->capacity());
95 }
|