// 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"); } class SubRegExp extends RegExp { get source() { return "[Cz]"; } get flags() { return "guiym"; } } function CtorWithRegExpSubclassPattern() { 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], ];