src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp
branchJEP-349-branch
changeset 58251 c4067538a0f2
parent 58171 c16b748a224e
child 58823 6a21dba79b81
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp	Sat Sep 21 12:31:40 2019 +0200
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp	Sat Sep 21 12:33:26 2019 +0200
@@ -68,7 +68,6 @@
   assert(!_cstring_table->has_entries(), "invariant");
 
   _sym_list = NULL;
-  _cstring_list = NULL;
   _symbol_id_counter = 1;
 
   _sym_query = NULL;
@@ -248,16 +247,19 @@
 }
 
 JfrArtifactSet::JfrArtifactSet(bool class_unload) : _symbol_id(new JfrSymbolId()),
-                                                     _klass_list(NULL),
-                                                     _total_count(0) {
+                                                    _klass_list(NULL),
+                                                    _total_count(0) {
   initialize(class_unload);
   assert(_klass_list != NULL, "invariant");
 }
 
 static const size_t initial_class_list_size = 200;
 
-void JfrArtifactSet::initialize(bool class_unload) {
+void JfrArtifactSet::initialize(bool class_unload, bool clear /* false */) {
   assert(_symbol_id != NULL, "invariant");
+  if (clear) {
+    _symbol_id->clear();
+  }
   _symbol_id->set_class_unload(class_unload);
   _total_count = 0;
   // resource allocation
@@ -265,12 +267,8 @@
 }
 
 JfrArtifactSet::~JfrArtifactSet() {
-  clear();
+  _symbol_id->clear();
   delete _symbol_id;
-}
-
-void JfrArtifactSet::clear() {
-  _symbol_id->clear();
   // _klass_list will be cleared by a ResourceMark
 }