26 lines
532 B
JavaScript
26 lines
532 B
JavaScript
|
// 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: --verify-heap --allow-natives-syntax --expose-gc
|
||
|
|
||
|
let constant = { a: 1 };
|
||
|
|
||
|
function update_array(array) {
|
||
|
array.x = constant;
|
||
|
%HeapObjectVerify(array);
|
||
|
array[0] = undefined;
|
||
|
%HeapObjectVerify(array);
|
||
|
return array;
|
||
|
}
|
||
|
|
||
|
let ar1 = [1];
|
||
|
let ar2 = [2];
|
||
|
let ar3 = [3];
|
||
|
gc();
|
||
|
gc();
|
||
|
|
||
|
update_array(ar1);
|
||
|
constant = update_array(ar2);
|
||
|
update_array(ar3);
|