RFR (S) 8031818: Experimental VM flag for enforcing safe object construction
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:
> 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.
> On 1/21/14 2:47 PM, Aleksey Shipilev wrote:
>> Please review the experimental patch for switching the research VM mode
>> which unconditionally emits the memory barrier at the end of constructor:
>> 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.
More information about the hotspot-compiler-dev