• Shu-yu Guo's avatar
    Remove per-parameter position var scope · 1b450a17
    Shu-yu Guo authored
    The spec was normatively changed to simplify var scopes for parameter
    expressions. Previously there was a per-parameter var scope in sloppy
    mode so direct evals could introduce vars that did not escape the
    parameter position. That semantics is complex both for the programmer
    and implementation and has resulted in bugs in the past. Furthermore, it
    has never been fully interoperable (with Safari in particular). The spec
    was instead changed to be simpler: to have a single var scope for
    sloppy evals in parameters that encloses the parameter scope and body
    scope.
    
    This simplification lets us remove expression-scope-reparenter.
    
    Drive-by removal of stale reference to PatternRewriter.
    
    Bug: v8:7532
    Change-Id: Iade5594abe0009f7f3f6a1adad18628b17e1e779
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1962471Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Shu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65517}
    1b450a17
default-parameters.js 12.3 KB