// 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-optfunctionapply(arg){"use strict";returnarg.apply(this,arguments);}functionbar(){functionfoo(self,arg){%TurbofanStaticAssert(arg===42);return%IsBeingInterpreted();}%PrepareFunctionForOptimization(foo);returnapply(foo,42);}%PrepareFunctionForOptimization(bar);%PrepareFunctionForOptimization(apply);assertTrue(bar());assertTrue(bar());%OptimizeFunctionOnNextCall(bar);assertFalse(bar());