Backports to jdk11u and jdk17u

Ludovic Henry ludovic at rivosinc.com
Thu Feb 2 10:31:28 UTC 2023


> 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.

Thank you for all of these!

I would say we start with 1, 2, 3, and 4. For 5, I'll want to take a more
in depth look at each of these changes. Discussing these on the mailing
list is the most appropriate I think.

@Lindenmaier, Goetz <goetz.lindenmaier at sap.com> , what's the policy for
changes which are in the architecture specific folders (os_cpu/linux_riscv
and cpu/riscv)? I understand the general push to keep these to a minimum,
but are there other aspects to the tradeoffs we want to make (performance,
features, readability of the code, etc.)?



On Thu, Feb 2, 2023 at 10:46 AM wangyadong (E) <yadonn.wang at huawei.com>
wrote:

> 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>
>
> 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>
>
> 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>
>
> Date:   Thu Apr 7 20:47:42 2022 +0800
>
>
>
>     revert 8278387: Implement UseHeavyMonitors consistently
>
>
>
> commit 492b705ba21b5022207f361e9c4c3e4d23896ad5
>
> Author: yadongw <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>
>
> Date:   Thu Apr 7 21:14:51 2022 +0800
>
>
>
>     revert 8258192: Obsolete the CriticalNatives flag
>
>
>
> commit cc6cd9de04f5b6ff8612fc1691f6226942863b30
>
> Author: yadongw <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>
>
> 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>
>
> 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>
>
> 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 написал(а):
>
>
>
> 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
> > Sent Time: 2023-01-18 20:47:15 (Wednesday)
> > To: "Ludovic Henry" <ludovic at rivosinc.com>
> > Cc: "Lindenmaier, Goetz" <goetz.lindenmaier at sap.com>, "章翔" <
> zhangxiang at iscas.ac.cn>, "riscv-port-dev at openjdk.org" <
> riscv-port-dev at openjdk.org>, "yadonn.wang at huawei.com" <
> yadonn.wang at huawei.com>, "jdk-updates-dev at openjdk.java.net" <
> 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>
> > Sent Time:2023-01-18 17:05:58 (Wednesday)
> > To: "Lindenmaier, Goetz" <goetz.lindenmaier at sap.com>
> > Cc: "yangfei at iscas.ac.cn" <yangfei at iscas.ac.cn>, "章翔" <
> zhangxiang at iscas.ac.cn>, "riscv-port-dev at openjdk.org" <
> riscv-port-dev at openjdk.org>, "yadonn.wang at huawei.com" <
> yadonn.wang at huawei.com>, "jdk-updates-dev at openjdk.java.net" <
> 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 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></yadonn.wang at huawei.com><
> /riscv-port-dev at openjdk.org></zhangxiang at iscas.ac.cn></yangfei at iscas.ac.cn
> ></goetz.lindenmaier at sap.com></ludovic at rivosinc.com>
> </jdk-updates-dev at openjdk.java.net></yadonn.wang at huawei.com><
> /riscv-port-dev at openjdk.org></zhangxiang at iscas.ac.cn><
> /goetz.lindenmaier at sap.com></ludovic at rivosinc.com>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/riscv-port-dev/attachments/20230202/1ca47b5e/attachment-0001.htm>


More information about the riscv-port-dev mailing list