RFR: 8256730: Code that uses Object.checkIndex() range checks doesn't optimize well
    Roland Westrelin 
    roland at openjdk.java.net
       
    Fri Nov 20 09:48:09 UTC 2020
    
    
  
This was reported by Paul with the vector API. There are 2 issues:
- CastII nodes (added by Objects.checkIndex()) gets in the way of the
  pattern matching performed by range check elimination
- By transforming (CastII (AddI x y)) into (AddI (CastII x) (CastII y))
  some CastII can be eliminated which improves address computation code.
-------------
Commit messages:
 - step over CastII in range checks & push CastII thru add
Changes: https://git.openjdk.java.net/jdk/pull/1342/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1342&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256730
  Stats: 181 lines in 5 files changed: 116 ins; 55 del; 10 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1342.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1342/head:pull/1342
PR: https://git.openjdk.java.net/jdk/pull/1342
    
    
More information about the hotspot-compiler-dev
mailing list