RFR (S) 8031818: Experimental VM flag for enforcing safe object construction
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:
> 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