< prev index next >

src/share/vm/jfr/recorder/service/jfrRecorderService.cpp

Print this page
rev 9464 : PR for JDK8

@@ -265,11 +265,12 @@
   invoke_safepoint_clear();
   post_safepoint_clear();
 }
 
 void JfrRecorderService::pre_safepoint_clear() {
-  _stack_trace_repository.clear();
+  //_stack_trace_repository.clear();
+  JfrStackTraceRepository::clear();
   _string_pool.clear();
   _storage.clear();
 }
 
 void JfrRecorderService::invoke_safepoint_clear() {

@@ -286,11 +287,12 @@
 //        shift epoch ->
 //          update time
 //
 void JfrRecorderService::safepoint_clear() {
   assert(SafepointSynchronize::is_at_safepoint(), "invariant");
-  _stack_trace_repository.clear();
+  //_stack_trace_repository.clear();
+  JfrStackTraceRepository::clear();
   _string_pool.clear();
   _storage.clear();
   _checkpoint_manager.shift_epoch();
   _chunkwriter.time_stamp_chunk_now();
 }

@@ -440,10 +442,11 @@
     // Exclusive access to the object sampler instance.
     // The sampler is released (unlocked) later in post_safepoint_write.
     ObjectSampler* const sampler = ObjectSampler::acquire();
     assert(sampler != NULL, "invariant");
     write_object_sample_stacktrace(sampler, _stack_trace_repository);
+    //write_object_sample_stacktrace(sampler, JfrStackTraceRepository::leak_profiler_instance());
   }
   _storage.write();
 }
 
 void JfrRecorderService::invoke_safepoint_write() {

@@ -471,10 +474,11 @@
   write_stringpool_checkpoint_safepoint(_string_pool, _chunkwriter);
   _checkpoint_manager.write_safepoint_types();
   _storage.write_at_safepoint();
   _checkpoint_manager.shift_epoch();
   _chunkwriter.time_stamp_chunk_now();
+  JfrStackTraceRepository::clear_leak_profiler();
   JfrMetadataEvent::lock();
 }
 
 static int64_t write_metadata_event(JfrChunkWriter& chunkwriter) {
   assert(chunkwriter.is_valid(), "invariant");
< prev index next >