comparison src/share/vm/services/management.hpp @ 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 2e0ef19fc891
children fb19af007ffc
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
40 static PerfVariable* _vm_init_done_time; 40 static PerfVariable* _vm_init_done_time;
41 static jmmOptionalSupport _optional_support; 41 static jmmOptionalSupport _optional_support;
42 static TimeStamp _stamp; // Timestamp since vm init done time 42 static TimeStamp _stamp; // Timestamp since vm init done time
43 43
44 // Management klasses 44 // Management klasses
45 static klassOop _sensor_klass; 45 static Klass* _sensor_klass;
46 static klassOop _threadInfo_klass; 46 static Klass* _threadInfo_klass;
47 static klassOop _memoryUsage_klass; 47 static Klass* _memoryUsage_klass;
48 static klassOop _memoryPoolMXBean_klass; 48 static Klass* _memoryPoolMXBean_klass;
49 static klassOop _memoryManagerMXBean_klass; 49 static Klass* _memoryManagerMXBean_klass;
50 static klassOop _garbageCollectorMXBean_klass; 50 static Klass* _garbageCollectorMXBean_klass;
51 static klassOop _managementFactory_klass; 51 static Klass* _managementFactory_klass;
52 static klassOop _garbageCollectorImpl_klass; 52 static Klass* _garbageCollectorImpl_klass;
53 static klassOop _gcInfo_klass; 53 static Klass* _gcInfo_klass;
54 54
55 static klassOop load_and_initialize_klass(Symbol* sh, TRAPS); 55 static Klass* load_and_initialize_klass(Symbol* sh, TRAPS);
56 56
57 public: 57 public:
58 static void init(); 58 static void init();
59 static void initialize(TRAPS); 59 static void initialize(TRAPS);
60 60
81 } 81 }
82 static jlong vm_init_done_time() { 82 static jlong vm_init_done_time() {
83 return _vm_init_done_time->get_value(); 83 return _vm_init_done_time->get_value();
84 } 84 }
85 85
86 // methods to return a klassOop. 86 // methods to return a Klass*.
87 static klassOop java_lang_management_ThreadInfo_klass(TRAPS); 87 static Klass* java_lang_management_ThreadInfo_klass(TRAPS);
88 static klassOop java_lang_management_MemoryUsage_klass(TRAPS); 88 static Klass* java_lang_management_MemoryUsage_klass(TRAPS);
89 static klassOop java_lang_management_MemoryPoolMXBean_klass(TRAPS); 89 static Klass* java_lang_management_MemoryPoolMXBean_klass(TRAPS);
90 static klassOop java_lang_management_MemoryManagerMXBean_klass(TRAPS); 90 static Klass* java_lang_management_MemoryManagerMXBean_klass(TRAPS);
91 static klassOop java_lang_management_GarbageCollectorMXBean_klass(TRAPS); 91 static Klass* java_lang_management_GarbageCollectorMXBean_klass(TRAPS);
92 static klassOop sun_management_Sensor_klass(TRAPS); 92 static Klass* sun_management_Sensor_klass(TRAPS);
93 static klassOop sun_management_ManagementFactory_klass(TRAPS); 93 static Klass* sun_management_ManagementFactory_klass(TRAPS);
94 static klassOop sun_management_GarbageCollectorImpl_klass(TRAPS); 94 static Klass* sun_management_GarbageCollectorImpl_klass(TRAPS);
95 static klassOop com_sun_management_GcInfo_klass(TRAPS); 95 static Klass* com_sun_management_GcInfo_klass(TRAPS);
96 96
97 static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, TRAPS); 97 static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, TRAPS);
98 static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, objArrayHandle monitors_array, typeArrayHandle depths_array, objArrayHandle synchronizers_array, TRAPS); 98 static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, objArrayHandle monitors_array, typeArrayHandle depths_array, objArrayHandle synchronizers_array, TRAPS);
99 }; 99 };
100 100