RFR: 8273317: crash in cmovP_cmpP_zero_zeroNode::bottom_type() [v2]

SUN Guoyun duke at openjdk.java.net
Tue Oct 19 07:21:53 UTC 2021


On Mon, 18 Oct 2021 15:18:57 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> SUN Guoyun has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8273317: crash in cmovP_cmpP_zero_zeroNode::bottom_type()
>
> src/hotspot/share/adlc/output_h.cpp line 1947:
> 
>> 1945:       // Special special hack to see if the Cmp? has been incorporated in the conditional move
>> 1946:       MatchNode *rl = instr->_matrule->_rChild->_lChild;
>> 1947:       if( rl && !strcmp(rl->_opType, "Binary") && rl->_rChild && strncmp(rl->_rChild->_opType, "Cmp", 3) == 0) {
> 
> Code style. Use `if (rl &&`.

Done

> src/hotspot/share/adlc/output_h.cpp line 1958:
> 
>> 1956:     }
>> 1957:     else if( instr->_matrule && instr->_matrule->_rChild && !strcmp(instr->_matrule->_rChild->_opType,"CMoveN") ) {
>> 1958:       int offset = 1;
> 
> The following code, AFAIS, matches `CMoveP` code. The only difference is comment: `// CMoveN` vs `// CMoveP` unless I am missing something.
> Consider factoring code into separate function and path node's name as string.

Yes,you are right

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

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


More information about the hotspot-compiler-dev mailing list