• Hannes Payer's avatar
    [heap] Implemented write protected code pages. · 14917b65
    Hannes Payer authored
    This CL provides the basic infrastructure on the GC side for write protected code pages.
    
    The only thing missing on the GC side is the out-of-line free list implementation. In this
    CL sweeper threads and the mutator need to synchronize when page protection mode changes.
    This would not be necessary if the sweepr use and out-of-line free list.
    
    Code allocation is currently protected by a CodeSpaceMemoryModificationScope. This may
    go away with a unification of code space allocation and initialization that will happen
    later.
    
    One thing missing in this CL: freshly added pages are still read+write+executable. This
    also needs to change: WIP
    
    Bug: chromium:774108,v8:6792
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Ib8d1ed1c09cc144791e462277bf43a4641e1490d
    Reviewed-on: https://chromium-review.googlesource.com/716379
    Commit-Queue: Hannes Payer <hpayer@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48774}
    14917b65
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...