RFR - Avoid G1 write barriers on newly allocated objects
mikael.gerdin at oracle.com
Tue Sep 9 14:31:11 UTC 2014
On Friday 05 September 2014 16.31.44 Staffan Friberg wrote:
> Copying both the compiler and GC alias as the optimization involves both
> This optimization aims to avoid generating G1 barriers for newly
> allocated objects where the compiler can prove that the object has not
> been written to earlier and there is no safepoint between the allocation
> and the write. The bug has some further details and microbenchmark
> result. The new code has fairly extensive comments about the optimization.
> It would be great if the GC team can help validate that the premise of
> the optimization is correct as well.
> webrev: http://cr.openjdk.java.net/~sfriberg/8057737/webrev/
I mostly read through the comments since I can't decode what the IR transforms
intend to do :)
We usually stick to the terms "old generation" and "young generation" instead
of "Old Space" and "Young Space".
"G1 also requires to keep track of objects between different
+ * regions to enable evacuation of old regions"
should probably be.
.."to keep track of references between different regions"
I leave it to the compiler team to review the actual code changes.
> bug: https://bugs.openjdk.java.net/browse/JDK-8057737
> I would also need a sponsor for this change if it passes review.
I'll push this to hs-gc after review since we have more G1 test coverage on
More information about the hotspot-compiler-dev