Any exit from any JIT due to profiling for an inline cache should force all future...
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Jun 2015 05:39:11 +0000 (05:39 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 2 Jun 2015 05:39:11 +0000 (05:39 +0000)
commit04b5276ed1293f94af37d1cf8b8892801e2af408
tree6bff113a2c3a004771093b004298a1cbbb420e5e
parent38e6859a9c3900914f40ec23d5c03e78f1891229
Any exit from any JIT due to profiling for an inline cache should force all future compilations to be wary
https://bugs.webkit.org/show_bug.cgi?id=145496

Reviewed by Geoffrey Garen.

This pessimizes compilation a bit, but it reduces the likelihood of exiting from FTL. I
couldn't find any convincing reason not to do this, and we know from Speedometer that this
change is necessary for weirder code.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeDFGStatuses):
* bytecode/CallLinkStatus.h:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::appendVariant):
(JSC::GetByIdStatus::hasExitSite):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdStatus.h:
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::appendVariant):
(JSC::PutByIdStatus::hasExitSite):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/bytecode/CallLinkStatus.cpp
Source/JavaScriptCore/bytecode/CallLinkStatus.h
Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
Source/JavaScriptCore/bytecode/GetByIdStatus.h
Source/JavaScriptCore/bytecode/PutByIdStatus.cpp
Source/JavaScriptCore/bytecode/PutByIdStatus.h