• jgruber's avatar
    [heap] Don't allocate immovable code in LO space during serialization · 47684fe8
    jgruber authored
    Background: the first page of each space is implicitly immovable.
    Recently, our builtin code objects have reached a size at which we
    fill up the first page of code space during initialization. Once
    that occurs, newly requested allocations of immovable code are
    allocated in a large object space page of 512K.
    
    This CL mitigates these effects by simply marking pages as immovable
    during snapshot creation instead of going into LO space.
    
    On snapshot builds, this should just work: deserialized pages are
    trimmed and marked immovable when deserialization finishes.
    
    However, non-snapshot builds and allocations of immovable CEntryStub
    code at runtime are still affected.
    
    BUG=v8:5831
    
    Review-Url: https://codereview.chromium.org/2635973002
    Cr-Commit-Position: refs/heads/master@{#42411}
    47684fe8
test-heap.cc 238 KB