summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/compiler-regress-787301.js
blob: 343ae1efdf99bf913bb66868ccb38d1bc053c83f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 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();
}

%PrepareFunctionForOptimization(opt);
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);