The FTL allocated spill slots for BinaryOps is sometimes inaccurate.
authormark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 9 Jan 2016 15:23:56 +0000 (15:23 +0000)
committermark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 9 Jan 2016 15:23:56 +0000 (15:23 +0000)
commit9e04c8bab15930601029b1012a3d8d33a36bca01
tree3a158e102a53a770adbbd59278d6d342a83e9fdc
parent1df747734047a170ac98c7b7f8ed3c2cb0343339
The FTL allocated spill slots for BinaryOps is sometimes inaccurate.
https://bugs.webkit.org/show_bug.cgi?id=152918

Reviewed by Filip Pizlo and Saam Barati.

* ftl/FTLCompile.cpp:
- Updated a comment.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
- The code to compute maxNumberOfCatchSpills was unnecessarily allocating an
  extra slot for BinaryOps that don't have Untyped operands, and failing to
  allocate that extra slot for some binary ops.  This is now fixed.

* tests/stress/ftl-shr-exception.js:
* tests/stress/ftl-xor-exception.js:
- Un-skipped these tests.  They now pass with this patch.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/ftl/FTLCompile.cpp
Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp
Source/JavaScriptCore/tests/stress/ftl-shr-exception.js
Source/JavaScriptCore/tests/stress/ftl-xor-exception.js