RFR (S) 8031818: Experimental VM flag for enforcing safe object construction

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Jan 21 21:10:43 PST 2014

May be we should use bitset enums to record types of stores to fields. Next changes touch the same C2 code:


It uses method()->is_initializer() instead of (method()->name() == ciSymbol::object_initializer_name()).

The main problem that new flag check will be executed always. It will not be optimized by C++.


On 1/21/14 2:47 PM, Aleksey Shipilev wrote:
> Hi,
> Please review the experimental patch for switching the research VM mode
> which unconditionally emits the memory barrier at the end of constructor:
>    http://cr.openjdk.java.net/~shade/8031818/webrev.00/
>    https://bugs.openjdk.java.net/browse/JDK-8031818
> This would be convenient to have in mainline, because it will also
> propagate to another arch ports (notably PPC C2 port), and will ease the
> performance research for the upcoming JMM update.
> Thanks,
> -Aleksey.

More information about the hotspot-compiler-dev mailing list