RFR: 8262096: Vector API fails to work due to VectorShape initialization exception

Jie Fu jiefu at openjdk.java.net
Thu Feb 25 09:36:02 UTC 2021


Hi all,

Vector API fails to work when:
 - case 1: MaxVectorSize is set to <=8, or
 - case 2: C2 is disabled

The reason is that {max/preferred} VectorShape initialization fails in both cases.
And the root cause is that VectorSupport_GetMaxLaneCount [1] returns unreasonable values (0 for case 1 and -1 for case 2).

Vector API should not depend on C2 to run.
It should work even there is no JIT compiler since it's a Java-level api.
So let's fix it.

Testing:
  - jdk/incubator/vector with -XX:MaxVectorSize=default/8 on Linux/x64

Thanks.
Best regards,
Jie

[1] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/prims/vectorSupport.cpp#L364

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

Commit messages:
 - 8262096: Vector API fails to work due to VectorShape initialization exception

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

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


More information about the hotspot-compiler-dev mailing list