Make ftl-polymorphic-xxx tests more polymorphic.
authormark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Jan 2016 20:38:46 +0000 (20:38 +0000)
committermark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Jan 2016 20:38:46 +0000 (20:38 +0000)
commit62e393d55660bf7f417507e5c5aa61a93413c976
treee4891acc11fa674edfc1c72c05c9c7341238d1a9
parente3cbd393651877bc2851a9c49aa21ceae047891a
Make ftl-polymorphic-xxx tests more polymorphic.
https://bugs.webkit.org/show_bug.cgi?id=152736

Reviewed by Saam Barati.

1. Change the test driver to alternate inputs between numeric operands and
   an object with a valueOf() method.
2. Changed busy work blob to use the operator being tested instead of always using
   the + operator.
3. Updated test results.

With these change, the tests each triggers around 49000+ speculation failures when
run as a benchmark on the VM before the fix for https://webkit.org/b/152708
landed (in r194560: <http://trac.webkit.org/r194560>).  After the fix, the
number of speculation failures is around 11 or lower.

The benchmark perf with these tests shows about a 10% gain on x86 (32-bit with no
FTL) and about 2x on x86_64 (64-bit with FTL).

* js/regress/script-tests/ftl-polymorphic-bitand.js:
* js/regress/script-tests/ftl-polymorphic-bitor.js:
* js/regress/script-tests/ftl-polymorphic-bitxor.js:
* js/regress/script-tests/ftl-polymorphic-div.js:
* js/regress/script-tests/ftl-polymorphic-lshift.js:
* js/regress/script-tests/ftl-polymorphic-mul.js:
* js/regress/script-tests/ftl-polymorphic-rshift.js:
* js/regress/script-tests/ftl-polymorphic-sub.js:
* js/regress/script-tests/ftl-polymorphic-urshift.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/js/regress/script-tests/ftl-polymorphic-bitand.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-bitor.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-bitxor.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-div.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-lshift.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-mul.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-rshift.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-sub.js
LayoutTests/js/regress/script-tests/ftl-polymorphic-urshift.js