• Seth Brenith's avatar
    Remove 'length' field from ScopeInfo · f731e13f
    Seth Brenith authored
    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.
    - Privatize the FixedArray-style functions that provide access to
      ScopeInfo fields by index, and move them from scope-info-inl.h to
      scope-info.cc. Those functions are still used pretty heavily during
      initialization (ScopeInfo::Create, etc.), but at least we can avoid
      presenting them to the rest of the world.
    - 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.
    - Move part of AccessorAssembler::ScriptContextTableLookup into a new
      Torque macro, because it used to rely on casting ScopeInfo to
      FixedArrayBase.
    - In V8HeapExplorer::AddEntry, don't claim that ScopeInfo objects are
      arrays. I think it makes more sense to list them under "(system)" in
      the dev tools, like most other V8 internal types.
    
    Bug: v8:8952
    Change-Id: I8278e3a90027d4409f0d268da0fe7080754c6b8c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2601880Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
    Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#72830}
    f731e13f
Name
Last commit
Last update
..
ls Loading commit data...
OWNERS Loading commit data...
ast.h Loading commit data...
cc-generator.cc Loading commit data...
cc-generator.h Loading commit data...
cfg.cc Loading commit data...
cfg.h Loading commit data...
class-debug-reader-generator.cc Loading commit data...
constants.h Loading commit data...
contextual.h Loading commit data...
csa-generator.cc Loading commit data...
csa-generator.h Loading commit data...
declarable.cc Loading commit data...
declarable.h Loading commit data...
declaration-visitor.cc Loading commit data...
declaration-visitor.h Loading commit data...
declarations.cc Loading commit data...
declarations.h Loading commit data...
earley-parser.cc Loading commit data...
earley-parser.h Loading commit data...
global-context.cc Loading commit data...
global-context.h Loading commit data...
implementation-visitor.cc Loading commit data...
implementation-visitor.h Loading commit data...
instance-type-generator.cc Loading commit data...
instructions.cc Loading commit data...
instructions.h Loading commit data...
parameter-difference.h Loading commit data...
runtime-macro-shims.h Loading commit data...
runtime-support.h Loading commit data...
server-data.cc Loading commit data...
server-data.h Loading commit data...
source-positions.cc Loading commit data...
source-positions.h Loading commit data...
torque-code-generator.cc Loading commit data...
torque-code-generator.h Loading commit data...
torque-compiler.cc Loading commit data...
torque-compiler.h Loading commit data...
torque-parser.cc Loading commit data...
torque-parser.h Loading commit data...
torque.cc Loading commit data...
type-inference.cc Loading commit data...
type-inference.h Loading commit data...
type-oracle.cc Loading commit data...
type-oracle.h Loading commit data...
type-visitor.cc Loading commit data...
type-visitor.h Loading commit data...
types.cc Loading commit data...
types.h Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...