• 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
codegen-ia32.cc 15.1 KB