RFR (S) 8031818: Experimental VM flag for enforcing safe object construction
Aleksey Shipilev
aleksey.shipilev at oracle.com
Wed Jan 22 01:19:43 PST 2014
Thanks, Vladimir!
On 01/22/2014 12:07 PM, Vladimir Kozlov wrote:
> On 1/21/14 9:10 PM, Vladimir Kozlov wrote:
>> May be we should use bitset enums to record types of stores to fields.
And the benefit is? I come from the notion Parse is a throw-away
instance anyhow, do we actually care for additional transient byte of
footprint per compilation?
>> 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()).
Copied from C1 code, and I agree "method()->is_initializer()" seems more
readable, although it also matches the static initializers. Unless there
is a readability concern, I'd rather leave it as is to match C1 behavior.
>> 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.
That's what I'm thinking as well.
-Aleksey.
More information about the hotspot-compiler-dev
mailing list