| Index: test/js-perf-test/RegExp/base_ctor.js
|
| diff --git a/test/js-perf-test/RegExp/base_ctor.js b/test/js-perf-test/RegExp/base_ctor.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cacd43af59e45e7c2d3f159db5bca17d83c19dce
|
| --- /dev/null
|
| +++ b/test/js-perf-test/RegExp/base_ctor.js
|
| @@ -0,0 +1,54 @@
|
| +// 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.
|
| +
|
| +function SimpleCtor() {
|
| + new RegExp("[Cz]");
|
| +}
|
| +
|
| +function FlagsCtor() {
|
| + new RegExp("[Cz]", "guiym");
|
| +}
|
| +
|
| +function SimpleCtorWithoutNew() {
|
| + RegExp("[Cz]");
|
| +}
|
| +
|
| +function FlagsCtorWithoutNew() {
|
| + RegExp("[Cz]", "guiym");
|
| +}
|
| +
|
| +function CtorWithRegExpPattern() {
|
| + new RegExp(/[Cz]/);
|
| +}
|
| +
|
| +function CtorWithRegExpPatternAndFlags() {
|
| + new RegExp(/[Cz]/, "guiym");
|
| +}
|
| +
|
| +function CtorWithRegExpSubclassPattern() {
|
| + class SubRegExp extends RegExp {
|
| + get source() { return "[Cz]"; }
|
| + get flags() { return "guiym"; }
|
| + }
|
| + new RegExp(new SubRegExp(/[Cz]/));
|
| +}
|
| +
|
| +function CtorWithUndefinedPattern() {
|
| + new RegExp();
|
| +}
|
| +
|
| +function CtorWithFlagsAndUndefinedPattern() {
|
| + new RegExp(undefined, "guiym");
|
| +}
|
| +
|
| +var benchmarks = [ [SimpleCtor, undefined],
|
| + [FlagsCtor, undefined],
|
| + [SimpleCtorWithoutNew, undefined],
|
| + [FlagsCtorWithoutNew, undefined],
|
| + [CtorWithRegExpPattern, undefined],
|
| + [CtorWithRegExpPatternAndFlags, undefined],
|
| + [CtorWithRegExpSubclassPattern, undefined],
|
| + [CtorWithUndefinedPattern, undefined],
|
| + [CtorWithFlagsAndUndefinedPattern, undefined],
|
| + ];
|
|
|