When there's an evacuation failure during a GC we have to scan all the regions in the CSet in order to remove the self-forwarding references of any object we failed to move and also update according a few other data structures (marking bitmap(s), BOT, etc.). Currently, we do this serially, one region at a time. However, the per-region work is independent of the rest. So, it should be trivial to parallelize.
|