| // Copyright 2018 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 |
| |
| let arr = []; |
| // Make the array large enough to trigger re-checking for compaction. |
| arr[1000] = 0x1234; |
| |
| arr.__defineGetter__(256, function () { |
| // Remove the getter so we can compact the array. |
| delete arr[256]; |
| // Trigger compaction. |
| arr.unshift(1.1); |
| }); |
| |
| let results = Object.entries(arr); |
| %HeapObjectVerify(results); |
| %HeapObjectVerify(arr); |
| let str = results.toString(); |