[Enh]: 8230091: Add verification of clean_catch_blocks
Nils Eliasson
nils.eliasson at oracle.com
Fri Aug 23 18:53:44 UTC 2019
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