It should be possible to run the OSR exit fuzzer
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Jul 2015 21:12:46 +0000 (21:12 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Jul 2015 21:12:46 +0000 (21:12 +0000)
commitd76b07be7634dae8d87e49b7f03a13557083c28a
tree5ecdd13d98b52061aab4f5ab89356c2cbee1a009
parentb98788354e54fb162acd56893aa35a29ff9e8e6c
It should be possible to run the OSR exit fuzzer
https://bugs.webkit.org/show_bug.cgi?id=146814

Reviewed by Mark Lam.

Source/JavaScriptCore:

Fix a silly bug: the option matching was accidentally allowing a prefix match, which
always did the wrong thing for --fireOSRExitFuzzAt and --fireOSRExitFuzzAtStatic. Make
this an exact match instead.

* runtime/Options.cpp:
(JSC::Options::setOption):

Tools:

This runs a test command to detect how many static OSR exit sites it had, and then for
each exit site, it triggers three exits (earliest opportunity, last opportunity, some
middle opportunity), plus a mode where the check always exits. This is an exhaustive
search, so in the future it'll be very appropriate for cases where we have a simple test
and we want to see what happens when you eventually exit in this test.

Right now this isn't hooked into any specific tests, but I've done some spot checks on it
and it seems to do the right thing.

* Scripts/jsc-stress-test-helpers/js-osr-exit-fuzz: Added.
(fail):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/Options.cpp
Tools/ChangeLog
Tools/Scripts/jsc-stress-test-helpers/js-osr-exit-fuzz [new file with mode: 0755]