RFR: Loom: Add missing stubs to fix build failures on PPC64, S390, ARM32 and Zero

Hao Sun haosun at openjdk.java.net
Thu Jan 27 10:49:27 UTC 2022


PPC64, S390, ARM32, Zero stubs were initially introduced to Loom in
commit 3a89cd5 [1]. However, necessary updates were missing afterward,
leading to compilation failures.

1. frame_helpers.inline.hpp

In commit 854a81a [2], platform specific implementation was extracted
from continuation.cpp to frame_helpers.inline.hpp, and the corresponding
headers for only x86 and aarch64 were created then.

This same updates should be done to PPC64/S390/ARM32/Zero as well.
Otherwise, the following compilation error would be emitted.


~/jdk_src/src/hotspot/share/runtime/frame_helpers.inline.hpp:326:1:
fatal error: frame_helpers_ppc.inline.hpp: No such file or directory

  326 | #include CPU_HEADER_INLINE(frame_helpers)

        | ^~~~~~~~~~~~~~~~~

        compilation terminated.


Fix: see the updates in continuation_XX.inline.hpp and
frame_helpers_XX.inline.hpp.

2. ZGC support for PPC64

ZGC support for Loom was implemented two years ago in commit 05b1b53
[3]. Recently ZGC for PPC64 was supported in the mainline. See commit
337b73a [4].

However, stub `BarrierSetNMethod::arm()` is missing for PPC64 platform.

Here is the snippet of error log when cross-compiling on PPC64 in my
local test environment.


* For target
* hotspot_variant-server_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link:

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

Commit messages:
 - Loom: Add missing stubs to fix build failures on PPC64, S390, ARM32 and Zero

Changes: https://git.openjdk.java.net/loom/pull/87/files
 Webrev: https://webrevs.openjdk.java.net/?repo=loom&pr=87&range=00
  Stats: 589 lines in 9 files changed: 352 ins; 232 del; 5 mod
  Patch: https://git.openjdk.java.net/loom/pull/87.diff
  Fetch: git fetch https://git.openjdk.java.net/loom pull/87/head:pull/87

PR: https://git.openjdk.java.net/loom/pull/87


More information about the loom-dev mailing list