[9] RFR (XS): 8072422: Change a number of flags controlling loop optimizations to 'develop'
Zoltán Majó
zoltan.majo at oracle.com
Thu Mar 31 08:15:48 UTC 2016
Hi Vladimir,
thank you for your feedback!
On 03/23/2016 11:58 PM, Vladimir Kozlov wrote:
> These flags were added when I fixed long standing C2 problem with
> counted loops: 5091921.
> They were added to have ability to revert back to original code if new
> code cause a problem.
> Looks like the old code which executed with these flags switched off
> become rotten.
>
> Zoltan, did you find what cause the crash? Looks like product VM was
> used in the bug report. What result gives fastdebug VM?
I've tried starting different VM versions with the flag(s) off. The most
frequent error I get is
# Internal Error
(/home/zmajo/Documents/repos/8072422/hotspot/src/share/vm/opto/loopnode.cpp:3615),
pid=32727, tid=32746
# assert(false) failed: Bad graph detected in build_loop_late
So it seems that the code executed with the flags off has indeed become
rotten.
> Converting flags to develop will not prevent problems happening with
> fastdebug VM where these flags could be switched off even when they
> are develop.
>
> If the problem with original code (flags are off) is something
> fundamental we may simple remove old code and remove these flags and
> have only new code. 5 years already passed since 5091921 was fixed.
Yes, I agree. I think it's reasonable to remove the old code.
Here is the new webrev:
http://cr.openjdk.java.net/~zmajo/8072422/webrev.01/
The changes pass JPRT.
I've changed the title of the bug to "Cleanup: Remove some unused
flags/code in loop optimizations" to better reflect what the change is
doing. I have kept the original title in the RFR.
Thank you!
Best regards,
Zoltan
>
> Thanks,
> Vladimir
>
> On 3/23/16 6:26 AM, Zoltán Majó wrote:
>> Hi,
>>
>>
>> please review the patch for 8072422.
>>
>> https://bugs.openjdk.java.net/browse/JDK-8072422
>>
>> Problem: Some flags controlling loop optimizations are currently
>> 'diagnostic'. Even though these flags are useful mostly for
>> compiler-related development, their value can be changed not only in
>> fastdebug, but also also in release builds,
>>
>> Solution: Change the flags to 'develop'.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~zmajo/8072422/webrev.00/
>>
>> Testing:
>> - locally built/started VM;
>> - locally executed
>> runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java.
>>
>> Thank you and best regards,
>>
>>
>> Zoltan
>>
More information about the hotspot-compiler-dev
mailing list