RFR: 8270307: C2: assert(false) failed: bad AD file after JDK-8267687

Yi Yang yyang at openjdk.java.net
Fri Jul 16 13:22:55 UTC 2021


On Thu, 15 Jul 2021 14:33:07 GMT, Yi Yang <yyang at openjdk.org> wrote:

> One input of ConvI2L becomes Top, which causes all nodes in the chain becoming Top, but this CMoveLNode does not change, only its input becomes Top.
> 
> 
>   Pop  2146  CMoveL  === _  351  1  2149  [[ 2182  2187 ]]   Type:long !orig=810,696,[439],288 !jvms: Test::vMeth @ bci:78 (line 8)
> BreakAtNode: _idx=2461 _debug_idx=102702461 orig._idx=2146 orig._debug_idx=92502146
> <               < 2146  CMoveL  === _ _  1 _  [[]]   Type:long !orig=810,696,[439],288 !jvms: Test::vMeth @ bci:78 (line 8)
>> long           2461  CMoveL  === _  2458  2149  1  [[ 2187  2182 ]]   Type:long !orig=2146,810,696,[439],288 !jvms: Test::vMeth @ bci:78 (line 8)
> 
> 
> This CMoveLNode(CMove Binary(.. ..) (Binary .. Con#Top)) can not match any rules in instruction selection phase and finally hits the assert.

Thanks Tobias for kind reminder! I do not familiar with JDK release process. I've added a `Fix Request:` comment on that.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4796


More information about the hotspot-compiler-dev mailing list