Skip to content

Commit 6ccfd5e

Browse files
committed
8346108: [21u][BACKOUT] 8337994: [REDO] Native memory leak when not recording any events
1 parent 814566b commit 6ccfd5e

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

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

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -756,15 +756,6 @@ static void write_classloaders() {
756756
CompositeCldCallback callback(&_subsystem_callback, &ccldwwc);
757757
do_class_loaders();
758758
}
759-
if (is_initial_typeset_for_chunk()) {
760-
CldPtr bootloader = get_cld(Universe::boolArrayKlassObj());
761-
assert(bootloader != nullptr, "invariant");
762-
if (IS_NOT_SERIALIZED(bootloader)) {
763-
write__classloader(_writer, bootloader);
764-
assert(IS_SERIALIZED(bootloader), "invariant");
765-
cldw.add(1);
766-
}
767-
}
768759
_artifacts->tally(cldw);
769760
}
770761

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,11 @@ static void write_thread_local_buffer(JfrChunkWriter& chunkwriter, Thread* t) {
634634

635635
size_t JfrRecorderService::flush() {
636636
size_t total_elements = flush_metadata(_chunkwriter);
637-
total_elements = flush_storage(_storage, _chunkwriter);
637+
const size_t storage_elements = flush_storage(_storage, _chunkwriter);
638+
if (0 == storage_elements) {
639+
return total_elements;
640+
}
641+
total_elements += storage_elements;
638642
if (_string_pool.is_modified()) {
639643
total_elements += flush_stringpool(_string_pool, _chunkwriter);
640644
}

0 commit comments

Comments
 (0)