| // Copyright 2016 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. |
| |
| |
| new BenchmarkSuite('Native', [1000], [ |
| new Benchmark('Basic', false, false, 0, Basic, Setup), |
| ]); |
| |
| var a,b,c,d,e,f,g,h,i,j,x; |
| |
| function Setup() { |
| x = Promise.resolve(); |
| |
| j = async function j() { return x; }; |
| i = async function i() { |
| await j(); |
| await j(); |
| await j(); |
| await j(); |
| await j(); |
| await j(); |
| await j(); |
| await j(); |
| await j(); |
| return j(); |
| }; |
| h = async function h() { return i(); }; |
| g = async function g() { return h(); }; |
| f = async function f() { return g(); }; |
| e = async function e() { return f(); }; |
| d = async function d() { return e(); }; |
| c = async function c() { return d(); }; |
| b = async function b() { return c(); }; |
| a = async function a() { return b(); }; |
| |
| %RunMicrotasks(); |
| } |
| |
| function Basic() { |
| a(); |
| %RunMicrotasks(); |
| } |