Diff
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog (180739 => 180740)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog 2015-02-27 12:09:34 UTC (rev 180739)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog 2015-02-27 12:13:01 UTC (rev 180740)
@@ -1,3 +1,27 @@
+2015-02-17 Benjamin Poulain <[email protected]>
+
+ Clean up OSRExit's considerAddingAsFrequentExitSite()
+ https://bugs.webkit.org/show_bug.cgi?id=141690
+
+ Reviewed by Anders Carlsson.
+
+ Looks like some code was removed from CodeBlock::tallyFrequentExitSites()
+ and the OSRExit were left untouched.
+
+ This patch cleans up the two loops and remove the boolean return
+ on considerAddingAsFrequentExitSite().
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::tallyFrequentExitSites):
+ * dfg/DFGOSRExit.h:
+ (JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):
+ * dfg/DFGOSRExitBase.cpp:
+ (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow):
+ * dfg/DFGOSRExitBase.h:
+ (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSite):
+ * ftl/FTLOSRExit.h:
+ (JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):
+
2015-02-17 Michael Saboff <[email protected]>
Unreviewed, Restoring the C LOOP insta-crash fix in r180184.
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/bytecode/CodeBlock.cpp (180739 => 180740)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/bytecode/CodeBlock.cpp 2015-02-27 12:09:34 UTC (rev 180739)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/bytecode/CodeBlock.cpp 2015-02-27 12:13:01 UTC (rev 180740)
@@ -3730,9 +3730,7 @@
DFG::JITCode* jitCode = m_jitCode->dfg();
for (unsigned i = 0; i < jitCode->osrExit.size(); ++i) {
DFG::OSRExit& exit = jitCode->osrExit[i];
-
- if (!exit.considerAddingAsFrequentExitSite(profiledBlock))
- continue;
+ exit.considerAddingAsFrequentExitSite(profiledBlock);
}
break;
}
@@ -3745,9 +3743,7 @@
FTL::JITCode* jitCode = m_jitCode->ftl();
for (unsigned i = 0; i < jitCode->osrExit.size(); ++i) {
FTL::OSRExit& exit = jitCode->osrExit[i];
-
- if (!exit.considerAddingAsFrequentExitSite(profiledBlock))
- continue;
+ exit.considerAddingAsFrequentExitSite(profiledBlock);
}
break;
}
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExit.h (180739 => 180740)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExit.h 2015-02-27 12:09:34 UTC (rev 180739)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExit.h 2015-02-27 12:13:01 UTC (rev 180740)
@@ -104,9 +104,9 @@
RefPtr<ValueRecoveryOverride> m_valueRecoveryOverride;
- bool considerAddingAsFrequentExitSite(CodeBlock* profiledCodeBlock)
+ void considerAddingAsFrequentExitSite(CodeBlock* profiledCodeBlock)
{
- return OSRExitBase::considerAddingAsFrequentExitSite(profiledCodeBlock, ExitFromDFG);
+ OSRExitBase::considerAddingAsFrequentExitSite(profiledCodeBlock, ExitFromDFG);
}
};
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExitBase.cpp (180739 => 180740)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExitBase.cpp 2015-02-27 12:09:34 UTC (rev 180739)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExitBase.cpp 2015-02-27 12:13:01 UTC (rev 180740)
@@ -35,15 +35,13 @@
namespace JSC { namespace DFG {
-bool OSRExitBase::considerAddingAsFrequentExitSiteSlow(CodeBlock* profiledCodeBlock, ExitingJITType jitType)
+void OSRExitBase::considerAddingAsFrequentExitSiteSlow(CodeBlock* profiledCodeBlock, ExitingJITType jitType)
{
CodeBlock* sourceProfiledCodeBlock =
baselineCodeBlockForOriginAndBaselineCodeBlock(
m_codeOriginForExitProfile, profiledCodeBlock);
- if (!sourceProfiledCodeBlock)
- return false;
- return sourceProfiledCodeBlock->addFrequentExitSite(
- FrequentExitSite(m_codeOriginForExitProfile.bytecodeIndex, m_kind, jitType));
+ if (sourceProfiledCodeBlock)
+ sourceProfiledCodeBlock->addFrequentExitSite(FrequentExitSite(m_codeOriginForExitProfile.bytecodeIndex, m_kind, jitType));
}
} } // namespace JSC::DFG
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExitBase.h (180739 => 180740)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExitBase.h 2015-02-27 12:09:34 UTC (rev 180739)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/dfg/DFGOSRExitBase.h 2015-02-27 12:13:01 UTC (rev 180740)
@@ -57,15 +57,14 @@
CodeOrigin m_codeOriginForExitProfile;
protected:
- bool considerAddingAsFrequentExitSite(CodeBlock* profiledCodeBlock, ExitingJITType jitType)
+ void considerAddingAsFrequentExitSite(CodeBlock* profiledCodeBlock, ExitingJITType jitType)
{
- if (!m_count)
- return false;
- return considerAddingAsFrequentExitSiteSlow(profiledCodeBlock, jitType);
+ if (m_count)
+ considerAddingAsFrequentExitSiteSlow(profiledCodeBlock, jitType);
}
private:
- bool considerAddingAsFrequentExitSiteSlow(CodeBlock* profiledCodeBlock, ExitingJITType);
+ void considerAddingAsFrequentExitSiteSlow(CodeBlock* profiledCodeBlock, ExitingJITType);
};
} } // namespace JSC::DFG
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ftl/FTLOSRExit.h (180739 => 180740)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ftl/FTLOSRExit.h 2015-02-27 12:09:34 UTC (rev 180739)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ftl/FTLOSRExit.h 2015-02-27 12:13:01 UTC (rev 180740)
@@ -167,9 +167,9 @@
CodeLocationJump codeLocationForRepatch(CodeBlock* ftlCodeBlock) const;
- bool considerAddingAsFrequentExitSite(CodeBlock* profiledCodeBlock)
+ void considerAddingAsFrequentExitSite(CodeBlock* profiledCodeBlock)
{
- return OSRExitBase::considerAddingAsFrequentExitSite(profiledCodeBlock, ExitFromFTL);
+ OSRExitBase::considerAddingAsFrequentExitSite(profiledCodeBlock, ExitFromFTL);
}
};