RFR - Avoid G1 write barriers on newly allocated objects

Mikael Gerdin mikael.gerdin at oracle.com
Tue Sep 9 14:31:11 UTC 2014

Hi Staffan,

On Friday 05 September 2014 16.31.44 Staffan Friberg wrote:
> Hi,
> Copying both the compiler and GC alias as the optimization involves both
> groups.
> 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 


> Thanks,
> Staffan

More information about the hotspot-compiler-dev mailing list