• bmeurer's avatar
    [compiler] Consistently use Ignition+TurboFan for lexical variables. · 5529430d
    bmeurer authored
    Crankshaft has this highly unpredictable performance cliff around the
    "Unsupported phi use of const or let variable", which is due to the
    fact that Crankshaft refuses to do hole checks (for a couple of
    reasons). So ideally we should not even try to send any lexically bound
    variables to fullcodegen+Crankshaft, but instead give them to Ignition
    and TurboFan.
    
    This CL only adds the appropriate check to the AstNumbering, but doesn't
    remove the functionality from fullcodegen/Crankshaft yet. This would be
    step two in case this CL sticks. If you see any major performance
    regressions with this CL in the range, just revert it and ping me.
    
    See Node.js issue https://github.com/nodejs/node/issues/9729 for
    additional information.
    
    BUG=v8:5666
    R=hablich@chromium.org, mstarzinger@chromium.org, rmcilroy@chromium.org
    
    Review-Url: https://codereview.chromium.org/2525243002
    Cr-Commit-Position: refs/heads/master@{#41445}
    5529430d
ast-numbering.cc 18.7 KB