v8/test/mjsunit/regress/regress-crbug-1161847-3.js
Georg Neis d752719988 Add another test for crbug 1161847
... where TF doesn't see that the property is deleted and re-added.

Bug: chromium:1161847
Change-Id: I599a25fa8d29154b5bfede45f6655a1eac44a0f7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739592
Auto-Submit: Georg Neis <neis@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73280}
2021-03-08 21:52:28 +00:00

21 lines
523 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.
// Flags: --allow-natives-syntax
function bar(x) { delete x.bla; x.bla = 23 }
function foo() {
let obj = {bla: 0};
Object.defineProperty(obj, 'bla', {writable: false});
bar(obj);
return obj.bla;
}
%PrepareFunctionForOptimization(foo);
assertEquals(23, foo());
assertEquals(23, foo());
%OptimizeFunctionOnNextCall(foo);
assertEquals(23, foo());