[Enh]: 8230091: Add verification of clean_catch_blocks

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Aug 23 20:11:10 UTC 2019


Okay. Good.

Thanks,
Vladimir

On 8/23/19 11:53 AM, Nils Eliasson wrote:
> Hi Vladimir,
> 
> Sorry - I should have explained in the RFR.
> 
> The first call moves/clones any load that are found at a improper place. The second call, with verify set to true, will 
> do the same IR traversal but assert if it can find a load still needing the transform. (So the second call never 
> transforms anything.)
> 
> This will catch problems with the transform not actually doing its full job (like missing some uses in 8229970), or 
> transforming into a shape that is not ok.
> 
> // Nils
> 
> On 2019-08-23 19:19, Vladimir Kozlov wrote:
>> Hi Nils
>>
>> Why you execute two times?:
>>
>>      clean_catch_blocks(phase);
>> +    DEBUG_ONLY(clean_catch_blocks(phase, true /* verify */);)
>>
>> Did you mean something like next?:
>>
>> clean_catch_blocks(phase, DEBUG_ONLY(true) NOT_DEBUG(false) /* verify */);
>>
>> Thanks,
>> Vladimir
>>
>> On 8/23/19 1:30 AM, Nils Eliasson wrote:
>>> Hi,
>>>
>>> This patch adds some verfication of clean_catch_blocks in zBarrierSetC2. This would have catched the bug i recently 
>>> fixed: JDK-8229970
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8230091
>>>
>>> Webrev: http://cr.openjdk.java.net/~neliasso/8230091/webrev.01/
>>>
>>> Regards,
>>>
>>> Nils
>>>


More information about the hotspot-compiler-dev mailing list