Air needs a late register liveness phase that calls Special::reportUsedRegisters()
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 31 Oct 2015 23:01:30 +0000 (23:01 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 31 Oct 2015 23:01:30 +0000 (23:01 +0000)
commit823f1a93143496f214642654b2b95bf0a7119fd0
treed1920d6f9d9df60248fb8545544f333c1a091403
parent0103b3a801e387a8e4d7dcbd5e301da3f07d4c01
Air needs a late register liveness phase that calls Special::reportUsedRegisters()
https://bugs.webkit.org/show_bug.cgi?id=150511

Reviewed by Saam Barati.

This change adds such a phase. In the process of writing it, I was reminded about the
glaring efficiency bugs in Air::Liveness and so I filed a bug and added FIXMEs.

* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/air/AirAllocateStack.cpp:
(JSC::B3::Air::allocateStack):
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
* b3/air/AirReportUsedRegisters.cpp: Added.
(JSC::B3::Air::reportUsedRegisters):
* b3/air/AirReportUsedRegisters.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/b3/air/AirAllocateStack.cpp
Source/JavaScriptCore/b3/air/AirGenerate.cpp
Source/JavaScriptCore/b3/air/AirReportUsedRegisters.cpp [new file with mode: 0644]
Source/JavaScriptCore/b3/air/AirReportUsedRegisters.h [new file with mode: 0644]