• Marja Hölttä's avatar
    [parser] Skipping inner funcs: fix related to aborting preparsing. · d69159d5
    Marja Hölttä authored
    When skipping inner funcs is enabled, we also track variables for top level
    funcs. Thus, we also declared the function name for the function scope, even
    though it was the function scope for a function whose preparsing was
    aborted. This lead into declaring the function name twice.
    
    The fix is to declare the function name only in the success case.
    
    The code was "wrong" before too, but this was never a problem, since variable
    tracking and aborting preparsing were enabled for disjoint sets of
    functions (aborting preparsing only for top-level, and variable tracking for
    non-top-level).
    
    BUG=v8:5516,chromium:774475
    
    Change-Id: Ie6c321cc834cd946e8843f73916fa7dd75e9cd09
    Reviewed-on: https://chromium-review.googlesource.com/720920Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48592}
    d69159d5
regress-774475.js 8.38 KB