Similar cleanup as https://github.com/openjdk/jdk/pull/19056 but in Parallel. As a result, the corresponding code in `SerialHeap` and `ParallelScavengeHeap` share much similarity.
The easiest way to review is to start from these two VM operations, `VM_ParallelCollectForAllocation` and `VM_ParallelGCCollect` and follow the new code directly, where one can see how allocation-failure triggers various GCs with different collection efforts. Test: tier1-6; perf-neural for dacapo, specjvm2008, specjbb2015 and cachestresser. ------------- Commit messages: - pgc-vm-operation Changes: https://git.openjdk.org/jdk/pull/20077/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20077&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8335902 Stats: 352 lines in 14 files changed: 96 ins; 169 del; 87 mod Patch: https://git.openjdk.org/jdk/pull/20077.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20077/head:pull/20077 PR: https://git.openjdk.org/jdk/pull/20077