RFR (S): 8004018: Remove old initialization flags
Erik Helin
erik.helin at oracle.com
Fri Jan 11 01:46:38 PST 2013
David,
thanks for the review!
I would just like to confirm, do you think the change looks good and can
be pushed?
Thanks,
Erik
On 01/11/2013 09:37 AM, David Holmes wrote:
> Hi Erik,
>
> On 11/01/2013 4:46 PM, Erik Helin wrote:
>> Hi all,
>>
>> this change removes the three developer flags:
>> - InitializeJavaLangSystem
>> - InitializeJavaLangString
>> - InitializeJavaLangExceptionsErrors
>
> While these were probably useful a long time I don't see the value in
> keeping them now - especially as they have been left to bit-rot. ASnyone
> debugging initialization order issues will undoubtedly need more than
> just these flags.
>
>> The flags InitializeJavaLangSystem and InitalizeJavaLangString crashes
>> the VM when they are set to false (see Testing).
>
> Right. The initialization order is very fragile, if you change it by
> turning off these flags then something will break. The typical failure
> mode these days is trying to throw an exception too soon, which fails
> because java.lang.Class has not be "linked" yet.
>
>> The flag (InitializeJavaLangExceptionsErrors) does not crash the VM when
>> just running "-version". The RFE suggests that it should be removed, so
>> I went ahead and removed it. Should we keep it?
>
> No. I think you will find this only fails to crash the VM due to a
> recent change to the initialization order.
>
> David
> -----
>
>>
>> Webrev:
>> http://cr.openjdk.java.net/~ehelin/8004018/webrev.00/
>>
>> RFE:
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8004018
>>
>> Testing:
>> Running a fastdebug build results in the following:
>>
>> java -XX:-InitializeJavaLangSystem -version
>> # A fatal error has been detected by the Java Runtime Environment
>> # Internal Error (linkResolver.cpp:902)
>> # assert(resolved_method->method_holder()->is_linked()) failed: must be
>> linked
>>
>> java -XX:-InitializeJavaLangString -version
>> # A fatal error has been detected by the Java Runtime Environment
>> # Internal Error (linkResolver.cpp:902)
>> # assert(resolved_method->method_holder()->is_linked()) failed: must be
>> linked
>>
>> JPRT
>>
>> Thanks,
>> Erik
More information about the hotspot-runtime-dev
mailing list