Backports to jdk11u and jdk17u
wangyadong (E)
yadonn.wang at huawei.com
Thu Feb 2 09:46:05 UTC 2023
Hi,
I have a “ready-to-go” recently-rebased backport version of jdk17u-dev for riscv (https://github.com/yadongw/jdk17u-dev/tree/backport-riscv-port-v6).
It based on the initial implementation of JEP-422 with some modifications for backport to 17u, and included a collection of patches that I think are necessary. We can discuss whether it's appropriate.
I suggest to do an initial backport PR including 1, 2, 3 and 4. And the list of patches in 5 require more effort from anyone interested to backport one by one, if necessary.
Looking forward to your comments.
1. The initial patch
commit 84efeb4e3e0e6b0c03f5ab043f276cf537de3b81
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Sat Apr 2 15:58:06 2022 +0800
8276799: Implementation of JEP 422: Linux/RISC-V Port
2. remove features that do not belong to jdk 17
commit ce9864243a9d75589ed444cd439c02d2ae710ff9
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Thu Apr 7 20:33:59 2022 +0800
revert 8277417: C1 LIR instruction for load-klass
commit 441d0e77ad7579849c9533f15ca44b3843fb55af
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Thu Apr 7 20:47:42 2022 +0800
revert 8278387: Implement UseHeavyMonitors consistently
commit 492b705ba21b5022207f361e9c4c3e4d23896ad5
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Thu Apr 7 21:09:05 2022 +0800
revert 8227369: pd_disjoint_words_atomic() needs to be atomic
commit 0fec342dba256726e3b2e592533bc5deb9c58e84
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Thu Apr 7 21:14:51 2022 +0800
revert 8258192: Obsolete the CriticalNatives flag
commit cc6cd9de04f5b6ff8612fc1691f6226942863b30
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Thu Apr 7 21:12:43 2022 +0800
revert 8281632: riscv: Improve interpreter stack banging
commit ac8fc147f82f78e7cab87e5f1301d7510348600e
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Sat Apr 23 11:37:50 2022 +0800
revert 8283364: Intrinsify countPositives
3. add features that belongs to jdk 17
commit 930df079ec09715c65a93ce20893fb58bf5e8e89
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Fri Apr 1 12:04:41 2022 +0800
enable the biased locking
4. Wrap modifications to shared code under RISCV and revert changes to other platforms
commit 5a8be1b201142c0f0c245d0ff2d01c5290a69e95
Author: yadongw <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>
Date: Sun May 22 23:38:56 2022 +0800
isolate modification to other platforms
5. Patch list for backport
5.1 patch for bugfix
8282306: os::is_first_C_frame(frame*) crashes on invalid link access
8282477: vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
8293007: riscv: failed to build after JDK-8290025
8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub
8284191: Replace usages of 'a the' in hotspot and java.base
8285437: riscv: Fix MachNode size mismatch for MacroAssembler::verify_oops*
8287552: riscv: Fix comment typo in li64
8287970: riscv: jdk/incubator/vector/*VectorTests failing
8290496: riscv: Fix build warnings-as-errors with GCC 11
8291893: riscv: remove fence.i used in user space
8291947: riscv: fail to build after JDK-8290840
8294012: RISC-V: get/put_native_u8 missing the case when address&7 is 6
8294083: RISC-V: Minimal build failed with --disable-precompiled-headers
8294087: RISC-V: RVC: Fix a potential alignment issue and add more alignment assertions for the patchable calls/nops
8294190: Incorrect check messages in SharedRuntime::generate_uncommon_trap_blob
8295016: Make the arraycopy_epilogue signature consistent with its usage
8295468: RISC-V: Minimal builds are broken
8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic
8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
8296771: RISC-V: C2: assert(false) failed: bad AD file
5.2 Other refactoring patches
8290137: riscv: small refactoring for add_memory_int32/64
8292867: RISC-V: Simplify weak CAS return value handling
8293050: RISC-V: Remove redundant non-null assertions about macro-assembler
8293290: RISC-V: Explicitly pass a third temp register to MacroAssembler::store_heap_oop
8293474: RISC-V: Unify the way of moving function pointer
8293524: RISC-V: Use macro-assembler functions as appropriate
8293566: RISC-V: Clean up push and pop registers
8293769: RISC-V: Add a second temporary register for BarrierSetAssembler::load_at
8293781: RISC-V: Clarify types of calls
8293840: RISC-V: Remove cbuf parameter from far_call/far_jump/trampoline_call
8294086: RISC-V: Cleanup InstructionMark usages in the backend
8294100: RISC-V: Move rt_call and xxx_move from SharedRuntime to MacroAssembler
8294187: RISC-V: Unify all relocations for the backend into AbstractAssembler::relocate()
8294366: RISC-V: Partially mark out incompressible regions
8294430: RISC-V: Small refactoring for movptr_with_offset
8294492: RISC-V: Use li instead of patchable movptr at non-patchable callsites
8295110: RISC-V: Mark out relocations as incompressible
8295270: RISC-V: Clean up and refactoring for assembler functions
8295273: Remove unused argument in [load/store]_sized_value on aarch64 and riscv
8295396: RISC-V: Cleanup useless CompressibleRegions
8295703: RISC-V: Remove implicit noreg temp register arguments in MacroAssembler
8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0
From: Vladimir Kempik [mailto:vladimir.kempik at gmail.com]
Sent: Wednesday, February 1, 2023 5:35 PM
To: yangfei at iscas.ac.cn
Cc: Ludovic Henry <ludovic at rivosinc.com>; Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; 章翔 <zhangxiang at iscas.ac.cn>; riscv-port-dev at openjdk.org; wangyadong (E) <yadonn.wang at huawei.com>; jdk-updates-dev at openjdk.java.net
Subject: Re: Backports to jdk11u and jdk17u
Hello
After initial jep-422. we saw few bug-fixes coming in, they were critical for risc-v.
We should probably identify and include them into the port ?
For example:
https://bugs.openjdk.org/browse/JDK-8293100
Regards, Vladimir
1 февр. 2023 г., в 05:23, yangfei at iscas.ac.cn<mailto:yangfei at iscas.ac.cn> написал(а):
Hi all,
Good news is that following three repos have been created by ops and should be ready for use!
https://github.com/openjdk/riscv-port-jdk17u
https://github.com/openjdk/riscv-port-jdk11u
https://github.com/openjdk/riscv-port-jdk8u
They are seeded with jdk{17, 11, 8}u-dev repos respectively.
We should start from riscv-port-jdk17u. And I have created a riscv-port branch in this repo for future 17u backporting work.
As mentioned by Lindenmaier Goetz, the initial backport should be restricted to the changes that are definitely needed to get it working.
Also, changes to shared code should be kept to a minimum.
Please let me know if there are other things missed.
Thanks,
Fei Yang
> -----Original Messages-----
> From: yangfei at iscas.ac.cn<mailto:yangfei at iscas.ac.cn>
> Sent Time: 2023-01-18 20:47:15 (Wednesday)
> To: "Ludovic Henry" <ludovic at rivosinc.com<mailto:ludovic at rivosinc.com>>
> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier at sap.com<mailto:goetz.lindenmaier at sap.com>>, "章翔" <zhangxiang at iscas.ac.cn<mailto:zhangxiang at iscas.ac.cn>>, "riscv-port-dev at openjdk.org<mailto:riscv-port-dev at openjdk.org>" <riscv-port-dev at openjdk.org<mailto:riscv-port-dev at openjdk.org>>, "yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>" <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>, "jdk-updates-dev at openjdk.java.net<mailto:jdk-updates-dev at openjdk.java.net>" <jdk-updates-dev at openjdk.java.net<mailto:jdk-updates-dev at openjdk.java.net>>
> Subject: Re: Re: Re: Re: Backports to jdk11u and jdk17u
>
> -----Original Messages-----
> From:"Ludovic Henry" <ludovic at rivosinc.com<mailto:ludovic at rivosinc.com>>
> Sent Time:2023-01-18 17:05:58 (Wednesday)
> To: "Lindenmaier, Goetz" <goetz.lindenmaier at sap.com<mailto:goetz.lindenmaier at sap.com>>
> Cc: "yangfei at iscas.ac.cn<mailto:yangfei at iscas.ac.cn>" <yangfei at iscas.ac.cn<mailto:yangfei at iscas.ac.cn>>, "章翔" <zhangxiang at iscas.ac.cn<mailto:zhangxiang at iscas.ac.cn>>, "riscv-port-dev at openjdk.org<mailto:riscv-port-dev at openjdk.org>" <riscv-port-dev at openjdk.org<mailto:riscv-port-dev at openjdk.org>>, "yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>" <yadonn.wang at huawei.com<mailto:yadonn.wang at huawei.com>>, "jdk-updates-dev at openjdk.java.net<mailto:jdk-updates-dev at openjdk.java.net>" <jdk-updates-dev at openjdk.java.net<mailto:jdk-updates-dev at openjdk.java.net>>
> Subject: Re: Re: Re: Backports to jdk11u and jdk17u
>
> Hi,
>
> >> It would be great to see a complete list of
> >> changes that need to be backported.
> > Let's make sure we can bake the backports in a dedicated repository so that we can have a better sense on what the changes would entail.
> >
> > After reaching to skara-dev, the only thing needed to create these repositories is for the riscv-project to contact ops at openjdk dot org. @Fei Yang, I am assuming you'd need to contact them being the riscv-port lead.
>
> Sure! I just sent an email to ops at openjdk.java.net<mailto:ops at openjdk.java.net> requesting creation of following three new repos:
>
> 1. https://github.com/openjdk/riscv-port-jdk17u
> 2. https://github.com/openjdk/riscv-port-jdk11u
> 3. https://github.com/openjdk/riscv-port-jdk8u
>
> Let's see :-)
>
> Thanks,
> Fei
> </jdk-updates-dev at openjdk.java.net<mailto:/jdk-updates-dev at openjdk.java.net>></yadonn.wang at huawei.com<mailto:/yadonn.wang at huawei.com>></riscv-port-dev at openjdk.org<mailto:/riscv-port-dev at openjdk.org>></zhangxiang at iscas.ac.cn<mailto:/zhangxiang at iscas.ac.cn>></yangfei at iscas.ac.cn<mailto:/yangfei at iscas.ac.cn>></goetz.lindenmaier at sap.com<mailto:/goetz.lindenmaier at sap.com>></ludovic at rivosinc.com<mailto:/ludovic at rivosinc.com>>
</jdk-updates-dev at openjdk.java.net<mailto:/jdk-updates-dev at openjdk.java.net>></yadonn.wang at huawei.com<mailto:/yadonn.wang at huawei.com>></riscv-port-dev at openjdk.org<mailto:/riscv-port-dev at openjdk.org>></zhangxiang at iscas.ac.cn<mailto:/zhangxiang at iscas.ac.cn>></goetz.lindenmaier at sap.com<mailto:/goetz.lindenmaier at sap.com>></ludovic at rivosinc.com<mailto:/ludovic at rivosinc.com>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/riscv-port-dev/attachments/20230202/c04f0fce/attachment-0001.htm>
More information about the riscv-port-dev
mailing list