comparison src/share/vm/memory/metaspace.hpp @ 17768:daef39043d2c

8036698: Add trace event for updates to metaspace gc threshold Reviewed-by: stefank, mgerdin
author ehelin
date Fri, 21 Mar 2014 10:17:47 +0100
parents 40353abd7984
children bc7714614ad8
comparison
equal deleted inserted replaced
17767:537c8e21b118 17768:daef39043d2c
58 58
59 class ChunkManager; 59 class ChunkManager;
60 class ClassLoaderData; 60 class ClassLoaderData;
61 class Metablock; 61 class Metablock;
62 class Metachunk; 62 class Metachunk;
63 class MetaspaceTracer;
63 class MetaWord; 64 class MetaWord;
64 class Mutex; 65 class Mutex;
65 class outputStream; 66 class outputStream;
66 class SpaceManager; 67 class SpaceManager;
67 class VirtualSpaceList; 68 class VirtualSpaceList;
146 static VirtualSpaceList* _class_space_list; 147 static VirtualSpaceList* _class_space_list;
147 148
148 static ChunkManager* _chunk_manager_metadata; 149 static ChunkManager* _chunk_manager_metadata;
149 static ChunkManager* _chunk_manager_class; 150 static ChunkManager* _chunk_manager_class;
150 151
152 static const MetaspaceTracer* _tracer;
153
151 public: 154 public:
152 static VirtualSpaceList* space_list() { return _space_list; } 155 static VirtualSpaceList* space_list() { return _space_list; }
153 static VirtualSpaceList* class_space_list() { return _class_space_list; } 156 static VirtualSpaceList* class_space_list() { return _class_space_list; }
154 static VirtualSpaceList* get_space_list(MetadataType mdtype) { 157 static VirtualSpaceList* get_space_list(MetadataType mdtype) {
155 assert(mdtype != MetadataTypeCount, "MetadaTypeCount can't be used as mdtype"); 158 assert(mdtype != MetadataTypeCount, "MetadaTypeCount can't be used as mdtype");
160 static ChunkManager* chunk_manager_class() { return _chunk_manager_class; } 163 static ChunkManager* chunk_manager_class() { return _chunk_manager_class; }
161 static ChunkManager* get_chunk_manager(MetadataType mdtype) { 164 static ChunkManager* get_chunk_manager(MetadataType mdtype) {
162 assert(mdtype != MetadataTypeCount, "MetadaTypeCount can't be used as mdtype"); 165 assert(mdtype != MetadataTypeCount, "MetadaTypeCount can't be used as mdtype");
163 return mdtype == ClassType ? chunk_manager_class() : chunk_manager_metadata(); 166 return mdtype == ClassType ? chunk_manager_class() : chunk_manager_metadata();
164 } 167 }
168
169 static const MetaspaceTracer* tracer() { return _tracer; }
165 170
166 private: 171 private:
167 // This is used by DumpSharedSpaces only, where only _vsm is used. So we will 172 // This is used by DumpSharedSpaces only, where only _vsm is used. So we will
168 // maintain a single list for now. 173 // maintain a single list for now.
169 void record_allocation(void* ptr, MetaspaceObj::Type type, size_t word_size); 174 void record_allocation(void* ptr, MetaspaceObj::Type type, size_t word_size);