• 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
Name
Last commit
Last update
..
ArrayLiterals.golden Loading commit data...
AssignmentsInBinaryExpression.golden Loading commit data...
AsyncGenerators.golden Loading commit data...
AsyncModules.golden Loading commit data...
BasicBlockToBoolean.golden Loading commit data...
BasicLoops.golden Loading commit data...
BreakableBlocks.golden Loading commit data...
CallAndSpread.golden Loading commit data...
CallGlobal.golden Loading commit data...
CallLookupSlot.golden Loading commit data...
CallNew.golden Loading commit data...
CallRuntime.golden Loading commit data...
ClassAndSuperClass.golden Loading commit data...
ClassDeclarations.golden Loading commit data...
CompareNil.golden Loading commit data...
CompareTypeOf.golden Loading commit data...
CompoundExpressions.golden Loading commit data...
Conditional.golden Loading commit data...
ConstVariable.golden Loading commit data...
ConstVariableContextSlot.golden Loading commit data...
ContextParameters.golden Loading commit data...
ContextVariables.golden Loading commit data...
CountOperators.golden Loading commit data...
CreateArguments.golden Loading commit data...
CreateRestParameter.golden Loading commit data...
DeadCodeRemoval.golden Loading commit data...
DeclareGlobals.golden Loading commit data...
Delete.golden Loading commit data...
DeleteLookupSlotInEval.golden Loading commit data...
DestructuringAssignment.golden Loading commit data...
DoDebugger.golden Loading commit data...
Eval.golden Loading commit data...
ForAwaitOf.golden Loading commit data...
ForIn.golden Loading commit data...
ForOf.golden Loading commit data...
ForOfLoop.golden Loading commit data...
FunctionLiterals.golden Loading commit data...
GenerateTestUndetectable.golden Loading commit data...
Generators.golden Loading commit data...
GlobalCompoundExpressions.golden Loading commit data...
GlobalCountOperators.golden Loading commit data...
GlobalDelete.golden Loading commit data...
HeapNumberConstants.golden Loading commit data...
IIFEWithOneshotOpt.golden Loading commit data...
IIFEWithoutOneshotOpt.golden Loading commit data...
IfConditions.golden Loading commit data...
IntegerConstants.golden Loading commit data...
LetVariable.golden Loading commit data...
LetVariableContextSlot.golden Loading commit data...
LoadGlobal.golden Loading commit data...
LogicalExpressions.golden Loading commit data...
LookupSlot.golden Loading commit data...
LookupSlotInEval.golden Loading commit data...
Modules.golden Loading commit data...
NewAndSpread.golden Loading commit data...
NewTarget.golden Loading commit data...
ObjectLiterals.golden Loading commit data...
OuterContextVariables.golden Loading commit data...
Parameters.golden Loading commit data...
PrimitiveExpressions.golden Loading commit data...
PrimitiveReturnStatements.golden Loading commit data...
PrivateAccessorAccess.golden Loading commit data...
PrivateAccessorDeclaration.golden Loading commit data...
PrivateClassFieldAccess.golden Loading commit data...
PrivateClassFields.golden Loading commit data...
PrivateMethodAccess.golden Loading commit data...
PrivateMethodDeclaration.golden Loading commit data...
PropertyCall.golden Loading commit data...
PropertyLoadStoreOneShot.golden Loading commit data...
PropertyLoadStoreWithoutOneShot.golden Loading commit data...
PropertyLoads.golden Loading commit data...
PropertyStores.golden Loading commit data...
PublicClassFields.golden Loading commit data...
RegExpLiterals.golden Loading commit data...
RemoveRedundantLdar.golden Loading commit data...
StandardForLoop.golden Loading commit data...
StaticClassFields.golden Loading commit data...
StaticPrivateMethodAccess.golden Loading commit data...
StaticPrivateMethodDeclaration.golden Loading commit data...
StoreGlobal.golden Loading commit data...
StringConcat.golden Loading commit data...
StringConstants.golden Loading commit data...
SuperCallAndSpread.golden Loading commit data...
Switch.golden Loading commit data...
TemplateLiterals.golden Loading commit data...
ThisFunction.golden Loading commit data...
Throw.golden Loading commit data...
TopLevelObjectLiterals.golden Loading commit data...
TryCatch.golden Loading commit data...
TryFinally.golden Loading commit data...
Typeof.golden Loading commit data...
UnaryOperators.golden Loading commit data...
WideRegisters.golden Loading commit data...
WithStatement.golden Loading commit data...