comparison src/share/vm/services/diagnosticCommand.cpp @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents 645162d94294
children d8ce2825b193 fb19af007ffc
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
169 } 169 }
170 170
171 void PrintSystemPropertiesDCmd::execute(TRAPS) { 171 void PrintSystemPropertiesDCmd::execute(TRAPS) {
172 // load sun.misc.VMSupport 172 // load sun.misc.VMSupport
173 Symbol* klass = vmSymbols::sun_misc_VMSupport(); 173 Symbol* klass = vmSymbols::sun_misc_VMSupport();
174 klassOop k = SystemDictionary::resolve_or_fail(klass, true, CHECK); 174 Klass* k = SystemDictionary::resolve_or_fail(klass, true, CHECK);
175 instanceKlassHandle ik (THREAD, k); 175 instanceKlassHandle ik (THREAD, k);
176 if (ik->should_be_initialized()) { 176 if (ik->should_be_initialized()) {
177 ik->initialize(THREAD); 177 ik->initialize(THREAD);
178 } 178 }
179 if (HAS_PENDING_EXCEPTION) { 179 if (HAS_PENDING_EXCEPTION) {
241 void SystemGCDCmd::execute(TRAPS) { 241 void SystemGCDCmd::execute(TRAPS) {
242 Universe::heap()->collect(GCCause::_java_lang_system_gc); 242 Universe::heap()->collect(GCCause::_java_lang_system_gc);
243 } 243 }
244 244
245 void RunFinalizationDCmd::execute(TRAPS) { 245 void RunFinalizationDCmd::execute(TRAPS) {
246 klassOop k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_System(), 246 Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_System(),
247 true, CHECK); 247 true, CHECK);
248 instanceKlassHandle klass(THREAD, k); 248 instanceKlassHandle klass(THREAD, k);
249 JavaValue result(T_VOID); 249 JavaValue result(T_VOID);
250 JavaCalls::call_static(&result, klass, 250 JavaCalls::call_static(&result, klass,
251 vmSymbols::run_finalization_name(), 251 vmSymbols::run_finalization_name(),
445 // invoke startRemoteManagementAgent(string) method to start 445 // invoke startRemoteManagementAgent(string) method to start
446 // the remote management server. 446 // the remote management server.
447 // throw java.lang.NoSuchMethodError if the method doesn't exist 447 // throw java.lang.NoSuchMethodError if the method doesn't exist
448 448
449 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader()); 449 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader());
450 klassOop k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(), loader, Handle(), true, CHECK); 450 Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(), loader, Handle(), true, CHECK);
451 instanceKlassHandle ik (THREAD, k); 451 instanceKlassHandle ik (THREAD, k);
452 452
453 JavaValue result(T_VOID); 453 JavaValue result(T_VOID);
454 454
455 // Pass all command line arguments to java as key=value,... 455 // Pass all command line arguments to java as key=value,...
504 // invoke startLocalManagementAgent(void) method to start 504 // invoke startLocalManagementAgent(void) method to start
505 // the local management server 505 // the local management server
506 // throw java.lang.NoSuchMethodError if method doesn't exist 506 // throw java.lang.NoSuchMethodError if method doesn't exist
507 507
508 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader()); 508 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader());
509 klassOop k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(), loader, Handle(), true, CHECK); 509 Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(), loader, Handle(), true, CHECK);
510 instanceKlassHandle ik (THREAD, k); 510 instanceKlassHandle ik (THREAD, k);
511 511
512 JavaValue result(T_VOID); 512 JavaValue result(T_VOID);
513 JavaCalls::call_static(&result, ik, vmSymbols::startLocalAgent_name(), vmSymbols::void_method_signature(), CHECK); 513 JavaCalls::call_static(&result, ik, vmSymbols::startLocalAgent_name(), vmSymbols::void_method_signature(), CHECK);
514 } 514 }
522 // invoke stopRemoteManagementAgent method to stop the 522 // invoke stopRemoteManagementAgent method to stop the
523 // management server 523 // management server
524 // throw java.lang.NoSuchMethodError if method doesn't exist 524 // throw java.lang.NoSuchMethodError if method doesn't exist
525 525
526 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader()); 526 Handle loader = Handle(THREAD, SystemDictionary::java_system_loader());
527 klassOop k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(), loader, Handle(), true, CHECK); 527 Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(), loader, Handle(), true, CHECK);
528 instanceKlassHandle ik (THREAD, k); 528 instanceKlassHandle ik (THREAD, k);
529 529
530 JavaValue result(T_VOID); 530 JavaValue result(T_VOID);
531 JavaCalls::call_static(&result, ik, vmSymbols::stopRemoteAgent_name(), vmSymbols::void_method_signature(), CHECK); 531 JavaCalls::call_static(&result, ik, vmSymbols::stopRemoteAgent_name(), vmSymbols::void_method_signature(), CHECK);
532 } 532 }