• 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
..
debug-promises Loading commit data...
regress Loading commit data...
arguments-iterator.js Loading commit data...
array-concat-arity.js Loading commit data...
array-concat-array-subclass.js Loading commit data...
array-concat-arraylike-length-throws.js Loading commit data...
array-concat-arraylike-length-tostring-throws.js Loading commit data...
array-concat-arraylike-length-valueof-throws.js Loading commit data...
array-concat-arraylike-negative-length.js Loading commit data...
array-concat-arraylike-primitive-nonnumber-length.js Loading commit data...
array-concat-arraylike-string-length.js Loading commit data...
array-concat-arraylike.js Loading commit data...
array-concat-descriptor.js Loading commit data...
array-concat-holey-array.js Loading commit data...
array-concat-isconcatspreadable-getter-throws.js Loading commit data...
array-concat-length-throws.js Loading commit data...
array-concat-no-prototype.js Loading commit data...
array-concat-nonarray.js Loading commit data...
array-concat-revoked-proxy-1.js Loading commit data...
array-concat-revoked-proxy-2.js Loading commit data...
array-concat-sloppy-arguments-holey.js Loading commit data...
array-concat-sloppy-arguments-throws.js Loading commit data...
array-concat-sloppy-arguments-with-dupes.js Loading commit data...
array-concat-sloppy-arguments.js Loading commit data...
array-concat-spreadable-arraylike-proxy-bogus-length.js Loading commit data...
array-concat-spreadable-arraylike-proxy-length.js Loading commit data...
array-concat-spreadable-arraylike-proxy.js Loading commit data...
array-concat-spreadable-boolean-wrapper.js Loading commit data...
array-concat-spreadable-function.js Loading commit data...
array-concat-spreadable-nonarraylike-proxy.js Loading commit data...
array-concat-spreadable-number-wrapper.js Loading commit data...
array-concat-spreadable-regexp.js Loading commit data...
array-concat-spreadable-sparse-object.js Loading commit data...
array-concat-spreadable-string-wrapper.js Loading commit data...
array-concat-strict-arguments.js Loading commit data...
array-concat-typedarray.js Loading commit data...
array-concat-unspreadable-array-subclass.js Loading commit data...
array-concat-unspreadable-array.js Loading commit data...
array-concat-unspreadable-arraylike-proxy.js Loading commit data...
array-concat-unspreadable-nonarraylike-proxy.js Loading commit data...
array-copywithin.js Loading commit data...
array-fill-receiver.js Loading commit data...
array-fill.js Loading commit data...
array-find.js Loading commit data...
array-findindex.js Loading commit data...
array-from.js Loading commit data...
array-iterator-detached.js Loading commit data...
array-iterator-turbo.js Loading commit data...
array-iterator.js Loading commit data...
array-length.js Loading commit data...
array-of.js Loading commit data...
array-prototype-values.js Loading commit data...
array-reverse-order.js Loading commit data...
array-species-constructor-accessor.js Loading commit data...
array-species-constructor-delete.js Loading commit data...
array-species-constructor.js Loading commit data...
array-species-delete.js Loading commit data...
array-species-modified.js Loading commit data...
array-species-neg-zero.js Loading commit data...
array-species-parent-constructor.js Loading commit data...
array-species-proto.js Loading commit data...
array-species.js Loading commit data...
array-spread-holey.js Loading commit data...
array-spread-large-holey.js Loading commit data...
array-tostring.js Loading commit data...
arraybuffer-species.js Loading commit data...
arrow-functions-lexical-arguments.js Loading commit data...
arrow-functions-this.js Loading commit data...
arrow-functions.js Loading commit data...
arrow-rest-params-lazy-parsing.js Loading commit data...
arrow-rest-params.js Loading commit data...
block-conflicts-sloppy.js Loading commit data...
block-conflicts.js Loading commit data...
block-const-assign-sloppy.js Loading commit data...
block-const-assign.js Loading commit data...
block-eval-var-over-let.js Loading commit data...
block-for-sloppy.js Loading commit data...
block-for.js Loading commit data...
block-leave-sloppy.js Loading commit data...
block-leave.js Loading commit data...
block-let-contextual-sloppy.js Loading commit data...
block-let-crankshaft-sloppy.js Loading commit data...
block-let-crankshaft.js Loading commit data...
block-let-declaration-sloppy.js Loading commit data...
block-let-declaration.js Loading commit data...
block-let-semantics-sloppy.js Loading commit data...
block-let-semantics.js Loading commit data...
block-scope-class.js Loading commit data...
block-scoping-sloppy.js Loading commit data...
block-scoping-top-level-sloppy.js Loading commit data...
block-scoping-top-level.js Loading commit data...
block-scoping.js Loading commit data...
block-sloppy-function.js Loading commit data...
built-in-accessor-names.js Loading commit data...
call-with-spread-modify-array-iterator.js Loading commit data...
call-with-spread-modify-next.js Loading commit data...
call-with-spread.js Loading commit data...
catch-parameter-redeclaration.js Loading commit data...
class-computed-property-names-super.js Loading commit data...
class-property-name-eval-arguments.js Loading commit data...
classes-accesors.js Loading commit data...
classes-constructor.js Loading commit data...
classes-derived-return-type.js Loading commit data...
classes-experimental.js Loading commit data...
classes-lazy-parsing.js Loading commit data...
classes-maps.js Loading commit data...
classes-name-binding.js Loading commit data...
classes-proto.js Loading commit data...
classes-proxy.js Loading commit data...
classes-restricted-properties.js Loading commit data...
classes-subclass-arrays.js Loading commit data...
classes-subclass-builtins.js Loading commit data...
classes-super.js Loading commit data...
classes-test-super.js Loading commit data...
classes.js Loading commit data...
collection-iterator.js Loading commit data...
collections-constructor-custom-iterator.js Loading commit data...
collections-constructor-iterator-side-effect.js Loading commit data...
collections-constructor-with-modified-array-prototype.js Loading commit data...
collections-constructor-with-modified-protoype.js Loading commit data...
collections.js Loading commit data...
completion.js Loading commit data...
computed-property-names-classes.js Loading commit data...
computed-property-names-deopt.js Loading commit data...
computed-property-names-object-literals-methods.js Loading commit data...
computed-property-names-super.js Loading commit data...
computed-property-names.js Loading commit data...
dataview-length.js Loading commit data...
default-parameters-destructuring.js Loading commit data...
default-parameters.js Loading commit data...
destructuring-assignment-lazy.js Loading commit data...
destructuring-assignment.js Loading commit data...
destructuring-parameters-literalcount-nolazy.js Loading commit data...
destructuring-parameters-literalcount.js Loading commit data...
destructuring.js Loading commit data...
empty-for.js Loading commit data...
for-each-in-catch.js Loading commit data...
for-of.js Loading commit data...
function-length-configurable.js Loading commit data...
function-name-configurable.js Loading commit data...
function-name.js Loading commit data...
function-prototype-name.js Loading commit data...
generator-destructuring.js Loading commit data...
generators-iteration.js Loading commit data...
generators-objects.js Loading commit data...
generators-parsing.js Loading commit data...
generators-poisoned-properties.js Loading commit data...
generators-runtime.js Loading commit data...
generators-states.js Loading commit data...
global-proto-proxy.js Loading commit data...
hasinstance-symbol.js Loading commit data...
indexed-integer-exotics.js Loading commit data...
instanceof-proxies.js Loading commit data...
instanceof.js Loading commit data...
iteration-semantics.js Loading commit data...
iteration-syntax.js Loading commit data...
iterator-close.js Loading commit data...
iterator-eager-deopt.js Loading commit data...
iterator-lazy-deopt.js Loading commit data...
iterator-prototype.js Loading commit data...
json.js Loading commit data...
large-classes-methods.js Loading commit data...
large-classes-properties.js Loading commit data...
large-classes-static-methods.js Loading commit data...
map-constructor-entry-side-effect.js Loading commit data...
map-constructor-entry-side-effect2.js Loading commit data...
map-constructor-entry-side-effect3.js Loading commit data...
map-constructor-entry-side-effect4.js Loading commit data...
map-iterator-1.js Loading commit data...
map-iterator-10.js Loading commit data...
map-iterator-11.js Loading commit data...
map-iterator-2.js Loading commit data...
map-iterator-3.js Loading commit data...
map-iterator-4.js Loading commit data...
map-iterator-5.js Loading commit data...
map-iterator-6.js Loading commit data...
map-iterator-7.js Loading commit data...
map-iterator-8.js Loading commit data...
map-iterator-9.js Loading commit data...
map-minus-zero.js Loading commit data...
math-cbrt.js Loading commit data...
math-clz32.js Loading commit data...
math-expm1.js Loading commit data...
math-fround.js Loading commit data...
math-hyperbolic.js Loading commit data...
math-hypot.js Loading commit data...
math-log1p.js Loading commit data...
math-log2-log10.js Loading commit data...
math-sign.js Loading commit data...
math-trunc.js Loading commit data...
math.js Loading commit data...
method-name-eval-arguments.js Loading commit data...
microtask-delivery.js Loading commit data...
new-target.js Loading commit data...
numeric-literals.js Loading commit data...
object-assign.js Loading commit data...
object-literals-method.js Loading commit data...
object-literals-property-shorthand.js Loading commit data...
object-literals-super.js Loading commit data...
object-tostring.js Loading commit data...
pattern-brand-check.js Loading commit data...
promise-all-overflow-1.js Loading commit data...
promise-all-overflow-2.js Loading commit data...
promise-all-resolve-not-callable.js Loading commit data...
promise-all.js Loading commit data...
promise-allsettled-resolve-not-callable.js Loading commit data...
promise-internal-setter.js Loading commit data...
promise-lookup-getter-setter.js Loading commit data...
promise-race-resolve-not-callable.js Loading commit data...
promise-resolve-thenable-job.js Loading commit data...
promise-species.js Loading commit data...
promise-thenable-proxy.js Loading commit data...
promises.js Loading commit data...
prototype-ordinary-objects.js Loading commit data...
proxies-accesschecks.js Loading commit data...
proxies-apply.js Loading commit data...
proxies-bind.js Loading commit data...
proxies-construct.js Loading commit data...
proxies-constructor.js Loading commit data...
proxies-cross-realm-exception.js Loading commit data...
proxies-define-property.js Loading commit data...
proxies-delete-property.js Loading commit data...
proxies-example-membrane.js Loading commit data...
proxies-for.js Loading commit data...
proxies-function.js Loading commit data...
proxies-get-own-property-descriptor.js Loading commit data...
proxies-get-prototype-of.js Loading commit data...
proxies-get.js Loading commit data...
proxies-global-reference.js Loading commit data...
proxies-has-own-property.js Loading commit data...
proxies-has.js Loading commit data...
proxies-hash.js Loading commit data...
proxies-integrity.js Loading commit data...
proxies-is-extensible.js Loading commit data...
proxies-json.js Loading commit data...
proxies-keys.js Loading commit data...
proxies-object-assign.js Loading commit data...
proxies-ownkeys-clone.js Loading commit data...
proxies-ownkeys.js Loading commit data...
proxies-prevent-extensions.js Loading commit data...
proxies-property-is-enumerable.js Loading commit data...
proxies-prototype-handler-stackoverflow.js Loading commit data...
proxies-prototype-target-stackoverflow.js Loading commit data...
proxies-revocable.js Loading commit data...
proxies-set-prototype-of.js Loading commit data...
proxies-set.js Loading commit data...
proxies-with-unscopables.js Loading commit data...
proxies-with.js Loading commit data...
proxies.js Loading commit data...
proxy-function-tostring.js Loading commit data...
reflect-apply.js Loading commit data...
reflect-construct.js Loading commit data...
reflect-define-property.js Loading commit data...
reflect-get-own-property-descriptor.js Loading commit data...
reflect-get-prototype-of.js Loading commit data...
reflect-own-keys.js Loading commit data...
reflect-prevent-extensions.js Loading commit data...
reflect-set-prototype-of.js Loading commit data...
reflect.js Loading commit data...
regexp-constructor.js Loading commit data...
regexp-flags.js Loading commit data...
regexp-match-lastindex.js Loading commit data...
regexp-prototype.js Loading commit data...
regexp-replace-lastindex.js Loading commit data...
regexp-sticky.js Loading commit data...
regexp-tolength.js Loading commit data...
regexp-tostring.js Loading commit data...
rest-params-lazy-parsing.js Loading commit data...
rest-params.js Loading commit data...
set-iterator-1.js Loading commit data...
set-iterator-10.js Loading commit data...
set-iterator-11.js Loading commit data...
set-iterator-2.js Loading commit data...
set-iterator-3.js Loading commit data...
set-iterator-4.js Loading commit data...
set-iterator-5.js Loading commit data...
set-iterator-6.js Loading commit data...
set-iterator-7.js Loading commit data...
set-iterator-8.js Loading commit data...
set-iterator-9.js Loading commit data...
set-minus-zero.js Loading commit data...
sloppy-no-duplicate-generators.js Loading commit data...
sloppy-restrictive-block-function.js Loading commit data...
species.js Loading commit data...
spread-array-misc.js Loading commit data...
spread-array-mutated-prototype.js Loading commit data...
spread-array-pristine-prototype.js Loading commit data...
spread-array-prototype-proxy.js Loading commit data...
spread-array-prototype-setter1.js Loading commit data...
spread-array-prototype-setter2.js Loading commit data...
spread-call-new-class.js Loading commit data...
spread-call-new.js Loading commit data...
spread-call-super-property.js Loading commit data...
spread-call.js Loading commit data...
string-codepointat.js Loading commit data...
string-endswith.js Loading commit data...
string-fromcodepoint.js Loading commit data...
string-html.js Loading commit data...
string-includes.js Loading commit data...
string-iterator.js Loading commit data...
string-iterator2.js Loading commit data...
string-iterator3.js Loading commit data...
string-iterator4.js Loading commit data...
string-iterator5.js Loading commit data...
string-iterator6.js Loading commit data...
string-iterator7.js Loading commit data...
string-iterator8.js Loading commit data...
string-match.js Loading commit data...
string-raw.js Loading commit data...
string-repeat.js Loading commit data...
string-replace.js Loading commit data...
string-search.js Loading commit data...
string-split.js Loading commit data...
string-startswith.js Loading commit data...
super-ic-opt-dynamic-map-checks.js Loading commit data...
super-ic-opt-no-turboprop.js Loading commit data...
super-ic-opt.js Loading commit data...
super-ic.js Loading commit data...
super-with-spread-modify-array-iterator.js Loading commit data...
super-with-spread-modify-next.js Loading commit data...
super-with-spread.js Loading commit data...
super.js Loading commit data...
symbols.js Loading commit data...
templates.js Loading commit data...
throw-type-error-function-restrictions.js Loading commit data...
typed-array-iterator.js Loading commit data...
typedarray-construct-by-array-like-prototype-element-added.js Loading commit data...
typedarray-construct-by-array-like.js Loading commit data...
typedarray-construct-by-buffer-ordering.js Loading commit data...
typedarray-construct-offset-not-smi.js Loading commit data...
typedarray-copywithin.js Loading commit data...
typedarray-detached.js Loading commit data...
typedarray-every.js Loading commit data...
typedarray-fill.js Loading commit data...
typedarray-filter.js Loading commit data...
typedarray-find.js Loading commit data...
typedarray-findindex.js Loading commit data...
typedarray-foreach.js Loading commit data...
typedarray-from-detached-typedarray.js Loading commit data...
typedarray-from-next-overridden.js Loading commit data...
typedarray-from-nonfunction-iterator.js Loading commit data...
typedarray-from-optional-arguments.js Loading commit data...
typedarray-from.js Loading commit data...
typedarray-indexing.js Loading commit data...
typedarray-iteration.js Loading commit data...
typedarray-keyedstore-tonumber.js Loading commit data...
typedarray-map.js Loading commit data...
typedarray-of.js Loading commit data...
typedarray-proto.js Loading commit data...
typedarray-reduce.js Loading commit data...
typedarray-reverse.js Loading commit data...
typedarray-set-bytelength-not-smi.js Loading commit data...
typedarray-set-length-internal.js Loading commit data...
typedarray-set-length.js Loading commit data...
typedarray-slice.js Loading commit data...
typedarray-sort.js Loading commit data...
typedarray-species.js Loading commit data...
typedarray-tostring.js Loading commit data...
typedarray.js Loading commit data...
unicode-character-ranges.js Loading commit data...
unicode-escapes-in-regexps.js Loading commit data...
unicode-escapes.js Loading commit data...
unicode-regexp-backrefs.js Loading commit data...
unicode-regexp-ignore-case-noi18n.js Loading commit data...
unicode-regexp-ignore-case.js Loading commit data...
unicode-regexp-last-index.js Loading commit data...
unicode-regexp-restricted-syntax.js Loading commit data...
unicode-regexp-unanchored-advance.js Loading commit data...
unicode-regexp-zero-length.js Loading commit data...
unscopables.js Loading commit data...