// Copyright 2020 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.//
constxs=[1,2,3,4,5,6,7,8,9];letdeopt=false;functiong(acc,x,i){if(deopt){assertFalse(%IsBeingInterpreted());Array.prototype.x=42;// Trigger a lazy deopt.deopt=false;}returnacc+x;}functionf(){returnxs.reduceRight(g,0);}%PrepareFunctionForOptimization(f);%PrepareFunctionForOptimization(g);assertEquals(45,f());assertEquals(45,f());%OptimizeFunctionOnNextCall(f);deopt=true;assertEquals(45,f());assertEquals(45,f());