8f3c341936
Guard pages are 4k areas at the beginning and end of each oilpan page (128kiB) which are meant to be inaccessible. However on ARM64 macOS, the OS page size is 16kiB, meaning that these are not inaccessible. But we do pay for these, as they are part of the first and last OS page. Meaning that we effectively waste 2 * 4kiB = 6.25% of each Oilpan page. Since these are not serving their purpose, disable them on this platform. Another fix could be to make the guard page 16kiB, but given that the entire oilpan page is 128kiB, this may have adverse effects on e.g. fragmentation. Note that this doesn't regress security, as the regions were never protected to begin with on this platform. Bug: chromium:1298417 Change-Id: Iad5d05670962780e6d1eeab2bb8a331deb7aa1f3 Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3471558 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79151} |
||
---|---|---|
.. | ||
base | ||
cppgc | ||
cppgc-js | ||
allocation-observer-unittest.cc | ||
barrier-unittest.cc | ||
bitmap-test-utils.h | ||
bitmap-unittest.cc | ||
code-object-registry-unittest.cc | ||
embedder-tracing-unittest.cc | ||
gc-idle-time-handler-unittest.cc | ||
gc-tracer-unittest.cc | ||
heap-controller-unittest.cc | ||
heap-unittest.cc | ||
heap-utils.cc | ||
heap-utils.h | ||
index-generator-unittest.cc | ||
list-unittest.cc | ||
local-factory-unittest.cc | ||
local-heap-unittest.cc | ||
marking-unittest.cc | ||
marking-worklist-unittest.cc | ||
memory-reducer-unittest.cc | ||
object-start-bitmap-unittest.cc | ||
object-stats-unittest.cc | ||
persistent-handles-unittest.cc | ||
progressbar-unittest.cc | ||
safepoint-unittest.cc | ||
slot-set-unittest.cc | ||
spaces-unittest.cc | ||
unmapper-unittest.cc |