On Sun, 20 Sep 2026 01:20:06 GMT, Dingli Zhang <[email protected]> wrote:
>> @lmesnik I updated tests timeout to 480 and moved 2 recently added tests >> which run > 1min to tier2. >> When I looked on previous testing logs I noticed that >> `aotCode/ATOCodeFlag.java` test which was excluded from tier1 did not run >> in tier2. The reason was that I forgot to add it to >> `tier1_runtime_appcds_exclude` group. I fixed it in these changes. > > Hi @vnkozlov, > > Could you please include the following RISC-V support patch in this PR as > well? > https://github.com/DingliZhang/jdk/commit/5ee95351ad6902e02605192a610b0ad327792b34 > > The main changes in the RISC-V backend are: > - Patch narrow klass values in `li32` sequences using compressed-klass > encoding, and handle full metadata pointers in `movptr1`/`movptr2` sequences. > - Emit `la` with relocation information for C2 external address constants, > while retaining `mv` for constants without relocations and fake addresses. > - Read and write destinations stored in RISC-V address stubs without enabling > trampoline owner fixup: the call-to-stub `auipc` pair remains within the same > code blob after relocation. > - Keep the RVV array hash-code coefficient table relocation at its registered > stub entry, then apply the `sizeof(jint)` offset with `addi`. > - Apply the same offset-range check when patching and emitting `auipc` pairs, > preventing silent truncation of out-of-range offsets. > > Tested on Linux/RISC-V (SG2044) with a fastdebug build: > - `runtime/cds/appcds/aotCache` > - `runtime/cds/appcds/aotCode` > - `tier1-tier3` > > The five framework workloads below are those shown in the [AOT code caching > performance > chart](https://bugs.openjdk.org/secure/attachment/119123/AOTCodeCachingPerformance_for_JEP.png) > attached to [JDK-8335368](https://bugs.openjdk.org/browse/JDK-8335368). > > For performance, I used a release build of this commit on k3 and SG2044, with > each measured JVM pinned to two CPUs. The following results are medians of > five fresh JVM runs per configuration, normalized independently on each > machine to **default = 1000; lower is better**. > > - **default:** No application AOT cache. > - **AOT Cache:** AOT cache with `AOTCodeCaching`, `AOTStubCaching`, and > `AOTAdapterCaching` disabled. > - **AOT Cache + Code:** The same cache with full AOT code caching enabled. > > Results on k3 (2 cores): > | Workload | default | AOT Cache | AOT Cache + Code | > | ----------- | ------: | --------: | ---------------: | > | Helidon | 1000 | 351 | 249 | > | Micronaut | 1000 | 377 | 287 | > | Quarkus | 1000 | 369 | 289 | > | Spring Boot | 1000 | 437 | 304 | > | PetClinic | 1000 | 498 | 409 | > > Results on SG2044 (2 cores): > | Workload | default | AOT Cache | AOT Cache + Code | > | ----------- | ------: | --------: | ---------------: | > | Helidon | 1000 | 310 | 209 | > | Micronau... Hi @DingliZhang > Could you please include the following RISC-V support patch in this PR as > well? Done. ------------- PR Comment: https://git.openjdk.org/jdk/pull/30778#issuecomment-5747209881
