node/deps/v8/test/mjsunit/compiler/inlined-call-polymorphic.js
Michaël Zasso 1d6adf7432
deps: update V8 to 8.3.110.9
PR-URL: https://github.com/nodejs/node/pull/32831
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2020-05-12 16:12:13 +02:00

25 lines
714 B
JavaScript

// 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.
//
// Flags: --allow-natives-syntax --opt
function make_closure() { return () => { return 42; } }
%PrepareFunctionForOptimization(make_closure);
%PrepareFunctionForOptimization(make_closure());
function inline_polymorphic(f) {
let answer = f();
%TurbofanStaticAssert(answer == 42);
}
%PrepareFunctionForOptimization(inline_polymorphic);
inline_polymorphic(make_closure());
inline_polymorphic(make_closure());
%OptimizeFunctionOnNextCall(inline_polymorphic);
inline_polymorphic(make_closure());
try {
inline_polymorphic(3);
} catch(e) {}