RFR (M): 8247819: G1: Process strong OopStorage entries in parallel
Stefan Karlsson
stefan.karlsson at oracle.com
Thu Jun 25 10:37:34 UTC 2020
Hi Thomas,
This isn't needed after we rewrote the OopStorageSetParState:
+// Needed by _oop_storage_set_strong_par_state as the definition is in the
+// .inline.hpp file.
+G1RootProcessor::~G1RootProcessor() {} --- This doesn't seem to be
used: + + template <typename Closure> + static void
strong_oops_do(Closure* cl); }; --- Just a suggestion to lower the
noise: + G1GCPhaseTimes::GCParPhases phase =
G1GCPhaseTimes::GCParPhases(G1GCPhaseTimes::StrongOopStorageSetRoots +
i); could be changed to: + G1GCPhaseTimes::GCParPhases
phase(G1GCPhaseTimes::StrongOopStorageSetRoots + i);
Thanks,
StefanK
On 2020-06-25 11:56, Thomas Schatzl wrote:
> Hi all,
>
> can I have reviews for this follow-up change to JDK-8248132, adding
> parallel OopStorage strong root processing for G1?
>
> The main difference to other collectors is that G1 has some
> per-OopStorage timing, so a slightly different approach in iterating
> over the OopStorages has been taken. Also, this messes up
> G1GCPhaseTimes a bit (more), but I see fixing that, as it has been a
> mess before, a separate CR.
>
> Also since the internal names of OopStorage (e.g. "VM global") are now
> used in some log messages, I upper-cased them (ie. "VM Global") to
> match other, existing log messages.
>
> This work is based on a POC from Erik Österlund, crediting him for that.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8247819
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8247819/webrev/
> Testing:
> tier1-5
>
> Thanks,
> Thomas
More information about the hotspot-gc-dev
mailing list