Skip to content

Commit 16e461e

Browse files
author
Thomas Schatzl
committed
8365122: G1: Minor clean up of G1SurvivorRegions
Reviewed-by: sangheki, kbarrett
1 parent 3c0eed8 commit 16e461e

File tree

3 files changed

+17
-25
lines changed

3 files changed

+17
-25
lines changed

src/hotspot/share/gc/g1/g1Policy.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -508,12 +508,9 @@ uint G1Policy::calculate_desired_eden_length_before_mixed(double base_time_ms,
508508
}
509509

510510
double G1Policy::predict_survivor_regions_evac_time() const {
511-
const GrowableArray<G1HeapRegion*>* survivor_regions = _g1h->survivor()->regions();
512511
double survivor_regions_evac_time = predict_young_region_other_time_ms(_g1h->survivor()->length());
513-
for (GrowableArrayIterator<G1HeapRegion*> it = survivor_regions->begin();
514-
it != survivor_regions->end();
515-
++it) {
516-
survivor_regions_evac_time += predict_region_copy_time_ms(*it, _g1h->collector_state()->in_young_only_phase());
512+
for (G1HeapRegion* r : _g1h->survivor()->regions()) {
513+
survivor_regions_evac_time += predict_region_copy_time_ms(r, _g1h->collector_state()->in_young_only_phase());
517514
}
518515

519516
return survivor_regions_evac_time;
@@ -1461,16 +1458,13 @@ uint G1Policy::calc_max_old_cset_length() const {
14611458
void G1Policy::transfer_survivors_to_cset(const G1SurvivorRegions* survivors) {
14621459
start_adding_survivor_regions();
14631460

1464-
for (GrowableArrayIterator<G1HeapRegion*> it = survivors->regions()->begin();
1465-
it != survivors->regions()->end();
1466-
++it) {
1467-
G1HeapRegion* curr = *it;
1468-
set_region_survivor(curr);
1461+
for (G1HeapRegion* r : survivors->regions()) {
1462+
set_region_survivor(r);
14691463

14701464
// The region is a non-empty survivor so let's add it to
14711465
// the incremental collection set for the next evacuation
14721466
// pause.
1473-
_collection_set->add_survivor_regions(curr);
1467+
_collection_set->add_survivor_regions(r);
14741468
}
14751469
stop_adding_survivor_regions();
14761470

src/hotspot/share/gc/g1/g1SurvivorRegions.cpp

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,36 +28,33 @@
2828
#include "utilities/growableArray.hpp"
2929

3030
G1SurvivorRegions::G1SurvivorRegions() :
31-
_regions(new (mtGC) GrowableArray<G1HeapRegion*>(8, mtGC)),
31+
_regions(8, mtGC),
3232
_used_bytes(0),
3333
_regions_on_node() {}
3434

3535
uint G1SurvivorRegions::add(G1HeapRegion* hr) {
3636
assert(hr->is_survivor(), "should be flagged as survivor region");
37-
_regions->append(hr);
37+
_regions.append(hr);
3838
return _regions_on_node.add(hr);
3939
}
4040

4141
uint G1SurvivorRegions::length() const {
42-
return (uint)_regions->length();
42+
return (uint)_regions.length();
4343
}
4444

4545
uint G1SurvivorRegions::regions_on_node(uint node_index) const {
4646
return _regions_on_node.count(node_index);
4747
}
4848

4949
void G1SurvivorRegions::convert_to_eden() {
50-
for (GrowableArrayIterator<G1HeapRegion*> it = _regions->begin();
51-
it != _regions->end();
52-
++it) {
53-
G1HeapRegion* hr = *it;
54-
hr->set_eden_pre_gc();
50+
for (G1HeapRegion* r : _regions) {
51+
r->set_eden_pre_gc();
5552
}
5653
clear();
5754
}
5855

5956
void G1SurvivorRegions::clear() {
60-
_regions->clear();
57+
_regions.clear();
6158
_used_bytes = 0;
6259
_regions_on_node.clear();
6360
}

src/hotspot/share/gc/g1/g1SurvivorRegions.hpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,17 @@
2727

2828
#include "gc/g1/g1RegionsOnNodes.hpp"
2929
#include "runtime/globals.hpp"
30+
#include "utilities/growableArray.hpp"
3031

3132
template <typename T>
3233
class GrowableArray;
3334
class G1HeapRegion;
3435

36+
// Set of current survivor regions.
3537
class G1SurvivorRegions {
36-
private:
37-
GrowableArray<G1HeapRegion*>* _regions;
38-
volatile size_t _used_bytes;
39-
G1RegionsOnNodes _regions_on_node;
38+
GrowableArray<G1HeapRegion*> _regions;
39+
volatile size_t _used_bytes;
40+
G1RegionsOnNodes _regions_on_node;
4041

4142
public:
4243
G1SurvivorRegions();
@@ -50,7 +51,7 @@ class G1SurvivorRegions {
5051
uint length() const;
5152
uint regions_on_node(uint node_index) const;
5253

53-
const GrowableArray<G1HeapRegion*>* regions() const {
54+
const GrowableArray<G1HeapRegion*>& regions() const {
5455
return _regions;
5556
}
5657

0 commit comments

Comments
 (0)