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

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Jan 22 00:07:07 PST 2014

On 1/21/14 9:10 PM, Vladimir Kozlov wrote:
> May be we should use bitset enums to record types of stores to fields. Next changes touch the same C2 code:
> http://hg.openjdk.java.net/ppc-aix-port/stage-9/hotspot/rev/c6d7e7406136
> 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 other hand we already have experimental flags (for example, AggressiveUnboxing) so it is not big deal.


> Regards,
> Vladimir
> 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