Title: [173244] trunk/Source/_javascript_Core
- Revision
- 173244
- Author
- fpi...@apple.com
- Date
- 2014-09-03 17:28:50 -0700 (Wed, 03 Sep 2014)
Log Message
CallEdgeProfile::visitWeak() shouldn't attempt to despecify empty profiles
https://bugs.webkit.org/show_bug.cgi?id=136511
Reviewed by Geoffrey Garen.
* bytecode/CallEdgeProfile.cpp:
(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::mergeBack):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (173243 => 173244)
--- trunk/Source/_javascript_Core/ChangeLog 2014-09-04 00:26:42 UTC (rev 173243)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-09-04 00:28:50 UTC (rev 173244)
@@ -1,3 +1,15 @@
+2014-09-03 Filip Pizlo <fpi...@apple.com>
+
+ CallEdgeProfile::visitWeak() shouldn't attempt to despecify empty profiles
+ https://bugs.webkit.org/show_bug.cgi?id=136511
+
+ Reviewed by Geoffrey Garen.
+
+ * bytecode/CallEdgeProfile.cpp:
+ (JSC::CallEdgeProfile::worthDespecifying):
+ (JSC::CallEdgeProfile::visitWeak):
+ (JSC::CallEdgeProfile::mergeBack):
+
2014-09-03 David Kilzer <ddkil...@apple.com>
REGRESSION (r167325): (null) entry added to Xcode project file when JSBoundFunction.h was removed
Modified: trunk/Source/_javascript_Core/bytecode/CallEdgeProfile.cpp (173243 => 173244)
--- trunk/Source/_javascript_Core/bytecode/CallEdgeProfile.cpp 2014-09-04 00:26:42 UTC (rev 173243)
+++ trunk/Source/_javascript_Core/bytecode/CallEdgeProfile.cpp 2014-09-04 00:28:50 UTC (rev 173244)
@@ -95,17 +95,23 @@
if (m_closuresAreDespecified)
return false;
- if (!!m_primaryCallee && !JSC::worthDespecifying(m_primaryCallee))
- return false;
+ bool didSeeEntry = false;
+ if (!!m_primaryCallee) {
+ didSeeEntry = true;
+ if (!JSC::worthDespecifying(m_primaryCallee))
+ return false;
+ }
+
if (m_otherCallees) {
for (unsigned i = m_otherCallees->m_processed.size(); i--;) {
+ didSeeEntry = true;
if (!JSC::worthDespecifying(m_otherCallees->m_processed[i].callee()))
return false;
}
}
- return true;
+ return didSeeEntry;
}
void CallEdgeProfile::visitWeak()
@@ -131,7 +137,7 @@
}
Vector<CallSpectrum::KeyAndCount> list = newSpectrum.buildList();
- ASSERT(list.size());
+ RELEASE_ASSERT(list.size());
m_primaryCallee = list.last().key;
m_numCallsToPrimary = list.last().count;
@@ -207,8 +213,8 @@
{
ConcurrentJITLocker locker(m_lock);
- ASSERT(m_otherCallees);
- ASSERT(m_otherCallees->m_temporarySpectrum);
+ RELEASE_ASSERT(m_otherCallees);
+ RELEASE_ASSERT(m_otherCallees->m_temporarySpectrum);
if (!!m_primaryCallee)
m_otherCallees->m_temporarySpectrum->add(m_primaryCallee, m_numCallsToPrimary);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes