Skip to content

Commit bad39b6

Browse files
Satyen SubramaniamPaul Hohensee
authored andcommitted
8348610: GenShen: TestShenandoahEvacuationInformationEvent failed with setRegions >= regionsFreed: expected 1 >= 57
Reviewed-by: wkemper, phh
1 parent 250ff86 commit bad39b6

File tree

5 files changed

+14
-13
lines changed

5 files changed

+14
-13
lines changed

src/hotspot/share/gc/shenandoah/heuristics/shenandoahGenerationalHeuristics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ void ShenandoahGenerationalHeuristics::choose_collection_set(ShenandoahCollectio
237237
evacInfo.set_regular_promoted_free(regular_regions_promoted_free);
238238
evacInfo.set_regions_immediate(immediate_regions);
239239
evacInfo.set_immediate_size(immediate_garbage);
240-
evacInfo.set_regions_freed(free_regions);
240+
evacInfo.set_free_regions(free_regions);
241241

242242
ShenandoahTracer().report_evacuation_info(&evacInfo);
243243
}

src/hotspot/share/gc/shenandoah/shenandoahEvacInfo.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,20 @@ class ShenandoahEvacuationInformation : public StackObj {
3535
size_t _collected_old;
3636
size_t _collected_promoted;
3737
size_t _collected_young;
38+
size_t _free_regions;
3839
size_t _regions_promoted_humongous;
3940
size_t _regions_promoted_regular;
4041
size_t _regular_promoted_garbage;
4142
size_t _regular_promoted_free;
42-
size_t _regions_freed;
4343
size_t _regions_immediate;
4444
size_t _immediate_size;
4545

4646
public:
4747
ShenandoahEvacuationInformation() :
4848
_collection_set_regions(0), _collection_set_used_before(0), _collection_set_used_after(0),
49-
_collected_old(0), _collected_promoted(0), _collected_young(0), _regions_promoted_humongous(0),
50-
_regions_promoted_regular(0), _regular_promoted_garbage(0), _regular_promoted_free(0),
51-
_regions_freed(0), _regions_immediate(0), _immediate_size(0) { }
49+
_collected_old(0), _collected_promoted(0), _collected_young(0), _free_regions(0),
50+
_regions_promoted_humongous(0), _regions_promoted_regular(0), _regular_promoted_garbage(0),
51+
_regular_promoted_free(0), _regions_immediate(0), _immediate_size(0) { }
5252

5353
void set_collection_set_regions(size_t collection_set_regions) {
5454
_collection_set_regions = collection_set_regions;
@@ -74,8 +74,8 @@ class ShenandoahEvacuationInformation : public StackObj {
7474
_collected_young = collected;
7575
}
7676

77-
void set_regions_freed(size_t freed) {
78-
_regions_freed = freed;
77+
void set_free_regions(size_t freed) {
78+
_free_regions = freed;
7979
}
8080

8181
void set_regions_promoted_humongous(size_t humongous) {
@@ -112,7 +112,7 @@ class ShenandoahEvacuationInformation : public StackObj {
112112
size_t regions_promoted_regular() { return _regions_promoted_regular; }
113113
size_t regular_promoted_garbage() { return _regular_promoted_garbage; }
114114
size_t regular_promoted_free() { return _regular_promoted_free; }
115-
size_t regions_freed() { return _regions_freed; }
115+
size_t free_regions() { return _free_regions; }
116116
size_t regions_immediate() { return _regions_immediate; }
117117
size_t immediate_size() { return _immediate_size; }
118118
};

src/hotspot/share/gc/shenandoah/shenandoahTrace.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ void ShenandoahTracer::send_evacuation_info_event(ShenandoahEvacuationInformatio
4444
e.set_regionsPromotedRegular(info->regions_promoted_regular());
4545
e.set_regularPromotedGarbage(info->regular_promoted_garbage());
4646
e.set_regularPromotedFree(info->regular_promoted_free());
47-
e.set_regionsFreed(info->regions_freed());
47+
e.set_freeRegions(info->free_regions());
4848
e.set_regionsImmediate(info->regions_immediate());
4949
e.set_immediateBytes(info->immediate_size());
5050

src/hotspot/share/jfr/metadata/metadata.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1220,7 +1220,7 @@
12201220
<Field type="ulong" name="regionsPromotedRegular" label="Regions Promoted Regular" />
12211221
<Field type="ulong" contentType="bytes" name="regularPromotedGarbage" label="Regular Promoted Garbage" description="Garbage memory of in place promoted regular regions" />
12221222
<Field type="ulong" contentType="bytes" name="regularPromotedFree" label="Regular Promoted Free" description="Free memory of in place promoted regular regions" />
1223-
<Field type="ulong" name="regionsFreed" label="Regions Freed" description="Free regions prior to determining collection set" />
1223+
<Field type="ulong" name="freeRegions" label="Free Regions" description="Free regions prior to collection" />
12241224
<Field type="ulong" name="regionsImmediate" label="Regions Immediate" />
12251225
<Field type="ulong" contentType="bytes" name="immediateBytes" label="Immediate Bytes" />
12261226
</Event>

test/jdk/jdk/jfr/event/gc/detailed/TestShenandoahEvacuationInformationEvent.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public class TestShenandoahEvacuationInformationEvent {
4949

5050
public static void main(String[] args) throws Exception {
5151
final long shenandoahHeapRegionSize = 1024 * 1024;
52+
final long shenandoahMaxHeapRegionCount = 64;
5253
Recording recording = new Recording();
5354
recording.enable(EVENT_NAME).withThreshold(Duration.ofMillis(0));
5455
recording.start();
@@ -63,14 +64,14 @@ public static void main(String[] args) throws Exception {
6364
}
6465
System.out.println("Event: " + event);
6566

66-
long setRegions = Events.assertField(event, "cSetRegions").atLeast(0L).getValue();
67+
long cSetRegions = Events.assertField(event, "cSetRegions").atLeast(0L).getValue();
6768
long setUsedAfter = Events.assertField(event, "cSetUsedAfter").atLeast(0L).getValue();
6869
long setUsedBefore = Events.assertField(event, "cSetUsedBefore").atLeast(setUsedAfter).getValue();
69-
long regionsFreed = Events.assertField(event, "regionsFreed").atLeast(0L).getValue();
70+
long freeRegions = Events.assertField(event, "freeRegions").atLeast(0L).getValue();
7071
Events.assertField(event, "collectedOld").atLeast(0L).getValue();
7172
Events.assertField(event, "collectedYoung").atLeast(0L).getValue();
7273

73-
Asserts.assertGreaterThanOrEqual(setRegions, regionsFreed, "setRegions >= regionsFreed");
74+
Asserts.assertGreaterThanOrEqual(shenandoahMaxHeapRegionCount, freeRegions + cSetRegions, "numRegions >= freeRegions + cSetRegions");
7475
Asserts.assertGreaterThanOrEqual(shenandoahHeapRegionSize * setRegions, setUsedAfter, "ShenandoahHeapRegionSize * setRegions >= setUsedAfter");
7576
Asserts.assertGreaterThanOrEqual(shenandoahHeapRegionSize * setRegions, setUsedBefore, "ShenandoahHeapRegionSize * setRegions >= setUsedBefore");
7677

0 commit comments

Comments
 (0)