RFR: 8274851: [PPC64] Port zgc to linux on ppc64le [v2]

Per Liden pliden at openjdk.java.net
Thu Oct 7 14:07:12 UTC 2021


On Thu, 7 Oct 2021 08:27:47 GMT, Niklas Radomski <nradomski at openjdk.org> wrote:

>> Port the Z garbage collector ([JDK-8209683](https://bugs.openjdk.java.net/browse/JDK-8209683)) to linux on ppc64le.
>
> Niklas Radomski has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Update autoconf error message
>  - Remove copyright headers

Nice to see ZGC ported to linux/ppc!

I don't have a lot to say about the ppc-specific code. As you know, we at Oracle don't build and test on that platform, so any problems here will go unnoticed by us. It would be good to see a review or two from your colleagues at SAP.

src/hotspot/share/gc/z/zBarrierSetAssembler.cpp line 30:

> 28: 
> 29: Address ZBarrierSetAssemblerBase::address_bad_mask_from_thread(Register thread) {
> 30:   return Address(thread, (intptr_t) ZThreadLocalData::address_bad_mask_offset());

Instead of casting here in this platform agnostic code, I'd suggest that you add a new constructor for `Address` on PPC, one that takes `(Register, ByteSize)` arguments. Other platforms have that, so I'm a bit surprised that PPC doesn't already have that too.

src/hotspot/share/gc/z/zBarrierSetAssembler.cpp line 34:

> 32: 
> 33: Address ZBarrierSetAssemblerBase::address_bad_mask_from_jni_env(Register env) {
> 34:   return Address(env, (intptr_t) (ZThreadLocalData::address_bad_mask_offset() - JavaThread::jni_environment_offset()));

.... and we would avoid there cast here also.

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

Changes requested by pliden (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5842



More information about the build-dev mailing list