Mercurial > hg > truffle
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 } |