RFR: 8367253: RISC-V: refactor dependent cpu extensions [v4]

Hamlin Li mli at openjdk.org
Thu Sep 25 13:03:19 UTC 2025


> Hi,
> Can you help to review this patch?
> 
> Dependent extensions could be improved in several ways.
> 
> Currently, the dependent cpu extensions are processed in 2 separate places:
> 1. update_flag() when calling VM_Version::setup_cpu_available_features()
> 2. at the end of VM_Version::common_initialize().
> 
> And, dependency relationship can only be expressed in (1:1) way, can not be expressed (1:N) way, but in fact some extensions can depend on several different other extensions, for example, zvfh depends on zvf and rvv. It's would be better to support this (1:N) relationship.
> 
> So, this PR brings several benefits:
> 1. VM options directly related to CPU extensions are automatically set, and they are all set in one place.
> 2. keep synchronization between CPU extensions (information in RVFeatureValue) and and VM options. Previously, code in common_initialize wont' sync to RVFeatureValue, unless do it manually, which is error-prone.
> 3. support to express (1:N) dependency relationship among cpu extensions and related vm options.
> 
> Thanks!

Hamlin Li has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 13 commits:

 - merge master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'master' into refactor-dependent-cpu-extensions
 - Merge branch 'openjdk:master' into master
 - initial commit
 - add includes
 - ... and 3 more: https://git.openjdk.org/jdk/compare/d1ea6ea2...20598b77

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

Changes: https://git.openjdk.org/jdk/pull/27171/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27171&range=03
  Stats: 138 lines in 2 files changed: 53 ins; 30 del; 55 mod
  Patch: https://git.openjdk.org/jdk/pull/27171.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27171/head:pull/27171

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


More information about the hotspot-dev mailing list