Duplicate :
|
Initialization of the _worker_id member of G1ParClosureSuper is somewhat complicated, in order to avoid accessing the partially initialized G1ParScanThreadState when constructing the G1ParScanClosure that is embedded in the state object. However, it turns out that _worker_id is nearly unused. The use by G1ParScanClosure is spurious, as the value is discarded obtained. The only real use of that value is in G1ParCopyHelper. By eliminating that member from G1ParClosureSuper and adding a similar member to G1ParCopyHelper, we can simplify the construction and usage of all the classes derived from G1ParClosureSuper.