comparison src/share/vm/services/management.cpp @ 1142:4ce7240d622c

6914300: ciEnv should export all well known classes Reviewed-by: kvn, twisti
author never
date Wed, 06 Jan 2010 14:22:39 -0800
parents ba7ea42fc66e
children 4f7af0dc447b
comparison
equal deleted inserted replaced
1140:1f6d42899c3a 1142:4ce7240d622c
489 char** vm_flags = Arguments::jvm_flags_array(); 489 char** vm_flags = Arguments::jvm_flags_array();
490 char** vm_args = Arguments::jvm_args_array(); 490 char** vm_args = Arguments::jvm_args_array();
491 int num_flags = Arguments::num_jvm_flags(); 491 int num_flags = Arguments::num_jvm_flags();
492 int num_args = Arguments::num_jvm_args(); 492 int num_args = Arguments::num_jvm_args();
493 493
494 instanceKlassHandle ik (THREAD, SystemDictionary::string_klass()); 494 instanceKlassHandle ik (THREAD, SystemDictionary::String_klass());
495 objArrayOop r = oopFactory::new_objArray(ik(), num_args + num_flags, CHECK_NULL); 495 objArrayOop r = oopFactory::new_objArray(ik(), num_args + num_flags, CHECK_NULL);
496 objArrayHandle result_h(THREAD, r); 496 objArrayHandle result_h(THREAD, r);
497 497
498 int index = 0; 498 int index = 0;
499 for (int j = 0; j < num_flags; j++, index++) { 499 for (int j = 0; j < num_flags; j++, index++) {
1319 ResourceMark rm(THREAD); 1319 ResourceMark rm(THREAD);
1320 1320
1321 LoadedClassesEnumerator lce(THREAD); // Pass current Thread as parameter 1321 LoadedClassesEnumerator lce(THREAD); // Pass current Thread as parameter
1322 1322
1323 int num_classes = lce.num_loaded_classes(); 1323 int num_classes = lce.num_loaded_classes();
1324 objArrayOop r = oopFactory::new_objArray(SystemDictionary::class_klass(), num_classes, CHECK_0); 1324 objArrayOop r = oopFactory::new_objArray(SystemDictionary::Class_klass(), num_classes, CHECK_0);
1325 objArrayHandle classes_ah(THREAD, r); 1325 objArrayHandle classes_ah(THREAD, r);
1326 1326
1327 for (int i = 0; i < num_classes; i++) { 1327 for (int i = 0; i < num_classes; i++) {
1328 KlassHandle kh = lce.get_klass(i); 1328 KlassHandle kh = lce.get_klass(i);
1329 oop mirror = Klass::cast(kh())->java_mirror(); 1329 oop mirror = Klass::cast(kh())->java_mirror();
1479 // Returns a String array of all VM global flag names 1479 // Returns a String array of all VM global flag names
1480 JVM_ENTRY(jobjectArray, jmm_GetVMGlobalNames(JNIEnv *env)) 1480 JVM_ENTRY(jobjectArray, jmm_GetVMGlobalNames(JNIEnv *env))
1481 // last flag entry is always NULL, so subtract 1 1481 // last flag entry is always NULL, so subtract 1
1482 int nFlags = (int) Flag::numFlags - 1; 1482 int nFlags = (int) Flag::numFlags - 1;
1483 // allocate a temp array 1483 // allocate a temp array
1484 objArrayOop r = oopFactory::new_objArray(SystemDictionary::string_klass(), 1484 objArrayOop r = oopFactory::new_objArray(SystemDictionary::String_klass(),
1485 nFlags, CHECK_0); 1485 nFlags, CHECK_0);
1486 objArrayHandle flags_ah(THREAD, r); 1486 objArrayHandle flags_ah(THREAD, r);
1487 int num_entries = 0; 1487 int num_entries = 0;
1488 for (int i = 0; i < nFlags; i++) { 1488 for (int i = 0; i < nFlags; i++) {
1489 Flag* flag = &Flag::flags[i]; 1489 Flag* flag = &Flag::flags[i];
1495 } 1495 }
1496 } 1496 }
1497 1497
1498 if (num_entries < nFlags) { 1498 if (num_entries < nFlags) {
1499 // Return array of right length 1499 // Return array of right length
1500 objArrayOop res = oopFactory::new_objArray(SystemDictionary::string_klass(), num_entries, CHECK_0); 1500 objArrayOop res = oopFactory::new_objArray(SystemDictionary::String_klass(), num_entries, CHECK_0);
1501 for(int i = 0; i < num_entries; i++) { 1501 for(int i = 0; i < num_entries; i++) {
1502 res->obj_at_put(i, flags_ah->obj_at(i)); 1502 res->obj_at_put(i, flags_ah->obj_at(i));
1503 } 1503 }
1504 return (jobjectArray)JNIHandles::make_local(env, res); 1504 return (jobjectArray)JNIHandles::make_local(env, res);
1505 } 1505 }
1591 // return the requested globals 1591 // return the requested globals
1592 objArrayOop ta = objArrayOop(JNIHandles::resolve_non_null(names)); 1592 objArrayOop ta = objArrayOop(JNIHandles::resolve_non_null(names));
1593 objArrayHandle names_ah(THREAD, ta); 1593 objArrayHandle names_ah(THREAD, ta);
1594 // Make sure we have a String array 1594 // Make sure we have a String array
1595 klassOop element_klass = objArrayKlass::cast(names_ah->klass())->element_klass(); 1595 klassOop element_klass = objArrayKlass::cast(names_ah->klass())->element_klass();
1596 if (element_klass != SystemDictionary::string_klass()) { 1596 if (element_klass != SystemDictionary::String_klass()) {
1597 THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), 1597 THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
1598 "Array element type is not String class", 0); 1598 "Array element type is not String class", 0);
1599 } 1599 }
1600 1600
1601 int names_length = names_ah->length(); 1601 int names_length = names_ah->length();
1745 objArrayOop na = objArrayOop(JNIHandles::resolve_non_null(names)); 1745 objArrayOop na = objArrayOop(JNIHandles::resolve_non_null(names));
1746 objArrayHandle names_ah(THREAD, na); 1746 objArrayHandle names_ah(THREAD, na);
1747 1747
1748 // Make sure we have a String array 1748 // Make sure we have a String array
1749 klassOop element_klass = objArrayKlass::cast(names_ah->klass())->element_klass(); 1749 klassOop element_klass = objArrayKlass::cast(names_ah->klass())->element_klass();
1750 if (element_klass != SystemDictionary::string_klass()) { 1750 if (element_klass != SystemDictionary::String_klass()) {
1751 THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), 1751 THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
1752 "Array element type is not String class", 0); 1752 "Array element type is not String class", 0);
1753 } 1753 }
1754 1754
1755 typeArrayOop ta = typeArrayOop(JNIHandles::resolve_non_null(times)); 1755 typeArrayOop ta = typeArrayOop(JNIHandles::resolve_non_null(times));
1780 DeadlockCycle* cycle; 1780 DeadlockCycle* cycle;
1781 for (cycle = deadlocks; cycle != NULL; cycle = cycle->next()) { 1781 for (cycle = deadlocks; cycle != NULL; cycle = cycle->next()) {
1782 num_threads += cycle->num_threads(); 1782 num_threads += cycle->num_threads();
1783 } 1783 }
1784 1784
1785 objArrayOop r = oopFactory::new_objArray(SystemDictionary::thread_klass(), num_threads, CHECK_NH); 1785 objArrayOop r = oopFactory::new_objArray(SystemDictionary::Thread_klass(), num_threads, CHECK_NH);
1786 objArrayHandle threads_ah(THREAD, r); 1786 objArrayHandle threads_ah(THREAD, r);
1787 1787
1788 int index = 0; 1788 int index = 0;
1789 for (cycle = deadlocks; cycle != NULL; cycle = cycle->next()) { 1789 for (cycle = deadlocks; cycle != NULL; cycle = cycle->next()) {
1790 GrowableArray<JavaThread*>* deadlock_threads = cycle->threads(); 1790 GrowableArray<JavaThread*>* deadlock_threads = cycle->threads();