-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P4
-
None
-
Affects Version/s: 26
-
Component/s: hotspot
There three tests we added to ProblemLists are caused by this issue:
```
gc/shenandoah/TestRetainObjects.java#no-tlab 8361099 generic-all
gc/shenandoah/TestSieveObjects.java#no-tlab 8361099 generic-all
gc/shenandoah/TestSieveObjects.java#no-tlab-genshen 8361099 generic-all
```
The problem is assert_bounds is always called from function ShenandoahFreeSet::try_allocate_in, no matter the boundaries have changed or not after the allocation, this is a behavior change introduced by https://bugs.openjdk.org/browse/JDK-8365880, before which assert_bounds was only called after retiring a region.
In the profiler data of test `gc/shenandoah/TestRetainObjects.java#no-tlab`, nearly 90% of CPU time is spent on assert_bounds from method `ShenandoahFreeSet::try_allocate_in`
The issue can be fixed with https://bugs.openjdk.org/browse/JDK-8361099, but I feel it is different issue and the fix is simple so we should fixed it, since JDK-8361099 is a big change we may not backport to older JDK version.
```
gc/shenandoah/TestRetainObjects.java#no-tlab 8361099 generic-all
gc/shenandoah/TestSieveObjects.java#no-tlab 8361099 generic-all
gc/shenandoah/TestSieveObjects.java#no-tlab-genshen 8361099 generic-all
```
The problem is assert_bounds is always called from function ShenandoahFreeSet::try_allocate_in, no matter the boundaries have changed or not after the allocation, this is a behavior change introduced by https://bugs.openjdk.org/browse/JDK-8365880, before which assert_bounds was only called after retiring a region.
In the profiler data of test `gc/shenandoah/TestRetainObjects.java#no-tlab`, nearly 90% of CPU time is spent on assert_bounds from method `ShenandoahFreeSet::try_allocate_in`
The issue can be fixed with https://bugs.openjdk.org/browse/JDK-8361099, but I feel it is different issue and the fix is simple so we should fixed it, since JDK-8361099 is a big change we may not backport to older JDK version.
- caused by
-
JDK-8365880 Shenandoah: Unify memory usage accounting in ShenandoahFreeSet
-
- Resolved
-
- links to
-
Review(master)
openjdk/jdk/29537