Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=122969

Reviewed by Andreas Kling.

- Fix classes derived from RenderBlockFlow that were still calling
  up to RenderBlock rather than RenderBlockFlow.

* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::computePreferredLogicalWidths):
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintMask):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::styleDidChange):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::nodeAtPoint):
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::willBeDestroyed):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::styleDidChange):
(WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
(WebCore::RenderMultiColumnBlock::addChild):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updateFromElement):
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsBlock::styleDidChange):
(WebCore::RenderRubyAsBlock::addChild):
(WebCore::RenderRubyAsBlock::removeChild):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::rubyBaseSafe):
(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):
(WebCore::RenderRubyRun::layout):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::textAlignmentForLine):
(WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::willBeRemovedFromTree):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::willBeRemovedFromTree):
(WebCore::RenderTableCell::computePreferredLogicalWidths):
(WebCore::RenderTableCell::offsetFromContainer):
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
(WebCore::RenderTableCell::computeRectForRepaint):
(WebCore::RenderTableCell::styleDidChange):
(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):
(WebCore::RenderTableCell::paint):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::styleDidChange):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::scrollWidth):
(WebCore::RenderTextControlSingleLine::scrollHeight):
(WebCore::RenderTextControlSingleLine::scrollLeft):
(WebCore::RenderTextControlSingleLine::scrollTop):
(WebCore::RenderTextControlSingleLine::scroll):
(WebCore::RenderTextControlSingleLine::logicalScroll):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::layout):
* rendering/RenderView.cpp:
(WebCore::RenderView::layoutContent):
(WebCore::RenderView::addChild):
(WebCore::RenderView::visualOverflowRect):
(WebCore::RenderView::styleDidChange):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::setStyle):
(WebCore::RenderSVGBlock::updateFromStyle):
(WebCore::RenderSVGBlock::willBeDestroyed):
(WebCore::RenderSVGBlock::styleWillChange):
(WebCore::RenderSVGBlock::styleDidChange):
* rendering/svg/SVGTextQuery.cpp:
(WebCore::flowBoxForRenderer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
APICast.h uses functions from JSCJSValueInlines.h, but doesn't include it
https://bugs.webkit.org/show_bug.cgi?id=123067

Reviewed by Geoffrey Garen.

* API/APICast.h: Include it.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Baseline JIT and DFG IC code generation should be unified and rationalized
https://bugs.webkit.org/show_bug.cgi?id=122939

Reviewed by Geoffrey Garen.
        
Introduce the JITInlineCacheGenerator, which takes a CodeBlock and a CodeOrigin plus
some register info and creates JIT inline caches for you. Used this to even furhter
unify the baseline and DFG ICs. In the future we can use this for FTL ICs. And my hope
is that we'll be able to use it for cascading ICs: an IC for some instruction may realize
that it needs to do the equivalent of get_by_id, so with this generator it will be able
to create an IC even though it wasn't associated with a get_by_id bytecode instruction.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::DataLabelCompact::label):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::ecmaMode):
* dfg/DFGInlineCacheWrapper.h: Added.
(JSC::DFG::InlineCacheWrapper::InlineCacheWrapper):
* dfg/DFGInlineCacheWrapperInlines.h: Added.
(JSC::DFG::::finalize):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addGetById):
(JSC::DFG::JITCompiler::addPutById):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::isStrictModeFor):
(JSC::AssemblyHelpers::strictModeFor):
* jit/GPRInfo.h:
(JSC::JSValueRegs::tagGPR):
* jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JIT.h:
* jit/JITInlineCacheGenerator.cpp: Added.
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::finalize):
(JSC::JITByIdGenerator::generateFastPathChecks):
(JSC::JITGetByIdGenerator::generateFastPath):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
(JSC::JITPutByIdGenerator::generateFastPath):
(JSC::JITPutByIdGenerator::slowPathFunction):
* jit/JITInlineCacheGenerator.h: Added.
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITInlineCacheGenerator::stubInfo):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::reportSlowPathCall):
(JSC::JITByIdGenerator::slowPathJump):
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitSlow_op_put_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emitSlow_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitSlow_op_put_by_id):
* jit/RegisterSet.h:
(JSC::RegisterSet::set):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mac DumpRenderTree builds without NDEBUG even in release mode
https://bugs.webkit.org/show_bug.cgi?id=123066

Reviewed by Dan Bernstein.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
Use the same pattern as WebCore and WebKitTestRunner.


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