• Dan Elphick's avatar
    [parser] Force stable order for variables · c8ab41eb
    Dan Elphick authored
    When parsing an arrowhead, it's possible for temporary variables to be
    created with a different index depending on whether the parsing is lazy
    or eager. This then results in bytecode mismatches as the index is used
    to determine which register to use.
    
    To make the ordering stable, this changes variable allocation in arrow
    functions to always allocate the non-temporaries first and then the
    temporaries.
    
    Bug: chromium:1020162
    Change-Id: Ia47c4c2916d63f12d20d663e4e3842bfd68f6d8e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977865
    Commit-Queue: Dan Elphick <delphick@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65657}
    c8ab41eb
scopes.cc 102 KB