RFR: 8312579: [JVMCI] JVMCI support for virtual Vector API objects

Doug Simon dnsimon at openjdk.org
Tue Jul 25 09:33:41 UTC 2023


On Mon, 24 Jul 2023 18:58:02 GMT, Gergö Barany <gbarany at openjdk.org> wrote:

> Optimized Vector API values are represented as raw values in SIMD registers. When deoptimizing with such a value in the state, a Java heap object must be recreated. HotSpot has a special "Location::vector" location type to mark Vector API values, and it knows how to materialize such values.
> 
> Extend the JVMCI code installer to mark the appropriate values as vectors so that JVMCI-compiled code can also deoptimize with Vector API values in SIMD registers.

Marked as reviewed by dnsimon (Reviewer).

src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java line 1036:

> 1034:     }
> 1035: 
> 1036:     private boolean isVector(Value vectorValue) {

`vectorValue` -> `value` (otherwise the name seems to presume a true return value)

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

PR Review: https://git.openjdk.org/jdk/pull/15003#pullrequestreview-1545034206
PR Review Comment: https://git.openjdk.org/jdk/pull/15003#discussion_r1273262605


More information about the hotspot-compiler-dev mailing list