equal
deleted
inserted
replaced
583 if (LeakProfiler::is_running()) { |
583 if (LeakProfiler::is_running()) { |
584 // Exclusive access to the object sampler instance. |
584 // Exclusive access to the object sampler instance. |
585 // The sampler is released (unlocked) later in post_safepoint_write. |
585 // The sampler is released (unlocked) later in post_safepoint_write. |
586 ObjectSampleCheckpoint::on_rotation(ObjectSampler::acquire(), _stack_trace_repository); |
586 ObjectSampleCheckpoint::on_rotation(ObjectSampler::acquire(), _stack_trace_repository); |
587 } |
587 } |
588 _checkpoint_manager.notify_types_on_rotation(); |
|
589 write_storage(_storage, _chunkwriter); |
588 write_storage(_storage, _chunkwriter); |
590 } |
589 } |
591 |
590 |
592 void JfrRecorderService::invoke_safepoint_write() { |
591 void JfrRecorderService::invoke_safepoint_write() { |
593 JfrVMOperation<JfrRecorderService, &JfrRecorderService::safepoint_write> safepoint_task(*this); |
592 JfrVMOperation<JfrRecorderService, &JfrRecorderService::safepoint_write> safepoint_task(*this); |
600 if (_string_pool.is_modified()) { |
599 if (_string_pool.is_modified()) { |
601 write_stringpool_safepoint(_string_pool, _chunkwriter); |
600 write_stringpool_safepoint(_string_pool, _chunkwriter); |
602 } |
601 } |
603 _storage.write_at_safepoint(); |
602 _storage.write_at_safepoint(); |
604 _checkpoint_manager.notify_threads(); |
603 _checkpoint_manager.notify_threads(); |
|
604 _checkpoint_manager.notify_types_on_rotation(); |
605 _checkpoint_manager.shift_epoch(); |
605 _checkpoint_manager.shift_epoch(); |
606 _chunkwriter.set_time_stamp(); |
606 _chunkwriter.set_time_stamp(); |
607 } |
607 } |
608 |
608 |
609 void JfrRecorderService::post_safepoint_write() { |
609 void JfrRecorderService::post_safepoint_write() { |