// Copyright 2017 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 opt(b) { | |
let iterator = new Set().values(); | |
iterator.x = 0; | |
let arr = [iterator, iterator]; | |
if (b) | |
return arr.slice(); | |
} | |
opt(false); | |
opt(false); | |
%OptimizeFunctionOnNextCall(opt); | |
let res = opt(true); | |
let a = res[0]; | |
let b = res[1]; | |
assertTrue(a === b); | |
a.x = 7; | |
assertEquals(7, b.x); |