| Index: test/js-perf-test/AsyncAwait/baseline-babel-es2017.js
|
| diff --git a/test/js-perf-test/AsyncAwait/baseline-babel-es2017.js b/test/js-perf-test/AsyncAwait/baseline-babel-es2017.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1be3074f3bca8681d1e1edd52bf4291464689996
|
| --- /dev/null
|
| +++ b/test/js-perf-test/AsyncAwait/baseline-babel-es2017.js
|
| @@ -0,0 +1,169 @@
|
| +// 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;
|
| + })();
|
| +
|
| + %RunMicrotasks();
|
| +}
|
| +
|
| +function Basic() {
|
| + a();
|
| + %RunMicrotasks();
|
| +}
|
|
|