From a169c0636182272ff3f2a7cfe2212fec1af3fda9 Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Thu, 4 Apr 2024 08:03:52 +0000 Subject: [PATCH] 8329580: Parallel: Remove VerifyObjectStartArray Reviewed-by: tschatzl, gli --- src/hotspot/share/gc/parallel/psOldGen.cpp | 18 ------------------ src/hotspot/share/gc/parallel/psOldGen.hpp | 1 - .../share/gc/parallel/psParallelCompact.cpp | 12 ------------ src/hotspot/share/gc/parallel/psScavenge.cpp | 12 ------------ src/hotspot/share/gc/shared/gc_globals.hpp | 3 --- .../g1/TestVerificationInConcurrentCycle.java | 4 ++-- 6 files changed, 2 insertions(+), 48 deletions(-) diff --git a/src/hotspot/share/gc/parallel/psOldGen.cpp b/src/hotspot/share/gc/parallel/psOldGen.cpp index d4eeade40e1..9899b89ad29 100644 --- a/src/hotspot/share/gc/parallel/psOldGen.cpp +++ b/src/hotspot/share/gc/parallel/psOldGen.cpp @@ -377,24 +377,6 @@ void PSOldGen::verify() { object_space()->verify(); } -class VerifyObjectStartArrayClosure : public ObjectClosure { - ObjectStartArray* _start_array; - -public: - VerifyObjectStartArrayClosure(ObjectStartArray* start_array) : - _start_array(start_array) { } - - virtual void do_object(oop obj) { - HeapWord* test_addr = cast_from_oop(obj) + 1; - guarantee(_start_array->object_start(test_addr) == cast_from_oop(obj), "ObjectStartArray cannot find start of object"); - } -}; - -void PSOldGen::verify_object_start_array() { - VerifyObjectStartArrayClosure check(&_start_array); - object_iterate(&check); -} - #ifndef PRODUCT void PSOldGen::record_spaces_top() { assert(ZapUnusedHeapArea, "Not mangling unused space"); diff --git a/src/hotspot/share/gc/parallel/psOldGen.hpp b/src/hotspot/share/gc/parallel/psOldGen.hpp index 82aa920f401..6eb5e01bc8a 100644 --- a/src/hotspot/share/gc/parallel/psOldGen.hpp +++ b/src/hotspot/share/gc/parallel/psOldGen.hpp @@ -149,7 +149,6 @@ class PSOldGen : public CHeapObj { virtual void print_on(outputStream* st) const; void verify(); - void verify_object_start_array(); // Performance Counter support void update_counters(); diff --git a/src/hotspot/share/gc/parallel/psParallelCompact.cpp b/src/hotspot/share/gc/parallel/psParallelCompact.cpp index 3abae8cb22a..1e6e16fa60d 100644 --- a/src/hotspot/share/gc/parallel/psParallelCompact.cpp +++ b/src/hotspot/share/gc/parallel/psParallelCompact.cpp @@ -913,12 +913,6 @@ void PSParallelCompact::pre_compact() Universe::verify("Before GC"); } - // Verify object start arrays - if (VerifyObjectStartArray && - VerifyBeforeGC) { - heap->old_gen()->verify_object_start_array(); - } - DEBUG_ONLY(mark_bitmap()->verify_clear();) DEBUG_ONLY(summary_data().verify_clear();) @@ -1535,12 +1529,6 @@ bool PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) { Universe::verify("After GC"); } - // Re-verify object start arrays - if (VerifyObjectStartArray && - VerifyAfterGC) { - old_gen->verify_object_start_array(); - } - if (ZapUnusedHeapArea) { old_gen->object_space()->check_mangled_unused_area_complete(); } diff --git a/src/hotspot/share/gc/parallel/psScavenge.cpp b/src/hotspot/share/gc/parallel/psScavenge.cpp index 78fba1dfe72..bc370ffa4fb 100644 --- a/src/hotspot/share/gc/parallel/psScavenge.cpp +++ b/src/hotspot/share/gc/parallel/psScavenge.cpp @@ -419,12 +419,6 @@ bool PSScavenge::invoke_no_policy() { // Let the size policy know we're starting size_policy->minor_collection_begin(); - // Verify the object start arrays. - if (VerifyObjectStartArray && - VerifyBeforeGC) { - old_gen->verify_object_start_array(); - } - // Verify no unmarked old->young roots if (VerifyRememberedSets) { heap->card_table()->verify_all_young_refs_imprecise(); @@ -634,12 +628,6 @@ bool PSScavenge::invoke_no_policy() { DerivedPointerTable::update_pointers(); #endif - // Re-verify object start arrays - if (VerifyObjectStartArray && - VerifyAfterGC) { - old_gen->verify_object_start_array(); - } - if (VerifyRememberedSets) { heap->card_table()->verify_all_young_refs_imprecise(); } diff --git a/src/hotspot/share/gc/shared/gc_globals.hpp b/src/hotspot/share/gc/shared/gc_globals.hpp index 35e1aadcd7c..a3a1b03dfb9 100644 --- a/src/hotspot/share/gc/shared/gc_globals.hpp +++ b/src/hotspot/share/gc/shared/gc_globals.hpp @@ -500,9 +500,6 @@ product(bool, VerifyRememberedSets, false, DIAGNOSTIC, \ "Verify GC remembered sets") \ \ - product(bool, VerifyObjectStartArray, true, DIAGNOSTIC, \ - "Verify GC object start array if verify before/after") \ - \ product(bool, DisableExplicitGC, false, \ "Ignore calls to System.gc()") \ \ diff --git a/test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java b/test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java index 4f81929cac9..044636c7c5f 100644 --- a/test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java +++ b/test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java @@ -36,7 +36,7 @@ package gc.g1; * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI * -XX:+VerifyBeforeGC -XX:+VerifyDuringGC -XX:+VerifyAfterGC * -XX:+UseG1GC -XX:+G1VerifyHeapRegionCodeRoots - * -XX:+VerifyRememberedSets -XX:+VerifyObjectStartArray + * -XX:+VerifyRememberedSets * -XX:+G1VerifyBitmaps * gc.g1.TestVerificationInConcurrentCycle */ @@ -55,7 +55,7 @@ package gc.g1; * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI * -XX:+VerifyBeforeGC -XX:+VerifyDuringGC -XX:+VerifyAfterGC * -XX:+UseG1GC -XX:+G1VerifyHeapRegionCodeRoots - * -XX:+VerifyRememberedSets -XX:+VerifyObjectStartArray + * -XX:+VerifyRememberedSets * gc.g1.TestVerificationInConcurrentCycle */