blob: 16910a3a3d8f2b0c5d32537d921a10276170af54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// Copyright 2017 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 bar(x) {
"use strict";
return this + x;
}
function foo(f) {
var a = bar.bind(42, 1);
return f() ? 0 : a;
};
%PrepareFunctionForOptimization(foo);
function t() {
return true;
}
assertEquals(0, foo(t));
assertEquals(0, foo(t));
%OptimizeFunctionOnNextCall(foo);
var a = foo(_ => false);
assertEquals(43, a());
|