Currently, object arraycopies requires up to 3 scans of the array:
1. Pre-barrier scans the dst array for SATB
2. Actual copy (using blit transfer)
3. Post-barrier scans the dst array again to update any from-space refs to to-space
This can be folded into a single loop which does the above per-element, and ensures to-space invariant before actually storing the object into the dst array. The latter would help other code that currently needs to deal with (temporary) from-space refs in arrays. See JDK-8222766.