The following check in `try_collect_fullgc` will always be true because either the result of `G1CollectedHeap::do_full_collection` (always `true`) is assigned to `_gc_succeeded` or it's "cancelled" by `_g1_periodic_collection`, which is NOT `is_explicit_full_gc`.
```
if (!GCCause::is_explicit_full_gc(cause) || op.gc_succeeded()) {
return op.gc_succeeded();
}
```
Therefore, there is no need having a loop here.
```
if (!GCCause::is_explicit_full_gc(cause) || op.gc_succeeded()) {
return op.gc_succeeded();
}
```
Therefore, there is no need having a loop here.
- relates to
-
JDK-8357306 G1: Remove _gc_succeeded from VM_G1CollectForAllocation because it is always true
-
- Resolved
-
-
JDK-8357307 VM GC operations should have a public gc_succeeded()
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/e6750a5b
-
Review(master) openjdk/jdk/25296