RFR: 8256730: Code that uses Object.checkIndex() range checks doesn't optimize well [v3]

Roland Westrelin roland at openjdk.java.net
Mon Nov 23 09:40:18 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.

Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:

  CastII pushed thru chain of AddIs

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1342/files
  - new: https://git.openjdk.java.net/jdk/pull/1342/files/76e6348d..faf980ab

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1342&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1342&range=01-02

  Stats: 386 lines in 3 files changed: 214 ins; 170 del; 2 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