@@ -823,7 +823,6 @@ bool ShenandoahConcurrentGC::has_in_place_promotions(ShenandoahHeap* heap) {
823823 return heap->mode ()->is_generational () && heap->old_generation ()->has_in_place_promotions ();
824824}
825825
826- template <bool GENERATIONAL>
827826class ShenandoahConcurrentEvacThreadClosure : public ThreadClosure {
828827private:
829828 OopClosure* const _oops;
@@ -833,13 +832,9 @@ class ShenandoahConcurrentEvacThreadClosure : public ThreadClosure {
833832 void do_thread (Thread* thread) override {
834833 JavaThread* const jt = JavaThread::cast (thread);
835834 StackWatermarkSet::finish_processing (jt, _oops, StackWatermarkKind::gc);
836- if (GENERATIONAL) {
837- ShenandoahThreadLocalData::enable_plab_promotions (thread);
838- }
839835 }
840836};
841837
842- template <bool GENERATIONAL>
843838class ShenandoahConcurrentEvacUpdateThreadTask : public WorkerTask {
844839private:
845840 ShenandoahJavaThreadsIterator _java_threads;
@@ -851,30 +846,20 @@ class ShenandoahConcurrentEvacUpdateThreadTask : public WorkerTask {
851846 }
852847
853848 void work (uint worker_id) override {
854- if (GENERATIONAL) {
855- Thread* worker_thread = Thread::current ();
856- ShenandoahThreadLocalData::enable_plab_promotions (worker_thread);
857- }
858-
859849 // ShenandoahEvacOOMScope has to be setup by ShenandoahContextEvacuateUpdateRootsClosure.
860850 // Otherwise, may deadlock with watermark lock
861851 ShenandoahContextEvacuateUpdateRootsClosure oops_cl;
862- ShenandoahConcurrentEvacThreadClosure<GENERATIONAL> thr_cl (&oops_cl);
852+ ShenandoahConcurrentEvacThreadClosure thr_cl (&oops_cl);
863853 _java_threads.threads_do (&thr_cl, worker_id);
864854 }
865855};
866856
867857void ShenandoahConcurrentGC::op_thread_roots () {
868- ShenandoahHeap* const heap = ShenandoahHeap::heap ();
858+ const ShenandoahHeap* const heap = ShenandoahHeap::heap ();
869859 assert (heap->is_evacuation_in_progress (), " Checked by caller" );
870860 ShenandoahGCWorkerPhase worker_phase (ShenandoahPhaseTimings::conc_thread_roots);
871- if (heap->mode ()->is_generational ()) {
872- ShenandoahConcurrentEvacUpdateThreadTask<true > task (heap->workers ()->active_workers ());
873- heap->workers ()->run_task (&task);
874- } else {
875- ShenandoahConcurrentEvacUpdateThreadTask<false > task (heap->workers ()->active_workers ());
876- heap->workers ()->run_task (&task);
877- }
861+ ShenandoahConcurrentEvacUpdateThreadTask task (heap->workers ()->active_workers ());
862+ heap->workers ()->run_task (&task);
878863}
879864
880865void ShenandoahConcurrentGC::op_weak_refs () {
0 commit comments