• Seth Brenith's avatar
    Revert "Remove 'length' field from ScopeInfo" · 6c922e39
    Seth Brenith authored
    This reverts commit f731e13f.
    
    Reason for revert: perf regressions, chromium:1179757
    
    Original change's description:
    > Remove 'length' field from ScopeInfo
    >
    > 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/+/2601880
    > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
    > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    > Reviewed-by: Mythri Alle <mythria@chromium.org>
    > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    > Cr-Commit-Position: refs/heads/master@{#72830}
    
    Bug: v8:8952
    Change-Id: I00a69da79e5ac6aaae4436a41ce773ae014cc775
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2706086
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Auto-Submit: Seth Brenith <seth.brenith@microsoft.com>
    Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72855}
    6c922e39
Name
Last commit
Last update
..
base Loading commit data...
cppgc Loading commit data...
cppgc-js Loading commit data...
third-party Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
allocation-observer.cc Loading commit data...
allocation-observer.h Loading commit data...
allocation-stats.h Loading commit data...
array-buffer-sweeper.cc Loading commit data...
array-buffer-sweeper.h Loading commit data...
barrier.h Loading commit data...
base-space.cc Loading commit data...
base-space.h Loading commit data...
basic-memory-chunk.cc Loading commit data...
basic-memory-chunk.h Loading commit data...
code-object-registry.cc Loading commit data...
code-object-registry.h Loading commit data...
code-stats.cc Loading commit data...
code-stats.h Loading commit data...
collection-barrier.cc Loading commit data...
collection-barrier.h Loading commit data...
combined-heap.cc Loading commit data...
combined-heap.h Loading commit data...
concurrent-allocator-inl.h Loading commit data...
concurrent-allocator.cc Loading commit data...
concurrent-allocator.h Loading commit data...
concurrent-marking.cc Loading commit data...
concurrent-marking.h Loading commit data...
conservative-stack-visitor.cc Loading commit data...
conservative-stack-visitor.h Loading commit data...
embedder-tracing.cc Loading commit data...
embedder-tracing.h Loading commit data...
factory-base-inl.h Loading commit data...
factory-base.cc Loading commit data...
factory-base.h Loading commit data...
factory-inl.h Loading commit data...
factory.cc Loading commit data...
factory.h Loading commit data...
finalization-registry-cleanup-task.cc Loading commit data...
finalization-registry-cleanup-task.h Loading commit data...
free-list-inl.h Loading commit data...
free-list.cc Loading commit data...
free-list.h Loading commit data...
gc-idle-time-handler.cc Loading commit data...
gc-idle-time-handler.h Loading commit data...
gc-tracer.cc Loading commit data...
gc-tracer.h Loading commit data...
heap-controller.cc Loading commit data...
heap-controller.h Loading commit data...
heap-inl.h Loading commit data...
heap-write-barrier-inl.h Loading commit data...
heap-write-barrier.cc Loading commit data...
heap-write-barrier.h Loading commit data...
heap.cc Loading commit data...
heap.h Loading commit data...
incremental-marking-inl.h Loading commit data...
incremental-marking-job.cc Loading commit data...
incremental-marking-job.h Loading commit data...
incremental-marking.cc Loading commit data...
incremental-marking.h Loading commit data...
index-generator.cc Loading commit data...
index-generator.h Loading commit data...
invalidated-slots-inl.h Loading commit data...
invalidated-slots.cc Loading commit data...
invalidated-slots.h Loading commit data...
item-parallel-job.cc Loading commit data...
item-parallel-job.h Loading commit data...
large-spaces.cc Loading commit data...
large-spaces.h Loading commit data...
list.h Loading commit data...
local-allocator-inl.h Loading commit data...
local-allocator.h Loading commit data...
local-factory-inl.h Loading commit data...
local-factory.cc Loading commit data...
local-factory.h Loading commit data...
local-heap-inl.h Loading commit data...
local-heap.cc Loading commit data...
local-heap.h Loading commit data...
mark-compact-inl.h Loading commit data...
mark-compact.cc Loading commit data...
mark-compact.h Loading commit data...
marking-barrier-inl.h Loading commit data...
marking-barrier.cc Loading commit data...
marking-barrier.h Loading commit data...
marking-visitor-inl.h Loading commit data...
marking-visitor.h Loading commit data...
marking-worklist-inl.h Loading commit data...
marking-worklist.cc Loading commit data...
marking-worklist.h Loading commit data...
marking.cc Loading commit data...
marking.h Loading commit data...
memory-allocator.cc Loading commit data...
memory-allocator.h Loading commit data...
memory-chunk-inl.h Loading commit data...
memory-chunk-layout.cc Loading commit data...
memory-chunk-layout.h Loading commit data...
memory-chunk.cc Loading commit data...
memory-chunk.h Loading commit data...
memory-measurement-inl.h Loading commit data...
memory-measurement.cc Loading commit data...
memory-measurement.h Loading commit data...
memory-reducer.cc Loading commit data...
memory-reducer.h Loading commit data...
new-spaces-inl.h Loading commit data...
new-spaces.cc Loading commit data...
new-spaces.h Loading commit data...
object-start-bitmap.h Loading commit data...
object-stats.cc Loading commit data...
object-stats.h Loading commit data...
objects-visiting-inl.h Loading commit data...
objects-visiting.cc Loading commit data...
objects-visiting.h Loading commit data...
paged-spaces-inl.h Loading commit data...
paged-spaces.cc Loading commit data...
paged-spaces.h Loading commit data...
parallel-work-item.h Loading commit data...
parked-scope.h Loading commit data...
read-only-heap-inl.h Loading commit data...
read-only-heap.cc Loading commit data...
read-only-heap.h Loading commit data...
read-only-spaces.cc Loading commit data...
read-only-spaces.h Loading commit data...
remembered-set-inl.h Loading commit data...
remembered-set.h Loading commit data...
safepoint.cc Loading commit data...
safepoint.h Loading commit data...
scavenge-job.cc Loading commit data...
scavenge-job.h Loading commit data...
scavenger-inl.h Loading commit data...
scavenger.cc Loading commit data...
scavenger.h Loading commit data...
setup-heap-internal.cc Loading commit data...
slot-set.cc Loading commit data...
slot-set.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
stress-marking-observer.cc Loading commit data...
stress-marking-observer.h Loading commit data...
stress-scavenge-observer.cc Loading commit data...
stress-scavenge-observer.h Loading commit data...
sweeper.cc Loading commit data...
sweeper.h Loading commit data...
weak-object-worklists.cc Loading commit data...
weak-object-worklists.h Loading commit data...
worklist.h Loading commit data...