// 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 | |
function opt(r, flag){ | |
var x; | |
for(let i = 0; i < 2; i++){ | |
r[2] = 0; | |
x = r[0] << (flag ? r[0] : flag) | |
} | |
return x; | |
} | |
ar = [3.1]; | |
%PrepareFunctionForOptimization(opt); | |
opt(ar,1); | |
opt(ar,1); | |
%OptimizeFunctionOnNextCall(opt); | |
assertEquals(24, opt(ar,1)); |