• Marja Hölttä's avatar
    Revert "Reland [super] Store home object in Context instead of JSFunction" · 12f8ac47
    Marja Hölttä authored
    This reverts commit f6450b97.
    
    Reason for revert: ClusterFuzz bugs
    
    Original change's description:
    > Reland [super] Store home object in Context instead of JSFunction
    >
    > 1) Computed property keys (esp functions in them) shouldn't be inside
    > the object literal scope.
    >
    > 2) I was using an imprecise "maybe uses super" and storing it to
    > preparse data. This won't fly, since it pollutes sister scopes and
    > leads to confusion wrt whether an object literal needs a home object
    > or not. Made it precise (mostly cancelling changes in the original CL).
    >
    > 3) PreParser::NewSuperPropertyReference was creating a VariableProxy for
    > this_function (which made it used) -> inconsistent scopes between
    > parsing and preparsing.
    >
    > 4) MultipleEntryBlockContextScope was messing up the accumulator
    >
    > Original: https://chromium-review.googlesource.com/c/v8/v8/+/2563275
    >
    > This saves memory (the home object doesn't need to be stored for each
    > method, but only once per class) and hopefully makes the home object
    > a constant in the optimized code.
    >
    > Detailed documentation of the changes:
    > https://docs.google.com/document/d/1ZVXcoQdf9IdMsnRI9iyUjyq9NDoEyx9nA3XqMgwflMs/edit?usp=sharing
    >
    > Bug: v8:9237, chromium:1167918, chromium:1167981, chromium:1167988, chromium:1168055
    > Change-Id: I4f53f18cc18762c33e53d8c802909b42f1c33538
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637220
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Commit-Queue: Marja Hölttä <marja@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#72169}
    
    TBR=marja@chromium.org,leszeks@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: v8:9237
    Bug: chromium:1167918
    Bug: chromium:1167981
    Bug: chromium:1167988
    Bug: chromium:1168055
    Bug: chromium:1171195
    Bug: chromium:1171600
    Change-Id: I15209f50c3fc8acf385a23f031ebb64139e2f519
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2653158Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72391}
    12f8ac47
preparser.h 61.5 KB