| // 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], |
| ]; |