Description
`GenCollectedHeap::collect` mixes debug-only `GCCause::_scavenge_alot` with product code in a way that makes the logic hard to follow. Try to take some inspiration from similar scenarios in Parallel (`is_cause_full` in `psVMOperations.cpp`) and G1 (`G1CollectedHeap::try_collect`).