OpenJDK / jdk / jdk
changeset 54713:040bf087ae39
8221359: Eliminate SATBMarkQueueSet::filter_thread_buffers
Summary: Removed filter_thread_buffers
Reviewed-by: tschatzl, sangheki
author | kbarrett |
---|---|
date | Fri, 03 May 2019 23:35:12 -0400 |
parents | 029b56549e22 |
children | 37630ad8fa67 |
files | src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp src/hotspot/share/gc/g1/g1RootProcessor.cpp src/hotspot/share/gc/g1/g1RootProcessor.hpp src/hotspot/share/gc/shared/satbMarkQueue.cpp src/hotspot/share/gc/shared/satbMarkQueue.hpp test/hotspot/jtreg/gc/g1/TestGCLogMessages.java |
diffstat | 7 files changed, 3 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp Fri May 03 14:09:19 2019 -0700 +++ b/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp Fri May 03 23:35:12 2019 -0400 @@ -65,7 +65,6 @@ _gc_par_phases[CMRefRoots] = new WorkerDataArray<double>(max_gc_threads, "CM RefProcessor Roots (ms):"); _gc_par_phases[WaitForStrongCLD] = new WorkerDataArray<double>(max_gc_threads, "Wait For Strong CLD (ms):"); _gc_par_phases[WeakCLDRoots] = new WorkerDataArray<double>(max_gc_threads, "Weak CLD Roots (ms):"); - _gc_par_phases[SATBFiltering] = new WorkerDataArray<double>(max_gc_threads, "SATB Filtering (ms):"); _gc_par_phases[UpdateRS] = new WorkerDataArray<double>(max_gc_threads, "Update RS (ms):"); if (G1HotCardCache::default_use_cache()) { @@ -406,7 +405,7 @@ trace_phase(_gc_par_phases[GCWorkerStart], false); debug_phase(_gc_par_phases[ExtRootScan]); - for (int i = ExtRootScanSubPhasesStart; i <= ExtRootScanSubPhasesEnd; i++) { + for (int i = ExtRootScanSubPhasesFirst; i <= ExtRootScanSubPhasesLast; i++) { trace_phase(_gc_par_phases[i]); } if (G1HotCardCache::default_use_cache()) { @@ -531,7 +530,6 @@ "CMRefRoots", "WaitForStrongCLD", "WeakCLDRoots", - "SATBFiltering", "UpdateRS", "ScanHCC", "ScanRS",
--- a/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Fri May 03 14:09:19 2019 -0700 +++ b/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Fri May 03 23:35:12 2019 -0400 @@ -60,7 +60,6 @@ CMRefRoots, WaitForStrongCLD, WeakCLDRoots, - SATBFiltering, UpdateRS, ScanHCC, ScanRS, @@ -82,8 +81,8 @@ GCParPhasesSentinel }; - static const GCParPhases ExtRootScanSubPhasesStart = ThreadRoots; - static const GCParPhases ExtRootScanSubPhasesEnd = SATBFiltering; + static const GCParPhases ExtRootScanSubPhasesFirst = ThreadRoots; + static const GCParPhases ExtRootScanSubPhasesLast = WeakCLDRoots; enum GCScanRSWorkItems { ScanRSScannedCards,
--- a/src/hotspot/share/gc/g1/g1RootProcessor.cpp Fri May 03 14:09:19 2019 -0700 +++ b/src/hotspot/share/gc/g1/g1RootProcessor.cpp Fri May 03 23:35:12 2019 -0400 @@ -122,16 +122,6 @@ assert(closures->second_pass_weak_clds() == NULL, "Should be null if not tracing metadata."); } - // During conc marking we have to filter the per-thread SATB buffers - // to make sure we remove any oops into the CSet (which will show up - // as implicitly live). - { - G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SATBFiltering, worker_i); - if (_process_strong_tasks.try_claim_task(G1RP_PS_filter_satb_buffers) && _g1h->collector_state()->mark_or_rebuild_in_progress()) { - G1BarrierSet::satb_mark_queue_set().filter_thread_buffers(); - } - } - _process_strong_tasks.all_tasks_completed(n_workers()); }
--- a/src/hotspot/share/gc/g1/g1RootProcessor.hpp Fri May 03 14:09:19 2019 -0700 +++ b/src/hotspot/share/gc/g1/g1RootProcessor.hpp Fri May 03 23:35:12 2019 -0400 @@ -65,7 +65,6 @@ G1RP_PS_CodeCache_oops_do, AOT_ONLY(G1RP_PS_aot_oops_do COMMA) JVMCI_ONLY(G1RP_PS_JVMCI_oops_do COMMA) - G1RP_PS_filter_satb_buffers, G1RP_PS_refProcessor_oops_do, // Leave this one last. G1RP_PS_NumElements
--- a/src/hotspot/share/gc/shared/satbMarkQueue.cpp Fri May 03 14:09:19 2019 -0700 +++ b/src/hotspot/share/gc/shared/satbMarkQueue.cpp Fri May 03 23:35:12 2019 -0400 @@ -189,18 +189,6 @@ Threads::threads_do(&closure); } -void SATBMarkQueueSet::filter_thread_buffers() { - class FilterThreadBufferClosure : public ThreadClosure { - SATBMarkQueueSet* _qset; - public: - FilterThreadBufferClosure(SATBMarkQueueSet* qset) : _qset(qset) {} - virtual void do_thread(Thread* t) { - _qset->satb_queue_for_thread(t).filter(); - } - } closure(this); - Threads::threads_do(&closure); -} - bool SATBMarkQueueSet::apply_closure_to_completed_buffer(SATBBufferClosure* cl) { BufferNode* nd = get_completed_buffer(); if (nd != NULL) {
--- a/src/hotspot/share/gc/shared/satbMarkQueue.hpp Fri May 03 14:09:19 2019 -0700 +++ b/src/hotspot/share/gc/shared/satbMarkQueue.hpp Fri May 03 23:35:12 2019 -0400 @@ -125,9 +125,6 @@ size_t buffer_enqueue_threshold() const { return _buffer_enqueue_threshold; } virtual void filter(SATBMarkQueue* queue) = 0; - // Filter all the currently-active SATB buffers. - void filter_thread_buffers(); - // If there exists some completed buffer, pop and process it, and // return true. Otherwise return false. Processing a buffer // consists of applying the closure to the active range of the
--- a/test/hotspot/jtreg/gc/g1/TestGCLogMessages.java Fri May 03 14:09:19 2019 -0700 +++ b/test/hotspot/jtreg/gc/g1/TestGCLogMessages.java Fri May 03 23:35:12 2019 -0400 @@ -119,7 +119,6 @@ new LogMessageWithLevel("SystemDictionary Roots", Level.TRACE), new LogMessageWithLevel("CLDG Roots", Level.TRACE), new LogMessageWithLevel("JVMTI Roots", Level.TRACE), - new LogMessageWithLevel("SATB Filtering", Level.TRACE), new LogMessageWithLevel("CM RefProcessor Roots", Level.TRACE), new LogMessageWithLevel("Wait For Strong CLD", Level.TRACE), new LogMessageWithLevel("Weak CLD Roots", Level.TRACE),