The G1ParCopyHelper class only seems to be used to work around template issues for G1ParCopyClosure. It is possible to solve these issues without G1ParCopyHelper, making G1ParCopyClosure inherit directly from G1ParClosureSuper.
This will reduce the code complexity a bit and also remove the kind of scary dependency between G1ParCopyHelper and G1ParCopyClosure wrt the initialization of the _scanner field.
Attaching a patch for how to do this. The patch is based on hotspot-gc changeset: 2946:2ace1c4ee8da.