src/share/vm/services/management.cpp

changeset 2497
3582bf76420e
parent 2423
b1a2afa37ec4
child 2511
bf8517f4e4d0
child 2537
55cc33cf55bc
equal deleted inserted replaced
2496:27e4ea99855d 2497:3582bf76420e
120 HandleMark hm(THREAD); 120 HandleMark hm(THREAD);
121 121
122 // Load and initialize the sun.management.Agent class 122 // Load and initialize the sun.management.Agent class
123 // invoke startAgent method to start the management server 123 // invoke startAgent method to start the management server
124 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader()); 124 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader());
125 klassOop k = SystemDictionary::resolve_or_fail(vmSymbolHandles::sun_management_Agent(), 125 klassOop k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(),
126 loader, 126 loader,
127 Handle(), 127 Handle(),
128 true, 128 true,
129 CHECK); 129 CHECK);
130 instanceKlassHandle ik (THREAD, k); 130 instanceKlassHandle ik (THREAD, k);
131 131
132 JavaValue result(T_VOID); 132 JavaValue result(T_VOID);
133 JavaCalls::call_static(&result, 133 JavaCalls::call_static(&result,
134 ik, 134 ik,
135 vmSymbolHandles::startAgent_name(), 135 vmSymbols::startAgent_name(),
136 vmSymbolHandles::void_method_signature(), 136 vmSymbols::void_method_signature(),
137 CHECK); 137 CHECK);
138 } 138 }
139 } 139 }
140 140
141 void Management::get_optional_support(jmmOptionalSupport* support) { 141 void Management::get_optional_support(jmmOptionalSupport* support) {
142 memcpy(support, &_optional_support, sizeof(jmmOptionalSupport)); 142 memcpy(support, &_optional_support, sizeof(jmmOptionalSupport));
143 } 143 }
144 144
145 klassOop Management::load_and_initialize_klass(symbolHandle sh, TRAPS) { 145 klassOop Management::load_and_initialize_klass(Symbol* sh, TRAPS) {
146 klassOop k = SystemDictionary::resolve_or_fail(sh, true, CHECK_NULL); 146 klassOop k = SystemDictionary::resolve_or_fail(sh, true, CHECK_NULL);
147 instanceKlassHandle ik (THREAD, k); 147 instanceKlassHandle ik (THREAD, k);
148 if (ik->should_be_initialized()) { 148 if (ik->should_be_initialized()) {
149 ik->initialize(CHECK_NULL); 149 ik->initialize(CHECK_NULL);
150 } 150 }
180 f->do_oop((oop*) &_managementFactory_klass); 180 f->do_oop((oop*) &_managementFactory_klass);
181 } 181 }
182 182
183 klassOop Management::java_lang_management_ThreadInfo_klass(TRAPS) { 183 klassOop Management::java_lang_management_ThreadInfo_klass(TRAPS) {
184 if (_threadInfo_klass == NULL) { 184 if (_threadInfo_klass == NULL) {
185 _threadInfo_klass = load_and_initialize_klass(vmSymbolHandles::java_lang_management_ThreadInfo(), CHECK_NULL); 185 _threadInfo_klass = load_and_initialize_klass(vmSymbols::java_lang_management_ThreadInfo(), CHECK_NULL);
186 } 186 }
187 return _threadInfo_klass; 187 return _threadInfo_klass;
188 } 188 }
189 189
190 klassOop Management::java_lang_management_MemoryUsage_klass(TRAPS) { 190 klassOop Management::java_lang_management_MemoryUsage_klass(TRAPS) {
191 if (_memoryUsage_klass == NULL) { 191 if (_memoryUsage_klass == NULL) {
192 _memoryUsage_klass = load_and_initialize_klass(vmSymbolHandles::java_lang_management_MemoryUsage(), CHECK_NULL); 192 _memoryUsage_klass = load_and_initialize_klass(vmSymbols::java_lang_management_MemoryUsage(), CHECK_NULL);
193 } 193 }
194 return _memoryUsage_klass; 194 return _memoryUsage_klass;
195 } 195 }
196 196
197 klassOop Management::java_lang_management_MemoryPoolMXBean_klass(TRAPS) { 197 klassOop Management::java_lang_management_MemoryPoolMXBean_klass(TRAPS) {
198 if (_memoryPoolMXBean_klass == NULL) { 198 if (_memoryPoolMXBean_klass == NULL) {
199 _memoryPoolMXBean_klass = load_and_initialize_klass(vmSymbolHandles::java_lang_management_MemoryPoolMXBean(), CHECK_NULL); 199 _memoryPoolMXBean_klass = load_and_initialize_klass(vmSymbols::java_lang_management_MemoryPoolMXBean(), CHECK_NULL);
200 } 200 }
201 return _memoryPoolMXBean_klass; 201 return _memoryPoolMXBean_klass;
202 } 202 }
203 203
204 klassOop Management::java_lang_management_MemoryManagerMXBean_klass(TRAPS) { 204 klassOop Management::java_lang_management_MemoryManagerMXBean_klass(TRAPS) {
205 if (_memoryManagerMXBean_klass == NULL) { 205 if (_memoryManagerMXBean_klass == NULL) {
206 _memoryManagerMXBean_klass = load_and_initialize_klass(vmSymbolHandles::java_lang_management_MemoryManagerMXBean(), CHECK_NULL); 206 _memoryManagerMXBean_klass = load_and_initialize_klass(vmSymbols::java_lang_management_MemoryManagerMXBean(), CHECK_NULL);
207 } 207 }
208 return _memoryManagerMXBean_klass; 208 return _memoryManagerMXBean_klass;
209 } 209 }
210 210
211 klassOop Management::java_lang_management_GarbageCollectorMXBean_klass(TRAPS) { 211 klassOop Management::java_lang_management_GarbageCollectorMXBean_klass(TRAPS) {
212 if (_garbageCollectorMXBean_klass == NULL) { 212 if (_garbageCollectorMXBean_klass == NULL) {
213 _garbageCollectorMXBean_klass = load_and_initialize_klass(vmSymbolHandles::java_lang_management_GarbageCollectorMXBean(), CHECK_NULL); 213 _garbageCollectorMXBean_klass = load_and_initialize_klass(vmSymbols::java_lang_management_GarbageCollectorMXBean(), CHECK_NULL);
214 } 214 }
215 return _garbageCollectorMXBean_klass; 215 return _garbageCollectorMXBean_klass;
216 } 216 }
217 217
218 klassOop Management::sun_management_Sensor_klass(TRAPS) { 218 klassOop Management::sun_management_Sensor_klass(TRAPS) {
219 if (_sensor_klass == NULL) { 219 if (_sensor_klass == NULL) {
220 _sensor_klass = load_and_initialize_klass(vmSymbolHandles::sun_management_Sensor(), CHECK_NULL); 220 _sensor_klass = load_and_initialize_klass(vmSymbols::sun_management_Sensor(), CHECK_NULL);
221 } 221 }
222 return _sensor_klass; 222 return _sensor_klass;
223 } 223 }
224 224
225 klassOop Management::sun_management_ManagementFactory_klass(TRAPS) { 225 klassOop Management::sun_management_ManagementFactory_klass(TRAPS) {
226 if (_managementFactory_klass == NULL) { 226 if (_managementFactory_klass == NULL) {
227 _managementFactory_klass = load_and_initialize_klass(vmSymbolHandles::sun_management_ManagementFactory(), CHECK_NULL); 227 _managementFactory_klass = load_and_initialize_klass(vmSymbols::sun_management_ManagementFactory(), CHECK_NULL);
228 } 228 }
229 return _managementFactory_klass; 229 return _managementFactory_klass;
230 } 230 }
231 231
232 static void initialize_ThreadInfo_constructor_arguments(JavaCallArguments* args, ThreadSnapshot* snapshot, TRAPS) { 232 static void initialize_ThreadInfo_constructor_arguments(JavaCallArguments* args, ThreadSnapshot* snapshot, TRAPS) {
288 initialize_ThreadInfo_constructor_arguments(&args, snapshot, CHECK_NULL); 288 initialize_ThreadInfo_constructor_arguments(&args, snapshot, CHECK_NULL);
289 289
290 // Call ThreadInfo constructor with no locked monitors and synchronizers 290 // Call ThreadInfo constructor with no locked monitors and synchronizers
291 JavaCalls::call_special(&result, 291 JavaCalls::call_special(&result,
292 ik, 292 ik,
293 vmSymbolHandles::object_initializer_name(), 293 vmSymbols::object_initializer_name(),
294 vmSymbolHandles::java_lang_management_ThreadInfo_constructor_signature(), 294 vmSymbols::java_lang_management_ThreadInfo_constructor_signature(),
295 &args, 295 &args,
296 CHECK_NULL); 296 CHECK_NULL);
297 297
298 return (instanceOop) element(); 298 return (instanceOop) element();
299 } 299 }
323 args.push_oop(synchronizers_array); 323 args.push_oop(synchronizers_array);
324 324
325 // Call ThreadInfo constructor with locked monitors and synchronizers 325 // Call ThreadInfo constructor with locked monitors and synchronizers
326 JavaCalls::call_special(&result, 326 JavaCalls::call_special(&result,
327 ik, 327 ik,
328 vmSymbolHandles::object_initializer_name(), 328 vmSymbols::object_initializer_name(),
329 vmSymbolHandles::java_lang_management_ThreadInfo_with_locks_constructor_signature(), 329 vmSymbols::java_lang_management_ThreadInfo_with_locks_constructor_signature(),
330 &args, 330 &args,
331 CHECK_NULL); 331 CHECK_NULL);
332 332
333 return (instanceOop) element(); 333 return (instanceOop) element();
334 } 334 }

mercurial