| // 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. | 
 |  | 
 | // Fill up the Array prototype's elements. | 
 | for (let i = 0; i < 100; i++) Array.prototype.unshift(3.14); | 
 |  | 
 | // Create a holey double elements array. | 
 | const o31 = [1.1]; | 
 | o31[37] = 2.2; | 
 |  | 
 | // Concat converts to dictionary elements. | 
 | const o51 = o31.concat(false); | 
 |  | 
 | // Set one element to undefined to trigger the movement bug. | 
 | o51[0] = undefined; | 
 |  | 
 | assertEquals(o51.length, 39); | 
 |  | 
 | // Sort triggers the bug. | 
 | o51.sort(); | 
 |  | 
 | assertEquals(o51.length, 39); |