2019-02-20 15:49:02 +00:00
|
|
|
// 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];
|
2019-03-01 10:19:54 +00:00
|
|
|
%PrepareFunctionForOptimization(opt);
|
2019-02-20 15:49:02 +00:00
|
|
|
opt(ar,1);
|
|
|
|
opt(ar,1);
|
|
|
|
%OptimizeFunctionOnNextCall(opt);
|
|
|
|
assertEquals(24, opt(ar,1));
|