diff options
Diffstat (limited to 'deps/v8/test/mjsunit/regress/regress-crbug-980183.js')
-rw-r--r-- | deps/v8/test/mjsunit/regress/regress-crbug-980183.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/regress-crbug-980183.js b/deps/v8/test/mjsunit/regress/regress-crbug-980183.js new file mode 100644 index 0000000000..f4b4f5cfce --- /dev/null +++ b/deps/v8/test/mjsunit/regress/regress-crbug-980183.js @@ -0,0 +1,39 @@ +// Copyright 2019 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 f() { + const o = {}; + // The order of the following operations is significant + o.a = 0; + o[1024] = 1; // An offset of >=1024 is required + delete o.a; + o.b = 2; + return o.b; +} +%PrepareFunctionForOptimization(f); +f(); +f(); +%OptimizeFunctionOnNextCall(f); +f(); + + +function g(o) { + o.b = 2; +} +function h() { + const o = {}; + o.a = 0; + o[1024] = 1; + delete o.a; + g(o); + assertEquals(o.b, 2); +} +%NeverOptimizeFunction(g); +%PrepareFunctionForOptimization(h); +h(); +h(); +%OptimizeFunctionOnNextCall(h); +h(); |