The GetById->GetByOffset AI-based optimization should actually do things
https://bugs.webkit.org/show_bug.cgi?id=123299

Reviewed by Oliver Hunt.
        
20% speed-up on Octane/gbemu.

* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFor): Actually finish filling in the Status by setting the state. Previously it would remain set to NoInformation, meaning that this whole method was a no-op.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] Add support for order inside grid items
https://bugs.webkit.org/show_bug.cgi?id=123208

Reviewed by Antti Koivisto.

Source/WebCore:

Based on Blink r153457 and r153536 by <jchaffraix@chromium.org>

Added support for sorting grid items by using -webkit-order
property. Used OrderIterator to implement it so it had to be moved
out of RenderFlexibleBox to be shared with RenderGrid.

Tests: fast/css-grid-layout/grid-item-order-auto-flow-resolution.html
       fast/css-grid-layout/grid-item-order-paint-order.html

* CMakeLists.txt: Added new file.
* GNUmakefile.list.am: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/OrderIterator.cpp: Added. Ripped out of RenderFlexibleBox.
(WebCore::OrderIterator::OrderIterator):
(WebCore::OrderIterator::setOrderValues): Use std::move semantics.
(WebCore::OrderIterator::first): Use an integer as iterator.
(WebCore::OrderIterator::next): Ditto.
(WebCore::OrderIterator::reset): Ditto.
* rendering/OrderIterator.h: Added.
(WebCore::OrderIterator::currentChild):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlexibleBox.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::paintChildren):
* rendering/RenderGrid.h:

LayoutTests:

From Blink r153536 by <jchaffraix@chromium.org>

Added a couple of tests to verify that we respect the specified
order of grid items both in the auto-placement algorithm and in
the final painting.

* fast/css-grid-layout/grid-item-order-auto-flow-resolution-expected.txt: Added.
* fast/css-grid-layout/grid-item-order-auto-flow-resolution.html: Added.
* fast/css-grid-layout/grid-item-order-paint-order-expected.html: Added.
* fast/css-grid-layout/grid-item-order-paint-order.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get rid of InlineStart so that I don't have to implement it in FTL
https://bugs.webkit.org/show_bug.cgi?id=123302

Reviewed by Geoffrey Garen.
        
InlineStart was a special instruction that we would insert at the top of inlined code,
so that the backend could capture the OSR state of arguments to an inlined call. It used
to be that only the backend had this information, so this instruction was sort of an ugly
callback from the backend for filling in some data structures.
        
But in the time since when that code was written (two years ago?), we rationalized how
variables work. It's now the case that variables that the runtime must know about are
treated specially in IR (they are "flushed") and we know how we will represent them even
before we get to the backend. The last place that makes changes to their representation
is the StackLayoutPhase.
        
So, this patch gets rid of InlineStart, but keeps around the special meta-data that the
instruction had. Instead of handling the bookkeeping in the backend, we handle it in
StackLayoutPhase. This means that the DFG and FTL can share code for handling this
bookkeeping. This also means that now the FTL can compile code blocks that had inlining.
        
Of course, giving the FTL the ability to handle code blocks that had inlining means that
we're going to have new bugs. Sure enough, the FTL's linker didn't handle inline call
frames. This patch also fixes that.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
* dfg/DFGNode.h:
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):
* ftl/FTLLink.cpp:
(JSC::FTL::link):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add additional Apple Mavericks test bots.
        
Unreviewed.
        
* BuildSlaveSupport/build.webkit.org-config/config.json:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Some test expectations for Mavericks.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expunge Lion and SnowLeopard from TestExpectations.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158120 268f45cc-cd09-0410-ab3c-d52691b4dbfc