RFR: 8259398: Super word not applied to a loop with byteArrayViewVarHandle

Vladimir Kozlov kvn at openjdk.java.net
Fri Jan 29 17:45:54 UTC 2021


Address expressing in this case has CastII which is not range check related.
I think it is safe to skip any CastII nodes (similar to ConvI2L nodes) when parsing address for vectors - vectors will be constructed only if the same loop's variable and invariant are used for all memory operations regardless casts. Also vectors address depends on loop's variable so they will not be moved outside loop.
In 32-bit VM there is no ConvI2L nodes so I moved CastII checks from under ConvI2L check.

New regression case added to TestBufferVectorization.java test.

Testing hs-tier1-7, RenaissanceStressTest. Run all vectorizing tests locally to make sure no regression.

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

Commit messages:
 - 8259398: Super word not applied to a loop with byteArrayViewVarHandle

Changes: https://git.openjdk.java.net/jdk/pull/2317/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2317&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8259398
  Stats: 57 lines in 2 files changed: 41 ins; 6 del; 10 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2317.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2317/head:pull/2317

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


More information about the hotspot-compiler-dev mailing list