| // 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('BaselineES2017', [1000], [ |
| new Benchmark('Basic', false, false, 0, Basic, Setup), |
| ]); |
| |
| function _asyncToGenerator(fn) { |
| return function () { |
| var gen = fn.apply(this, arguments); |
| return new Promise(function (resolve, reject) { |
| function step(key, arg) { |
| try { |
| var info = gen[key](arg); |
| var value = info.value; |
| } catch (error) { |
| reject(error); |
| return; |
| } |
| if (info.done) { |
| resolve(value); |
| } else { |
| return Promise.resolve(value) |
| .then(function (value) { |
| step("next", value); |
| }, function (err) { |
| step("throw", err); |
| }); |
| } |
| } |
| return step("next"); |
| }); |
| }; |
| } |
| |
| var a, b, c, d, e, f, g, h, i, j, x; |
| |
| function Setup() { |
| x = Promise.resolve(); |
| |
| j = (() => { |
| var _ref = _asyncToGenerator(function* () { |
| return x; |
| }); |
| |
| function j() { |
| return _ref.apply(this, arguments); |
| } |
| |
| return j; |
| })(); |
| i = (() => { |
| var _ref2 = _asyncToGenerator(function* () { |
| yield j(); |
| yield j(); |
| yield j(); |
| yield j(); |
| yield j(); |
| yield j(); |
| yield j(); |
| yield j(); |
| yield j(); |
| return j(); |
| }); |
| |
| function i() { |
| return _ref2.apply(this, arguments); |
| } |
| |
| return i; |
| })(); |
| h = (() => { |
| var _ref3 = _asyncToGenerator(function* () { |
| return i(); |
| }); |
| |
| function h() { |
| return _ref3.apply(this, arguments); |
| } |
| |
| return h; |
| })(); |
| g = (() => { |
| var _ref4 = _asyncToGenerator(function* () { |
| return h(); |
| }); |
| |
| function g() { |
| return _ref4.apply(this, arguments); |
| } |
| |
| return g; |
| })(); |
| f = (() => { |
| var _ref5 = _asyncToGenerator(function* () { |
| return g(); |
| }); |
| |
| function f() { |
| return _ref5.apply(this, arguments); |
| } |
| |
| return f; |
| })(); |
| e = (() => { |
| var _ref6 = _asyncToGenerator(function* () { |
| return f(); |
| }); |
| |
| function e() { |
| return _ref6.apply(this, arguments); |
| } |
| |
| return e; |
| })(); |
| d = (() => { |
| var _ref7 = _asyncToGenerator(function* () { |
| return e(); |
| }); |
| |
| function d() { |
| return _ref7.apply(this, arguments); |
| } |
| |
| return d; |
| })(); |
| c = (() => { |
| var _ref8 = _asyncToGenerator(function* () { |
| return d(); |
| }); |
| |
| function c() { |
| return _ref8.apply(this, arguments); |
| } |
| |
| return c; |
| })(); |
| b = (() => { |
| var _ref9 = _asyncToGenerator(function* () { |
| return c(); |
| }); |
| |
| function b() { |
| return _ref9.apply(this, arguments); |
| } |
| |
| return b; |
| })(); |
| a = (() => { |
| var _ref10 = _asyncToGenerator(function* () { |
| return b(); |
| }); |
| |
| function a() { |
| return _ref10.apply(this, arguments); |
| } |
| |
| return a; |
| })(); |
| |
| %PerformMicrotaskCheckpoint(); |
| } |
| |
| function Basic() { |
| a(); |
| %PerformMicrotaskCheckpoint(); |
| } |