• Seth Brenith's avatar
    Remove 'length' field from ScopeInfo · 90a66422
    Seth Brenith authored
    This change relands the last part of https://crrev.com/c/2601880 .
    
    ScopeInfo has a vestigial 'length' field from when it used to be a
    FixedArray. This change removes that field, which saves some memory.
    
    More specifically:
    
    - Make ScopeInfo inherit from HeapObject, not FixedArrayBase which
      supplied the 'length' field.
    - Change FactoryBase::NewScopeInfo to allocate the updated object shape.
      It maintains the existing behavior of filling the newly-allocated
      object with undefined, even though that's not a valid ScopeInfo and
      further initialization is required.
    - Change a few length computations to use HeapObject::kHeaderSize rather
      than FixedArray::kHeaderSize.
    - Remove an unnecessary heap verifier function.
    
    Change-Id: I9b3980157568fdb0402fa31660949966b401fd31
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733037Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#73278}
    90a66422
scope-info.cc 44.7 KB