bbc32bd2b5
When the enumerability flag is flipped we need to invalidate the prototype info. Bug: chromium:1163499 Change-Id: Iceeaa5fc47eebfe7d333c9eb594bf0763e6cef92 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2831871 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#74013}
16 lines
581 B
JavaScript
16 lines
581 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.
|
|
|
|
const o1 = {k:1};
|
|
const o2 = Object.create(o1);
|
|
for (let i = 0; i < 1100; i++) {
|
|
Object.defineProperty(o1, "k" + i, {value: 0, enumerable: false});
|
|
}
|
|
Object.defineProperty(o1, "enum", {value: 1, enumerable: false, configurable: true});
|
|
for (let k in o2) {}
|
|
Object.defineProperty(o1, "enum", {value: 1, enumerable: true, configurable: true});
|
|
let last;
|
|
for (let k in o2) { last = k }
|
|
assertEquals("enum", last);
|