Unified test infrastructure via the jsc shell
https://bugs.webkit.org/show_bug.cgi?id=120696

Source/JavaScriptCore: 

Reviewed by Oliver Hunt.
        
Add a mozilla-tests.yaml list. This is autogenerated by create-mozilla-js-test-list.
I think it's better to leave this checked in; we may even just edit it directly in
the future. Also generating it is not cheap.
        
Fix some low-hanging fruit bugs that I caught by introducing more test coverage.
        
- We were not emitting labels for CFA-unreachable blocks, which caused link errors.
  It's possible for a CFA-unreachable block to be jumped to, if the thing that causes
  it to be unreachable is a speculation in a Branch or peephole compare.
        
- The register allocation assertions didn't handle peephole branches correctly. Since
  the peephole branch handling returns early from compile(), the clearBlahbittyBlah()
  method wasn't being called.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* tests/mozilla/mozilla-tests.yaml: Added.

Tools: 

Reviewed by Oliver Hunt.
        
Make run-jsc-stress-tests smart enough to be able to handle different styles of test
output (silent or noisy) and different styles of test failure (just bad exit code,
text diff, filtering for some magical text, etc.). This allows me to get rid of the
layout-test-helper. It also allows me to switch all of the old Mozilla tests to
running in run-jsc-stress-tests.
        
Also removes all of the code paths that defended against not having shellwords. Just
install the shellwords gem if you want to run tests.
        
Also removes the non-parallel test running code. No reason for it to exist anymore.
        
This is a massive increase in test coverage. It uncovered bugs. I fixed two of them
as part of this patch, and left three more as new bugzillas.

* Scripts/create-mozilla-js-test-list: Added.
* Scripts/jsc-stress-test-helpers/check-mozilla-failure: Added.
* Scripts/jsc-stress-test-helpers/layout-test-helper: Removed.
* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests:

LayoutTests: 

Reviewed by Oliver Hunt.
        
Suppress running the no-cjit and dfg-eager variants of these tests because there are
still some hard bugs to fix; they were revealed by the increase in test coverage.

* js/script-tests/dfg-inline-arguments-capture-throw-exception.js:
* js/script-tests/dfg-uint32-to-number-in-middle-of-copy-propagation.js:
* js/script-tests/integer-division-neg2tothe32-by-neg1.js:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Factor text paint style computation out from InlineTextBox
https://bugs.webkit.org/show_bug.cgi?id=122433

Reviewed by Andreas Kling.

Move it to TextPaintStyle.h/cpp. Other parts of the code may use it in the future.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, fix build on old Rubies.

* Scripts/run-jsc-stress-tests:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
jsc-layout-tests.yaml/js/script-tests/dfg-arguments-osr-exit.js.layout-dfg-eager-no-cjit fails in release mode on the bots
https://bugs.webkit.org/show_bug.cgi?id=122436

Unreviewed, green the bots by not running the eager variants of these tests.
        
Will unskip when I land the fix for https://bugs.webkit.org/show_bug.cgi?id=122418.

* js/script-tests/dfg-arguments-osr-exit-multiple-blocks-before-exit.js:
* js/script-tests/dfg-arguments-osr-exit-multiple-blocks.js:
* js/script-tests/dfg-arguments-osr-exit.js:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Range constructors should take a Document&.
<https://webkit.org/b/122435>

Reviewed by Sam Weinig.

Source/WebCore:

Make all Range constructors take Document& instead of a PassRefPtr.
This removes one null check at every call site.

Also use a Ref<Document> for storage in Range.

Source/WTF:

Give Ref an assignment operator.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build against the Xcode default toolchain when targeting OS X 10.8.

This fixes the build after r156632 in configurations that use another toolchain
by default.

* gtest/xcode/Config/General.xcconfig:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
results.html doesn't support non-HTML reference tests or references with external resources
https://bugs.webkit.org/show_bug.cgi?id=122426

Reviewed by Ryosuke Niwa.

* fast/harness/results.html:
Factor splitExtension() out of stripExtension(), so we can retrieve
the extension as well as strip it.

Factor layoutTestsBasePath() out of testLink(), so we can use it for
ref test expectation files as well.

Use layoutTestsBasePath() to link to ref test expectation files, and
use the extension of the test for the expectation, instead of hardcoding
HTML reference files.

This will work on the bots because we already use the same mechanism for
the link to the test itself.

* fast/harness/resources/results-test.js:
Update the harness result viewer test results.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157020 268f45cc-cd09-0410-ab3c-d52691b4dbfc