RFR: 8317121: vector_masked_load instruction is moved too early after JDK-8286941 [v2]

Vladimir Kozlov kvn at openjdk.org
Tue Oct 3 16:10:27 UTC 2023


> [JDK-8286941](https://bugs.openjdk.org/browse/JDK-8286941) changed how masked vector operations are created and processed. It calls `LoadNode::Ideal()` which tries to find best place in code for it.
> Unfortunately some places do not expect to have vector access to modified memory.
> In `LoadNode::find_previous_arraycopy()` the call to `ArrayCopyNode::modifies()` assumes that it access only one element and did not take into account that a vector may access wider memory.
> The same issue exists with Unsafe mismatching (bigger size) access.
> 
> The fix is to take into account size of memory access.
> 
> New regression test is added which show the issue.
> 
> Tested tier1-5. xcomp, stress. Testing tier6-7 in progress.

Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:

  Be more specific in exception message which test failed

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16015/files
  - new: https://git.openjdk.org/jdk/pull/16015/files/7b5e9977..267492cc

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16015&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16015&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/16015.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16015/head:pull/16015

PR: https://git.openjdk.org/jdk/pull/16015


More information about the hotspot-compiler-dev mailing list