Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (191964 => 191965)
--- trunk/Source/_javascript_Core/ChangeLog 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-11-03 20:02:02 UTC (rev 191965)
@@ -1,3 +1,42 @@
+2015-11-03 Michael Saboff <msab...@apple.com>
+
+ Rename InlineCallFrame:: getCallerSkippingDeadFrames to something more descriptive
+ https://bugs.webkit.org/show_bug.cgi?id=150832
+
+ Reviewed by Geoffrey Garen.
+
+ Renamed InlineCallFrame::getCallerSkippingDeadFrames() to getCallerSkippingTailCalls().
+ Did similar renaming to helper InlineCallFrame::computeCallerSkippingTailCalls() and
+ InlineCallFrame::getCallerInlineFrameSkippingTailCalls().
+
+ * bytecode/InlineCallFrame.h:
+ (JSC::InlineCallFrame::computeCallerSkippingTailCalls):
+ (JSC::InlineCallFrame::getCallerSkippingTailCalls):
+ (JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls):
+ (JSC::InlineCallFrame::computeCallerSkippingDeadFrames): Deleted.
+ (JSC::InlineCallFrame::getCallerSkippingDeadFrames): Deleted.
+ (JSC::InlineCallFrame::getCallerInlineFrameSkippingDeadFrames): Deleted.
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::allInlineFramesAreTailCalls):
+ (JSC::DFG::ByteCodeParser::currentCodeOrigin):
+ (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
+ * dfg/DFGGraph.cpp:
+ (JSC::DFG::Graph::isLiveInBytecode):
+ * dfg/DFGGraph.h:
+ (JSC::DFG::Graph::forAllLocalsLiveInBytecode):
+ * dfg/DFGOSRExitCompilerCommon.cpp:
+ (JSC::DFG::reifyInlinedCallFrames):
+ * dfg/DFGPreciseLocalClobberize.h:
+ (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::emitCall):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::emitCall):
+ * ftl/FTLLowerDFGToLLVM.cpp:
+ (JSC::FTL::DFG::LowerDFGToLLVM::codeOriginDescriptionOfCallSite):
+ * interpreter/StackVisitor.cpp:
+ (JSC::StackVisitor::gotoNextFrame):
+
2015-11-02 Filip Pizlo <fpi...@apple.com>
B3/Air should use bubble sort for their insertion sets, because it's faster than std::stable_sort
Modified: trunk/Source/_javascript_Core/bytecode/InlineCallFrame.h (191964 => 191965)
--- trunk/Source/_javascript_Core/bytecode/InlineCallFrame.h 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/bytecode/InlineCallFrame.h 2015-11-03 20:02:02 UTC (rev 191965)
@@ -146,7 +146,7 @@
return isTail(static_cast<Kind>(kind));
}
- static CodeOrigin* computeCallerSkippingDeadFrames(InlineCallFrame* inlineCallFrame, Kind* callerCallKind = nullptr)
+ static CodeOrigin* computeCallerSkippingTailCalls(InlineCallFrame* inlineCallFrame, Kind* callerCallKind = nullptr)
{
CodeOrigin* codeOrigin;
bool tailCallee;
@@ -167,14 +167,14 @@
return codeOrigin;
}
- CodeOrigin* getCallerSkippingDeadFrames(Kind* callerCallKind = nullptr)
+ CodeOrigin* getCallerSkippingTailCalls(Kind* callerCallKind = nullptr)
{
- return computeCallerSkippingDeadFrames(this, callerCallKind);
+ return computeCallerSkippingTailCalls(this, callerCallKind);
}
- InlineCallFrame* getCallerInlineFrameSkippingDeadFrames()
+ InlineCallFrame* getCallerInlineFrameSkippingTailCalls()
{
- CodeOrigin* caller = getCallerSkippingDeadFrames();
+ CodeOrigin* caller = getCallerSkippingTailCalls();
return caller ? caller->inlineCallFrame : nullptr;
}
Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (191964 => 191965)
--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2015-11-03 20:02:02 UTC (rev 191965)
@@ -652,7 +652,7 @@
bool allInlineFramesAreTailCalls()
{
- return !inlineCallFrame() || !inlineCallFrame()->getCallerSkippingDeadFrames();
+ return !inlineCallFrame() || !inlineCallFrame()->getCallerSkippingTailCalls();
}
CodeOrigin currentCodeOrigin()
@@ -815,7 +815,7 @@
prediction = SpecFullTop;
break;
}
- CodeOrigin* codeOrigin = inlineCallFrame()->getCallerSkippingDeadFrames();
+ CodeOrigin* codeOrigin = inlineCallFrame()->getCallerSkippingTailCalls();
if (!codeOrigin) {
prediction = SpecFullTop;
break;
Modified: trunk/Source/_javascript_Core/dfg/DFGGraph.cpp (191964 => 191965)
--- trunk/Source/_javascript_Core/dfg/DFGGraph.cpp 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/dfg/DFGGraph.cpp 2015-11-03 20:02:02 UTC (rev 191965)
@@ -1000,7 +1000,7 @@
&& static_cast<size_t>(reg.toArgument()) < inlineCallFrame->arguments.size())
return true;
- codeOriginPtr = inlineCallFrame->getCallerSkippingDeadFrames();
+ codeOriginPtr = inlineCallFrame->getCallerSkippingTailCalls();
// The first inline call frame could be an inline tail call
if (!codeOriginPtr)
Modified: trunk/Source/_javascript_Core/dfg/DFGGraph.h (191964 => 191965)
--- trunk/Source/_javascript_Core/dfg/DFGGraph.h 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/dfg/DFGGraph.h 2015-11-03 20:02:02 UTC (rev 191965)
@@ -762,7 +762,7 @@
for (VirtualRegister reg = exclusionStart; reg < exclusionEnd; reg += 1)
functor(reg);
- codeOriginPtr = inlineCallFrame->getCallerSkippingDeadFrames();
+ codeOriginPtr = inlineCallFrame->getCallerSkippingTailCalls();
// The first inline call frame could be an inline tail call
if (!codeOriginPtr)
Modified: trunk/Source/_javascript_Core/dfg/DFGOSRExitCompilerCommon.cpp (191964 => 191965)
--- trunk/Source/_javascript_Core/dfg/DFGOSRExitCompilerCommon.cpp 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/dfg/DFGOSRExitCompilerCommon.cpp 2015-11-03 20:02:02 UTC (rev 191965)
@@ -143,11 +143,11 @@
jit.storePtr(AssemblyHelpers::TrustedImmPtr(jit.baselineCodeBlock()), AssemblyHelpers::addressFor((VirtualRegister)JSStack::CodeBlock));
const CodeOrigin* codeOrigin;
- for (codeOrigin = &exit.m_codeOrigin; codeOrigin && codeOrigin->inlineCallFrame; codeOrigin = codeOrigin->inlineCallFrame->getCallerSkippingDeadFrames()) {
+ for (codeOrigin = &exit.m_codeOrigin; codeOrigin && codeOrigin->inlineCallFrame; codeOrigin = codeOrigin->inlineCallFrame->getCallerSkippingTailCalls()) {
InlineCallFrame* inlineCallFrame = codeOrigin->inlineCallFrame;
CodeBlock* baselineCodeBlock = jit.baselineCodeBlockFor(*codeOrigin);
InlineCallFrame::Kind trueCallerCallKind;
- CodeOrigin* trueCaller = inlineCallFrame->getCallerSkippingDeadFrames(&trueCallerCallKind);
+ CodeOrigin* trueCaller = inlineCallFrame->getCallerSkippingTailCalls(&trueCallerCallKind);
GPRReg callerFrameGPR = GPRInfo::callFrameRegister;
if (!trueCaller) {
Modified: trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h (191964 => 191965)
--- trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/dfg/DFGPreciseLocalClobberize.h 2015-11-03 20:02:02 UTC (rev 191965)
@@ -140,7 +140,7 @@
m_read(VirtualRegister(i));
// Read all of the inline arguments and call frame headers that we didn't already capture.
- for (InlineCallFrame* inlineCallFrame = m_node->origin.semantic.inlineCallFrame; inlineCallFrame; inlineCallFrame = inlineCallFrame->getCallerInlineFrameSkippingDeadFrames()) {
+ for (InlineCallFrame* inlineCallFrame = m_node->origin.semantic.inlineCallFrame; inlineCallFrame; inlineCallFrame = inlineCallFrame->getCallerInlineFrameSkippingTailCalls()) {
for (unsigned i = inlineCallFrame->arguments.size(); i-- > 1;)
m_read(VirtualRegister(inlineCallFrame->stackOffset + virtualRegisterForArgument(i).offset()));
if (inlineCallFrame->isClosureCall)
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (191964 => 191965)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2015-11-03 20:02:02 UTC (rev 191965)
@@ -855,10 +855,10 @@
JITCompiler::JumpList slowPath;
CodeOrigin staticOrigin = node->origin.semantic;
- ASSERT(!isTail || !staticOrigin.inlineCallFrame || !staticOrigin.inlineCallFrame->getCallerSkippingDeadFrames());
- ASSERT(!isEmulatedTail || (staticOrigin.inlineCallFrame && staticOrigin.inlineCallFrame->getCallerSkippingDeadFrames()));
+ ASSERT(!isTail || !staticOrigin.inlineCallFrame || !staticOrigin.inlineCallFrame->getCallerSkippingTailCalls());
+ ASSERT(!isEmulatedTail || (staticOrigin.inlineCallFrame && staticOrigin.inlineCallFrame->getCallerSkippingTailCalls()));
CodeOrigin dynamicOrigin =
- isEmulatedTail ? *staticOrigin.inlineCallFrame->getCallerSkippingDeadFrames() : staticOrigin;
+ isEmulatedTail ? *staticOrigin.inlineCallFrame->getCallerSkippingTailCalls() : staticOrigin;
CallSiteIndex callSite = m_jit.recordCallSiteAndGenerateExceptionHandlingOSRExitIfNeeded(dynamicOrigin, m_stream->size());
m_jit.emitStoreCallSiteIndex(callSite);
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (191964 => 191965)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2015-11-03 20:02:02 UTC (rev 191965)
@@ -820,10 +820,10 @@
}
CodeOrigin staticOrigin = node->origin.semantic;
- ASSERT(!isTail || !staticOrigin.inlineCallFrame || !staticOrigin.inlineCallFrame->getCallerSkippingDeadFrames());
- ASSERT(!isEmulatedTail || (staticOrigin.inlineCallFrame && staticOrigin.inlineCallFrame->getCallerSkippingDeadFrames()));
+ ASSERT(!isTail || !staticOrigin.inlineCallFrame || !staticOrigin.inlineCallFrame->getCallerSkippingTailCalls());
+ ASSERT(!isEmulatedTail || (staticOrigin.inlineCallFrame && staticOrigin.inlineCallFrame->getCallerSkippingTailCalls()));
CodeOrigin dynamicOrigin =
- isEmulatedTail ? *staticOrigin.inlineCallFrame->getCallerSkippingDeadFrames() : staticOrigin;
+ isEmulatedTail ? *staticOrigin.inlineCallFrame->getCallerSkippingTailCalls() : staticOrigin;
CallSiteIndex callSite = m_jit.recordCallSiteAndGenerateExceptionHandlingOSRExitIfNeeded(dynamicOrigin, m_stream->size());
m_jit.emitStoreCallSiteIndex(callSite);
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (191964 => 191965)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2015-11-03 20:02:02 UTC (rev 191965)
@@ -8744,7 +8744,7 @@
// to baz and baz is inlined in bar. And then baz makes a tail-call to jaz,
// and jaz is inlined in baz. We want the callframe for jaz to appear to
// have caller be bar.
- codeOrigin = *codeOrigin.inlineCallFrame->getCallerSkippingDeadFrames();
+ codeOrigin = *codeOrigin.inlineCallFrame->getCallerSkippingTailCalls();
}
return codeOrigin;
Modified: trunk/Source/_javascript_Core/interpreter/StackVisitor.cpp (191964 => 191965)
--- trunk/Source/_javascript_Core/interpreter/StackVisitor.cpp 2015-11-03 19:59:57 UTC (rev 191964)
+++ trunk/Source/_javascript_Core/interpreter/StackVisitor.cpp 2015-11-03 20:02:02 UTC (rev 191965)
@@ -59,7 +59,7 @@
#if ENABLE(DFG_JIT)
if (m_frame.isInlinedFrame()) {
InlineCallFrame* inlineCallFrame = m_frame.inlineCallFrame();
- CodeOrigin* callerCodeOrigin = inlineCallFrame->getCallerSkippingDeadFrames();
+ CodeOrigin* callerCodeOrigin = inlineCallFrame->getCallerSkippingTailCalls();
if (!callerCodeOrigin) {
while (inlineCallFrame) {
readInlinedFrame(m_frame.callFrame(), &inlineCallFrame->directCaller);