RFR: 8257165: C2: Improve box elimination for vector masks and shuffles

Vladimir Ivanov vlivanov at openjdk.java.net
Thu Nov 26 18:20:07 UTC 2020


Introduce VectorMask/VectorShuffle-specific transformations to reduce reboxing by eliminating `VectorBox`/`VectorUnbox` pairs. 

It's a trivial transformation when the types on both ends perfectly match, but when type mismatch occurs there are additional steps needed (see `PhaseVector::expand_vunbox_node()` for more details on vector unboxing) .  

Testing:
- `jdk/incubator/vector` tests w/ different flag combinations (no flags, `-Xcomp`, `-XX:+DeoptimizeALot`); 
- tier1-4

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

Commit messages:
 - Improve box elimination for vector masks and vector shuffles.

Changes: https://git.openjdk.java.net/jdk/pull/1457/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1457&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8257165
  Stats: 103 lines in 3 files changed: 73 ins; 13 del; 17 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1457.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1457/head:pull/1457

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


More information about the hotspot-compiler-dev mailing list