Mercurial > hg > truffle
comparison src/share/vm/runtime/vmStructs.cpp @ 6885:685df3c6f84b
7045397: NPG: Add freelists to class loader arenas.
Reviewed-by: coleenp, stefank, jprovino, ohair
author | jmasa |
---|---|
date | Tue, 18 Sep 2012 23:35:42 -0700 |
parents | 5876f980ea19 |
children | a3e2f723f2a5 |
comparison
equal
deleted
inserted
replaced
6877:d0e7716b179e | 6885:685df3c6f84b |
---|---|
57 #include "memory/freeBlockDictionary.hpp" | 57 #include "memory/freeBlockDictionary.hpp" |
58 #include "memory/genCollectedHeap.hpp" | 58 #include "memory/genCollectedHeap.hpp" |
59 #include "memory/generation.hpp" | 59 #include "memory/generation.hpp" |
60 #include "memory/generationSpec.hpp" | 60 #include "memory/generationSpec.hpp" |
61 #include "memory/heap.hpp" | 61 #include "memory/heap.hpp" |
62 #include "memory/metablock.hpp" | |
62 #include "memory/space.hpp" | 63 #include "memory/space.hpp" |
63 #include "memory/tenuredGeneration.hpp" | 64 #include "memory/tenuredGeneration.hpp" |
64 #include "memory/universe.hpp" | 65 #include "memory/universe.hpp" |
65 #include "memory/watermark.hpp" | 66 #include "memory/watermark.hpp" |
66 #include "oops/arrayKlass.hpp" | 67 #include "oops/arrayKlass.hpp" |
247 typedef Hashtable<oop, mtSymbol> StringHashtable; | 248 typedef Hashtable<oop, mtSymbol> StringHashtable; |
248 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable; | 249 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable; |
249 typedef Hashtable<Klass*, mtClass> KlassHashtable; | 250 typedef Hashtable<Klass*, mtClass> KlassHashtable; |
250 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry; | 251 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry; |
251 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; | 252 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; |
253 typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary; | |
252 | 254 |
253 //-------------------------------------------------------------------------------- | 255 //-------------------------------------------------------------------------------- |
254 // VM_STRUCTS | 256 // VM_STRUCTS |
255 // | 257 // |
256 // This list enumerates all of the fields the serviceability agent | 258 // This list enumerates all of the fields the serviceability agent |
1235 nonstatic_field(vframeArrayElement, _method, Method*) \ | 1237 nonstatic_field(vframeArrayElement, _method, Method*) \ |
1236 \ | 1238 \ |
1237 nonstatic_field(AccessFlags, _flags, jint) \ | 1239 nonstatic_field(AccessFlags, _flags, jint) \ |
1238 nonstatic_field(elapsedTimer, _counter, jlong) \ | 1240 nonstatic_field(elapsedTimer, _counter, jlong) \ |
1239 nonstatic_field(elapsedTimer, _active, bool) \ | 1241 nonstatic_field(elapsedTimer, _active, bool) \ |
1240 nonstatic_field(InvocationCounter, _counter, unsigned int) | 1242 nonstatic_field(InvocationCounter, _counter, unsigned int) \ |
1243 volatile_nonstatic_field(FreeChunk, _size, size_t) \ | |
1244 nonstatic_field(FreeChunk, _next, FreeChunk*) \ | |
1245 nonstatic_field(FreeChunk, _prev, FreeChunk*) \ | |
1246 nonstatic_field(FreeList<FreeChunk>, _size, size_t) \ | |
1247 nonstatic_field(FreeList<Metablock>, _size, size_t) \ | |
1248 nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \ | |
1249 nonstatic_field(FreeList<Metablock>, _count, ssize_t) \ | |
1250 nonstatic_field(MetablockTreeDictionary, _total_size, size_t) | |
1241 | 1251 |
1242 /* NOTE that we do not use the last_entry() macro here; it is used */ | 1252 /* NOTE that we do not use the last_entry() macro here; it is used */ |
1243 /* in vmStructs_<os>_<cpu>.hpp's VM_STRUCTS_OS_CPU macro (and must */ | 1253 /* in vmStructs_<os>_<cpu>.hpp's VM_STRUCTS_OS_CPU macro (and must */ |
1244 /* be present there) */ | 1254 /* be present there) */ |
1245 | 1255 |
2078 declare_toplevel_type(StubQueue*) \ | 2088 declare_toplevel_type(StubQueue*) \ |
2079 declare_toplevel_type(Thread*) \ | 2089 declare_toplevel_type(Thread*) \ |
2080 declare_toplevel_type(Universe) \ | 2090 declare_toplevel_type(Universe) \ |
2081 declare_toplevel_type(vframeArray) \ | 2091 declare_toplevel_type(vframeArray) \ |
2082 declare_toplevel_type(vframeArrayElement) \ | 2092 declare_toplevel_type(vframeArrayElement) \ |
2083 declare_toplevel_type(Annotations*) | 2093 declare_toplevel_type(Annotations*) \ |
2094 \ | |
2095 /***************/ \ | |
2096 /* Miscellaneous types */ \ | |
2097 /***************/ \ | |
2098 \ | |
2099 /* freelist */ \ | |
2100 declare_toplevel_type(FreeChunk*) \ | |
2101 declare_toplevel_type(Metablock*) \ | |
2102 declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \ | |
2103 declare_toplevel_type(FreeList<FreeChunk>*) \ | |
2104 declare_toplevel_type(FreeList<FreeChunk>) \ | |
2105 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \ | |
2106 declare_toplevel_type(FreeList<Metablock>*) \ | |
2107 declare_toplevel_type(FreeList<Metablock>) \ | |
2108 declare_toplevel_type(MetablockTreeDictionary*) \ | |
2109 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) \ | |
2110 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) | |
2084 | 2111 |
2085 | 2112 |
2086 /* NOTE that we do not use the last_entry() macro here; it is used */ | 2113 /* NOTE that we do not use the last_entry() macro here; it is used */ |
2087 /* in vmStructs_<os>_<cpu>.hpp's VM_TYPES_OS_CPU macro (and must be */ | 2114 /* in vmStructs_<os>_<cpu>.hpp's VM_TYPES_OS_CPU macro (and must be */ |
2088 /* present there) */ | 2115 /* present there) */ |