From 551cd03b99feb34d98703b7d04571f92f83f2471 Mon Sep 17 00:00:00 2001 From: Xiaolong Peng Date: Mon, 13 Oct 2025 15:03:01 +0000 Subject: [PATCH] 8369611: Remove safepoint synchronization from ParallelScavengeHeap and SerialHeap Reviewed-by: kbarrett, ayang, shade, tschatzl --- .../share/gc/parallel/parallelScavengeHeap.cpp | 11 ----------- .../share/gc/parallel/parallelScavengeHeap.hpp | 3 --- src/hotspot/share/gc/serial/serialHeap.cpp | 12 ------------ src/hotspot/share/gc/serial/serialHeap.hpp | 3 --- 4 files changed, 29 deletions(-) diff --git a/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp b/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp index c3b0ec0b1ad..cbea75879ae 100644 --- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp +++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp @@ -152,17 +152,6 @@ void ParallelScavengeHeap::initialize_serviceability() { } -void ParallelScavengeHeap::safepoint_synchronize_begin() { - if (UseStringDeduplication) { - SuspendibleThreadSet::synchronize(); - } -} - -void ParallelScavengeHeap::safepoint_synchronize_end() { - if (UseStringDeduplication) { - SuspendibleThreadSet::desynchronize(); - } -} class PSIsScavengable : public BoolObjectClosure { bool do_object_b(oop obj) { return ParallelScavengeHeap::heap()->is_in_young(obj); diff --git a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp index fea827430ca..bf777bda29e 100644 --- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp +++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp @@ -159,9 +159,6 @@ public: // Returns JNI_OK on success jint initialize() override; - void safepoint_synchronize_begin() override; - void safepoint_synchronize_end() override; - void post_initialize() override; void update_counters(); diff --git a/src/hotspot/share/gc/serial/serialHeap.cpp b/src/hotspot/share/gc/serial/serialHeap.cpp index 3442dc4c907..3ab88da4633 100644 --- a/src/hotspot/share/gc/serial/serialHeap.cpp +++ b/src/hotspot/share/gc/serial/serialHeap.cpp @@ -144,18 +144,6 @@ GrowableArray SerialHeap::memory_pools() { return memory_pools; } -void SerialHeap::safepoint_synchronize_begin() { - if (UseStringDeduplication) { - SuspendibleThreadSet::synchronize(); - } -} - -void SerialHeap::safepoint_synchronize_end() { - if (UseStringDeduplication) { - SuspendibleThreadSet::desynchronize(); - } -} - HeapWord* SerialHeap::allocate_loaded_archive_space(size_t word_size) { MutexLocker ml(Heap_lock); return old_gen()->allocate(word_size); diff --git a/src/hotspot/share/gc/serial/serialHeap.hpp b/src/hotspot/share/gc/serial/serialHeap.hpp index 388da13b1b0..27053b4cc81 100644 --- a/src/hotspot/share/gc/serial/serialHeap.hpp +++ b/src/hotspot/share/gc/serial/serialHeap.hpp @@ -258,9 +258,6 @@ public: void scan_evacuated_objs(YoungGenScanClosure* young_cl, OldGenScanClosure* old_cl); - void safepoint_synchronize_begin() override; - void safepoint_synchronize_end() override; - // Support for loading objects from CDS archive into the heap bool can_load_archived_objects() const override { return true; } HeapWord* allocate_loaded_archive_space(size_t size) override;