text: // Copyright 2019 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
  
  const array = [42, 2.1];  // non-stable map (PACKED_DOUBLE)
  let b = false;
  
  function f() {
    if (b) array[100000] = 4.2;  // go to dictionary mode
    return 42;
  };
  %NeverOptimizeFunction(f);
  
  function includes() {
    return array.includes(f());
  };
  %PrepareFunctionForOptimization(includes);
  assertTrue(includes());
  assertTrue(includes());
  %OptimizeFunctionOnNextCall(includes);
  assertTrue(includes());
  b = true;
  assertTrue(includes());
  