cf7cba8d61
This reverts commit87df0b7ecc
(thus relands42cd9eb78d
), with fixes for the discovered issues. Original change's description: > Revert "[compiler] Directly read PropertyCells" > > This reverts commit42cd9eb78d
. > > Reason for revert: Clusterfuzz issues, e.g. > https://bugs.chromium.org/p/chromium/issues/detail?id=1176318 > > Original change's description: > > [compiler] Directly read PropertyCells > > > > Main changes: > > > > - Introduce a new broker data kind kBackgroundSerialized for objects > > that can be serialized in the background (when direct reads are on). > > (I'm planning to remove kPossiblyBackgroundSerialized in a followup, > > in favor of a dynamic choice of kSerialized or kBackgroundSerialized). > > - Make PropertyCell use that new kind. > > - Introduce a bottleneck in runtime code for changes to PropertyCells > > and make sure that a certain protocol is followed that allows > > concurrent reads from the background thread. > > - Improve interface of PropertyCell in various ways. > > > > Bug: v8:7790 > > Change-Id: If3d7926c3b894808811348b4b2bed153f5c06897 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2661462 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > > Commit-Queue: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#72586} > > TBR=ulan@chromium.org,neis@chromium.org,verwaest@chromium.org,nicohartmann@chromium.org > > Change-Id: Id04145760c49fa379bc5a3fc16eba664025a9180 > Bug: v8:7790 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2685125 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72619} Bug: v8:7790, chromium:1176509, chromium:1176318, chromium:1176504 Change-Id: Icaf285912bb948432a4a2d599cd174f6a5aa296e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2685166 Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72697}
60 lines
733 B
JavaScript
60 lines
733 B
JavaScript
// Copyright 2021 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
var p01;
|
|
var p02;
|
|
var p03;
|
|
var p04;
|
|
var p05;
|
|
var p06;
|
|
var p07;
|
|
var p08;
|
|
var p09;
|
|
var p10;
|
|
var p11;
|
|
var p12;
|
|
var p13;
|
|
var p14;
|
|
var p15;
|
|
var p16;
|
|
var p17;
|
|
var p18;
|
|
var p19;
|
|
var p20;
|
|
var p21;
|
|
var p22;
|
|
var p23;
|
|
var p24;
|
|
var p25;
|
|
var p26;
|
|
var p27;
|
|
var p28;
|
|
var p29;
|
|
var p30;
|
|
var p31;
|
|
var p32;
|
|
var p33;
|
|
var p34;
|
|
var p35;
|
|
var p36;
|
|
var p37;
|
|
var p38;
|
|
var p39;
|
|
var p40;
|
|
var p41;
|
|
var p42;
|
|
var p43;
|
|
var p44;
|
|
|
|
p = { get b() {} };
|
|
for (x in p) {}
|
|
p = this;
|
|
|
|
function foo() {
|
|
p.bla = p[42];
|
|
p.__defineGetter__('bla', function() {});
|
|
}
|
|
foo();
|
|
try { var q = {}(); } catch(_) {}
|