• Victor Gomes's avatar
    Reland "[runtime] Adds LocalNameIterator" · 4ebc9b7b
    Victor Gomes authored
    This is a reland of f605d778
    
    Adds a GC safe (using handles) and unsafe versions of the iterator.
    
    V8HeapExplorer needs an unsafe one, since it does not allow the
    creation of handles.
    
    Original change's description:
    > [runtime] Adds LocalNameIterator
    >
    > ScopeInfo will contain either inlined (array) local names or
    > a hash table (names => index) containing the local names.
    >
    > We abstract iteration with LocalNameIterator and remove
    > ContextLocalName since accessing a local name by index in
    > the hash table would be expensive.
    >
    > This CL only implements the iterator for the array.
    >
    > Bug: v8:12315
    > Change-Id: I2c62802652fca1cf47815ce8768a3f7487f2c39f
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386603
    > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    > Commit-Queue: Victor Gomes <victorgomes@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#78623}
    
    Bug: v8:12315
    Change-Id: I6288a08b9c342cd3a9cabcb621c40bb44c08c9c4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3394706Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Victor Gomes <victorgomes@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78653}
    4ebc9b7b
scope-info.cc 43.6 KB