Commit 0603f8a9 authored by Milad Fa's avatar Milad Fa Committed by V8 LUCI CQ

PPC/S390: Disable builtin remap on P/Z linux

There is currently a bug in docker where fstat may not
return the correct device id and as a result a check under
`OS::RemapPages, stat_buf.st_dev != enclosing_region.dev`
fails, details on the bug:
https://github.com/moby/moby/issues/43512

Platform specific page sizes are also defined for kMaxPageSize
to fix compilation errors.

Change-Id: I026609329aa6432eda4f1880a0f586c0c2162461
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3601211Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#80111}
parent 1ebb9786
......@@ -311,7 +311,8 @@ class V8_BASE_EXPORT OS {
// Whether the platform supports mapping a given address in another location
// in the address space.
V8_WARN_UNUSED_RESULT static constexpr bool IsRemapPageSupported() {
#if defined(V8_OS_MACOS) || defined(V8_OS_LINUX)
#if (defined(V8_OS_MACOS) || defined(V8_OS_LINUX)) && \
!(defined(V8_TARGET_ARCH_PPC64) || defined(V8_TARGET_ARCH_S390X))
return true;
#else
return false;
......
......@@ -23,8 +23,17 @@ namespace v8 {
namespace base {
#ifdef V8_TARGET_OS_WIN
// Alignemnt is constrained on Windows.
// Alignment is constrained on Windows.
constexpr size_t kMaxPageSize = 4096;
#elif V8_HOST_ARCH_PPC64
#if defined(_AIX)
// gcc might complain about overalignment (bug):
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89357
constexpr size_t kMaxPageSize = 4096;
#else
// Native PPC linux has large (64KB) physical pages.
constexpr size_t kMaxPageSize = 65536;
#endif
#else
constexpr size_t kMaxPageSize = 16384;
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment