src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp
branchJEP-349-branch
changeset 58049 10ecdb5d3574
parent 57991 a101d496334a
child 58157 9dca61a7df19
equal deleted inserted replaced
58020:f082177c5023 58049:10ecdb5d3574
   189 class ListEntry : public JfrHashtableEntry<T, IdType> {
   189 class ListEntry : public JfrHashtableEntry<T, IdType> {
   190  public:
   190  public:
   191   ListEntry(uintptr_t hash, const T& data) : JfrHashtableEntry<T, IdType>(hash, data),
   191   ListEntry(uintptr_t hash, const T& data) : JfrHashtableEntry<T, IdType>(hash, data),
   192     _list_next(NULL), _serialized(false), _unloading(false), _leakp(false) {}
   192     _list_next(NULL), _serialized(false), _unloading(false), _leakp(false) {}
   193   const ListEntry<T, IdType>* list_next() const { return _list_next; }
   193   const ListEntry<T, IdType>* list_next() const { return _list_next; }
       
   194   void reset() const {
       
   195     _list_next = NULL; _serialized = false; _unloading = false; _leakp = false;
       
   196   }
   194   void set_list_next(const ListEntry<T, IdType>* next) const { _list_next = next; }
   197   void set_list_next(const ListEntry<T, IdType>* next) const { _list_next = next; }
   195   bool is_serialized() const { return _serialized; }
   198   bool is_serialized() const { return _serialized; }
   196   void set_serialized() const { _serialized = true; }
   199   void set_serialized() const { _serialized = true; }
   197   bool is_unloading() const { return _unloading; }
   200   bool is_unloading() const { return _unloading; }
   198   void set_unloading() const { _unloading = true; }
   201   void set_unloading() const { _unloading = true; }
   253 
   256 
   254   traceid mark(uintptr_t hash, const Symbol* sym, bool leakp);
   257   traceid mark(uintptr_t hash, const Symbol* sym, bool leakp);
   255   traceid mark(const Klass* k, bool leakp);
   258   traceid mark(const Klass* k, bool leakp);
   256   traceid mark(const Symbol* symbol, bool leakp);
   259   traceid mark(const Symbol* symbol, bool leakp);
   257   traceid mark(uintptr_t hash, const char* str, bool leakp);
   260   traceid mark(uintptr_t hash, const char* str, bool leakp);
       
   261   traceid bootstrap_name(bool leakp);
   258 
   262 
   259   template <typename Functor>
   263   template <typename Functor>
   260   void iterate_symbols(Functor& functor) {
   264   void iterate_symbols(Functor& functor) {
   261     iterate(functor, _sym_list);
   265     iterate(functor, _sym_list);
   262   }
   266   }
   303   traceid mark(uintptr_t hash, const Symbol* sym, bool leakp);
   307   traceid mark(uintptr_t hash, const Symbol* sym, bool leakp);
   304   traceid mark(const Klass* klass, bool leakp);
   308   traceid mark(const Klass* klass, bool leakp);
   305   traceid mark(const Symbol* symbol, bool leakp);
   309   traceid mark(const Symbol* symbol, bool leakp);
   306   traceid mark(uintptr_t hash, const char* const str, bool leakp);
   310   traceid mark(uintptr_t hash, const char* const str, bool leakp);
   307   traceid mark_unsafe_anonymous_klass_name(const Klass* klass, bool leakp);
   311   traceid mark_unsafe_anonymous_klass_name(const Klass* klass, bool leakp);
       
   312   traceid bootstrap_name(bool leakp);
   308 
   313 
   309   const JfrSymbolId::SymbolEntry* map_symbol(const Symbol* symbol) const;
   314   const JfrSymbolId::SymbolEntry* map_symbol(const Symbol* symbol) const;
   310   const JfrSymbolId::SymbolEntry* map_symbol(uintptr_t hash) const;
   315   const JfrSymbolId::SymbolEntry* map_symbol(uintptr_t hash) const;
   311   const JfrSymbolId::CStringEntry* map_cstring(uintptr_t hash) const;
   316   const JfrSymbolId::CStringEntry* map_cstring(uintptr_t hash) const;
   312 
   317