• Samuel Groß's avatar
    Add PageInitializationMode enum for the BoundedPageAllocator · 18c37d32
    Samuel Groß authored
    Currently, when compiling with V8_VIRTUAL_MEMORY_CAGE enabled, the
    behavior of the BoundedPageAllocator changes from simply making freed
    pages inaccessible to decommitting them, which guarantees that they will
    be zero-initialized after the next allocation. As this seems to cause
    some performance regressions on Mac, this CL introduces a new enum that
    specifies how the allocator should behave:
    kAllocatedPagesMustBeZeroInitialized causes the pages to be decommitted
    during FreePages() and ReleasePages() and thus guarantees
    zero-initialization during AllocPages().
    kAllocatedPagesCanBeUninitialized only causes the pages to be made
    inaccessible, and so does not generally guarantee zero-initialization
    for AllocPages().
    
    Finally, this CL also removes some dead code in allocation.cc.
    
    Bug: chromium:1257089
    Change-Id: I53fa52c8913df869bee2b536efe252780d1ad893
    Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208812
    Commit-Queue: Samuel Groß <saelo@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77285}
    18c37d32
Name
Last commit
Last update
..
debug Loading commit data...
numbers Loading commit data...
platform Loading commit data...
sanitizer Loading commit data...
utils Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
address-region.h Loading commit data...
atomic-utils.h Loading commit data...
atomicops.h Loading commit data...
atomicops_internals_atomicword_compat.h Loading commit data...
base-export.h Loading commit data...
bit-field.h Loading commit data...
bits-iterator.h Loading commit data...
bits.cc Loading commit data...
bits.h Loading commit data...
bounded-page-allocator.cc Loading commit data...
bounded-page-allocator.h Loading commit data...
bounds.h Loading commit data...
build_config.h Loading commit data...
compiler-specific.h Loading commit data...
cpu.cc Loading commit data...
cpu.h Loading commit data...
division-by-constant.cc Loading commit data...
division-by-constant.h Loading commit data...
enum-set.h Loading commit data...
export-template.h Loading commit data...
file-utils.cc Loading commit data...
file-utils.h Loading commit data...
flags.h Loading commit data...
free_deleter.h Loading commit data...
functional.cc Loading commit data...
functional.h Loading commit data...
hashmap-entry.h Loading commit data...
hashmap.h Loading commit data...
ieee754.cc Loading commit data...
ieee754.h Loading commit data...
immediate-crash.h Loading commit data...
iterator.h Loading commit data...
lazy-instance.h Loading commit data...
logging.cc Loading commit data...
logging.h Loading commit data...
macros.h Loading commit data...
memory.h Loading commit data...
once.cc Loading commit data...
once.h Loading commit data...
optional.h Loading commit data...
overflowing-math.h Loading commit data...
page-allocator.cc Loading commit data...
page-allocator.h Loading commit data...
qnx-math.h Loading commit data...
region-allocator.cc Loading commit data...
region-allocator.h Loading commit data...
ring-buffer.h Loading commit data...
safe_conversions.h Loading commit data...
safe_conversions_arm_impl.h Loading commit data...
safe_conversions_impl.h Loading commit data...
small-vector.h Loading commit data...
strings.cc Loading commit data...
strings.h Loading commit data...
sys-info.cc Loading commit data...
sys-info.h Loading commit data...
template-utils.h Loading commit data...
threaded-list.h Loading commit data...
timezone-cache.h Loading commit data...
type-traits.h Loading commit data...
ubsan.cc Loading commit data...
v8-fallthrough.h Loading commit data...
vector.h Loading commit data...
vlq-base64.cc Loading commit data...
vlq-base64.h Loading commit data...
vlq.h Loading commit data...
win32-headers.h Loading commit data...