Index: test/js-perf-test/RegExp/base_exec.js |
diff --git a/test/js-perf-test/RegExp/base_exec.js b/test/js-perf-test/RegExp/base_exec.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ae354323a20f5a8c9a1e1c5b18aae6b98d2754d6 |
--- /dev/null |
+++ b/test/js-perf-test/RegExp/base_exec.js |
@@ -0,0 +1,57 @@ |
+// 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. |
+ |
+load("base.js"); |
+ |
+var str; |
+var re; |
+ |
+function Exec() { |
+ re.exec(str); |
+} |
+ |
+function Exec1Setup() { |
+ re = /[Cz]/; |
+ str = createHaystack(); |
+} |
+ |
+function Exec2Setup() { |
+ re = /[Cz]/g; |
+ str = createHaystack(); |
+} |
+ |
+function Exec3Setup() { |
+ re = /([Cz])/y; |
+ str = createHaystack(); |
+} |
+ |
+function Exec4Setup() { |
+ re = /[cZ]/; |
+ str = createHaystack(); |
+} |
+ |
+function Exec5Setup() { |
+ re = /[cZ]/g; |
+ str = createHaystack(); |
+} |
+ |
+function Exec6Setup() { |
+ re = /([cZ])/y; |
+ str = createHaystack(); |
+} |
+ |
+function Exec7Setup() { |
+ re = /[Cz]/gy; |
+ re.lastIndex = 2 ** 32; |
+ str = createHaystack(); |
+} |
+ |
+var benchmarks = [ [Exec, Exec1Setup], |
+ [Exec, Exec2Setup], |
+ [Exec, Exec3Setup], |
+ [Exec, Exec4Setup], |
+ [Exec, Exec5Setup], |
+ [Exec, Exec6Setup], |
+ [Exec, Exec7Setup], |
+ ]; |