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/+/3601211 Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80111}
This commit is contained in:
parent
1ebb9786d6
commit
0603f8a953
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user