• hajimehoshi's avatar
    Add Add ExternalStringResourceBase::IsCompressible · 150887a1
    hajimehoshi authored
    This CL introduces ExternalStringResourceBase::IsCompressible.
    
    This CL is a preparation for CompressibleString, which can
    be compressed for memory reduction in Blink. We've found that
    JavaScript strings account for a relatively large part of Blink
    memory usage, and we are now trying to replace JavaScript String/
    AtomicString with CompressibleString.
    
    When a string is compressed, the original char data is deleted
    and V8 pointer cache becomes invalid. This CL introduces
    isCompressible  property and if an external string's isCompressble
    return true, this is stored short_external_*_map instead of
    external_*_map so that V8 always requires the char pointer whenever
    V8 needs the string data.
    
    BUG=chromium:574317
    LOG=n
    
    Review URL: https://codereview.chromium.org/1490193002
    
    Cr-Commit-Position: refs/heads/master@{#33224}
    150887a1
factory.cc 85.2 KB