// 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 --opt --no-always-opt
letstring="foobar";functionf(useArrayIndex){letindex=useArrayIndex?'1':'4294967296';returnstring.charCodeAt(index);}%PrepareFunctionForOptimization(f);f(true);f(true);%OptimizeFunctionOnNextCall(f);f(false);assertUnoptimized(f);%PrepareFunctionForOptimization(f);f(true);f(true);%OptimizeFunctionOnNextCall(f);f(true);// no deopt heref(false);assertOptimized(f);