# HG changeset patch # User ehelin # Date 1520245937 -3600 # Node ID e4fdca451542ab31fb5b5656589dc1905dbc01ec # Parent 4b7dae855f2395ce20a1e268442bb97ff40ebd86 8197847: Remove unused file g1ParScanThreadState_ext.cpp Reviewed-by: sjohanss, eosterlund diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1CollectedHeap.hpp --- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp Mon Mar 05 11:16:23 2018 +0100 +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp Mon Mar 05 11:32:17 2018 +0100 @@ -595,9 +595,6 @@ void register_old_region_with_cset(HeapRegion* r) { _in_cset_fast_test.set_in_old(r->hrm_index()); } - inline void register_ext_region_with_cset(HeapRegion* r) { - _in_cset_fast_test.set_ext(r->hrm_index()); - } void clear_in_cset(const HeapRegion* hr) { _in_cset_fast_test.clear(hr); } diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1InCSetState.hpp --- a/src/hotspot/share/gc/g1/g1InCSetState.hpp Mon Mar 05 11:16:23 2018 +0100 +++ b/src/hotspot/share/gc/g1/g1InCSetState.hpp Mon Mar 05 11:32:17 2018 +0100 @@ -58,7 +58,6 @@ // used to index into arrays. // The negative values are used for objects requiring various special cases, // for example eager reclamation of humongous objects. - Ext = -2, // Extension point Humongous = -1, // The region is humongous NotInCSet = 0, // The region is not in the collection set. Young = 1, // The region is in the collection set and a young region. @@ -80,11 +79,10 @@ bool is_humongous() const { return _value == Humongous; } bool is_young() const { return _value == Young; } bool is_old() const { return _value == Old; } - bool is_ext() const { return _value == Ext; } #ifdef ASSERT bool is_default() const { return _value == NotInCSet; } - bool is_valid() const { return (_value >= Ext) && (_value < Num); } + bool is_valid() const { return (_value >= Humongous) && (_value < Num); } bool is_valid_gen() const { return (_value >= Young && _value <= Old); } #endif }; @@ -110,12 +108,6 @@ set_by_index(index, InCSetState::Humongous); } - void set_ext(uintptr_t index) { - assert(get_by_index(index).is_default(), - "State at index " INTPTR_FORMAT " should be default but is " CSETSTATE_FORMAT, index, get_by_index(index).value()); - set_by_index(index, InCSetState::Ext); - } - void clear_humongous(uintptr_t index) { set_by_index(index, InCSetState::NotInCSet); } diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1OopClosures.hpp --- a/src/hotspot/share/gc/g1/g1OopClosures.hpp Mon Mar 05 11:16:23 2018 +0100 +++ b/src/hotspot/share/gc/g1/g1OopClosures.hpp Mon Mar 05 11:32:17 2018 +0100 @@ -139,7 +139,7 @@ G1MarkPromotedFromRoot }; -template +template class G1ParCopyClosure : public G1ParCopyHelper { public: G1ParCopyClosure(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state) : diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1OopClosures.inline.hpp --- a/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp Mon Mar 05 11:16:23 2018 +0100 +++ b/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp Mon Mar 05 11:32:17 2018 +0100 @@ -61,8 +61,6 @@ inline void G1ScanClosureBase::handle_non_cset_obj_common(InCSetState const state, T* p, oop const obj) { if (state.is_humongous()) { _g1->set_humongous_is_live(obj); - } else if (state.is_ext()) { - _par_scan_state->do_oop_ext(p); } } @@ -218,9 +216,9 @@ _cm->mark_in_next_bitmap(to_obj); } -template +template template -void G1ParCopyClosure::do_oop_work(T* p) { +void G1ParCopyClosure::do_oop_work(T* p) { T heap_oop = oopDesc::load_heap_oop(p); if (oopDesc::is_null(heap_oop)) { @@ -256,9 +254,6 @@ _g1->set_humongous_is_live(obj); } - if (use_ext && state.is_ext()) { - _par_scan_state->do_oop_ext(p); - } // The object is not in collection set. If we're a root scanning // closure during an initial mark pause then attempt to mark the object. if (do_mark_object == G1MarkFromRoot) { diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1ParScanThreadState.cpp --- a/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp Mon Mar 05 11:16:23 2018 +0100 +++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp Mon Mar 05 11:32:17 2018 +0100 @@ -329,7 +329,7 @@ G1ParScanThreadState* G1ParScanThreadStateSet::state_for_worker(uint worker_id) { assert(worker_id < _n_workers, "out of bounds access"); if (_states[worker_id] == NULL) { - _states[worker_id] = new_par_scan_state(worker_id, _young_cset_length); + _states[worker_id] = new G1ParScanThreadState(_g1h, worker_id, _young_cset_length); } return _states[worker_id]; } diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp --- a/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp Mon Mar 05 11:16:23 2018 +0100 +++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp Mon Mar 05 11:32:17 2018 +0100 @@ -50,8 +50,8 @@ } else if (in_cset_state.is_humongous()) { _g1h->set_humongous_is_live(obj); } else { - assert(in_cset_state.is_default() || in_cset_state.is_ext(), - "In_cset_state must be NotInCSet or Ext here, but is " CSETSTATE_FORMAT, in_cset_state.value()); + assert(in_cset_state.is_default(), + "In_cset_state must be NotInCSet here, but is " CSETSTATE_FORMAT, in_cset_state.value()); } assert(obj != NULL, "Must be"); diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1ParScanThreadState_ext.cpp --- a/src/hotspot/share/gc/g1/g1ParScanThreadState_ext.cpp Mon Mar 05 11:16:23 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - */ - -#include "precompiled.hpp" - -#include "gc/g1/g1ParScanThreadState.hpp" - -G1ParScanThreadState* G1ParScanThreadStateSet::new_par_scan_state(uint worker_id, size_t young_cset_length) { - return new G1ParScanThreadState(_g1h, worker_id, young_cset_length); -} - -template -void G1ParScanThreadState::do_oop_ext(T* ref) { -} - -template void G1ParScanThreadState::do_oop_ext(oop* ref); -template void G1ParScanThreadState::do_oop_ext(narrowOop* ref); diff -r 4b7dae855f23 -r e4fdca451542 src/hotspot/share/gc/g1/g1SharedClosures.hpp --- a/src/hotspot/share/gc/g1/g1SharedClosures.hpp Mon Mar 05 11:16:23 2018 +0100 +++ b/src/hotspot/share/gc/g1/g1SharedClosures.hpp Mon Mar 05 11:32:17 2018 +0100 @@ -31,11 +31,11 @@ class G1ParScanThreadState; // Simple holder object for a complete set of closures used by the G1 evacuation code. -template +template class G1SharedClosures VALUE_OBJ_CLASS_SPEC { public: - G1ParCopyClosure _oops; - G1ParCopyClosure _oops_in_cld; + G1ParCopyClosure _oops; + G1ParCopyClosure _oops_in_cld; G1CLDScanClosure _clds; G1CodeBlobClosure _codeblobs;