< prev index next >

src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp

Print this page




 191 
 192 uintptr_t JfrSymbolId::regular_klass_name_hash_code(const Klass* k) {
 193   assert(k != NULL, "invariant");
 194   const Symbol* const sym = k->name();
 195   assert(sym != NULL, "invariant");
 196   return (uintptr_t)const_cast<Symbol*>(sym)->identity_hash();
 197 }
 198 
 199 JfrArtifactSet::JfrArtifactSet(bool class_unload) : _symbol_id(new JfrSymbolId()),
 200                                                     _klass_list(NULL),
 201                                                     _class_unload(class_unload) {
 202   initialize(class_unload);
 203   assert(_klass_list != NULL, "invariant");
 204 }
 205 
 206 static const size_t initial_class_list_size = 200;
 207 void JfrArtifactSet::initialize(bool class_unload) {
 208   assert(_symbol_id != NULL, "invariant");
 209   _symbol_id->initialize();
 210   assert(!_symbol_id->has_entries(), "invariant");
 211   _symbol_id->mark(boot_class_loader_name, 0); // pre-load "boot"
 212   _class_unload = class_unload;
 213   // resource allocation
 214   _klass_list = new GrowableArray<const Klass*>(initial_class_list_size, false, mtTracing);
 215 }
 216 
 217 JfrArtifactSet::~JfrArtifactSet() {
 218   clear();
 219 }
 220 
 221 void JfrArtifactSet::clear() {
 222   _symbol_id->clear();
 223   // _klass_list will be cleared by a ResourceMark
 224 }
 225 
 226 traceid JfrArtifactSet::mark_anonymous_klass_name(const Klass* klass) {
 227   return _symbol_id->mark_anonymous_klass_name(klass);
 228 }
 229 
 230 traceid JfrArtifactSet::mark(const Symbol* sym, uintptr_t hash) {
 231   return _symbol_id->mark(sym, hash);




 191 
 192 uintptr_t JfrSymbolId::regular_klass_name_hash_code(const Klass* k) {
 193   assert(k != NULL, "invariant");
 194   const Symbol* const sym = k->name();
 195   assert(sym != NULL, "invariant");
 196   return (uintptr_t)const_cast<Symbol*>(sym)->identity_hash();
 197 }
 198 
 199 JfrArtifactSet::JfrArtifactSet(bool class_unload) : _symbol_id(new JfrSymbolId()),
 200                                                     _klass_list(NULL),
 201                                                     _class_unload(class_unload) {
 202   initialize(class_unload);
 203   assert(_klass_list != NULL, "invariant");
 204 }
 205 
 206 static const size_t initial_class_list_size = 200;
 207 void JfrArtifactSet::initialize(bool class_unload) {
 208   assert(_symbol_id != NULL, "invariant");
 209   _symbol_id->initialize();
 210   assert(!_symbol_id->has_entries(), "invariant");
 211   _symbol_id->mark(BOOTSTRAP_LOADER_NAME, 0); // pre-load "boot"
 212   _class_unload = class_unload;
 213   // resource allocation
 214   _klass_list = new GrowableArray<const Klass*>(initial_class_list_size, false, mtTracing);
 215 }
 216 
 217 JfrArtifactSet::~JfrArtifactSet() {
 218   clear();
 219 }
 220 
 221 void JfrArtifactSet::clear() {
 222   _symbol_id->clear();
 223   // _klass_list will be cleared by a ResourceMark
 224 }
 225 
 226 traceid JfrArtifactSet::mark_anonymous_klass_name(const Klass* klass) {
 227   return _symbol_id->mark_anonymous_klass_name(klass);
 228 }
 229 
 230 traceid JfrArtifactSet::mark(const Symbol* sym, uintptr_t hash) {
 231   return _symbol_id->mark(sym, hash);


< prev index next >