360586f2f9
This patch adds fast paths for @@replace and @@split that call into the old, side-effect free (and faster) versions of those builtin operations when possible (roughly, when the receiver is a RegExp and the 'exec' method is untampered). Also add some micro-optimizations that further improve performance. Taken altogether, this takes us from a ~70% regression on the Octane RegExp benchmark to a ~9% regression. The test262.status lines for RegExps has been reorganized to make it clearer the status of individual tests. More work will likely be required to increase spec compliance before the --harmony-regexp-exec flag is shipped; some of that work is happening on the spec side. BUG=v8:4602 LOG=y Review URL: https://codereview.chromium.org/1836123002 Cr-Commit-Position: refs/heads/master@{#35118} |
||
---|---|---|
.. | ||
archive.py | ||
harness-adapt.js | ||
list.py | ||
README | ||
test262.gyp | ||
test262.isolate | ||
test262.status | ||
testcfg.py |
This directory contains code for binding the test262 test suite into the v8 test harness. The tests are checked out as a dependency from https://chromium.googlesource.com/external/github.com/tc39/test262 at a revision specified in the DEPS file as 'data' in this directory. They are fetched with 'gclient sync'. To update to a newer version, please change the DEPS file. Using a newer version, e.g. 'deadbeef' may be possible but the tests are only known to pass (and indeed run) with the DEPS revision. Example: cd data git fetch git checkout deadbeef If you do update to a newer revision you may have to change the test harness adapter code since it uses internal functionality from the harness that comes bundled with the tests. You will most likely also have to update the test expectation file.