Fix broken C Loop LLINT build.
https://bugs.webkit.org/show_bug.cgi?id=122839.

Reviewed by Michael Saboff.

* dfg/DFGFlushedAt.cpp:
* jit/JITOperations.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[sh4] Introduce const pools in LLINT.
https://bugs.webkit.org/show_bug.cgi?id=122746

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-15
Reviewed by Michael Saboff.

In current implementation of LLINT for sh4, immediate values outside range -128..127 are
loaded this way:

    mov.l .label, rx
    bra out
    nop
    .balign 4
    .label: .long immvalue
    out:

This change introduces const pools for sh4 implementation to avoid lots of useless branches
and reduce code size. It also removes lines of dirty code, like jmpf and callf.

* offlineasm/instructions.rb: Remove jmpf and callf sh4 specific instructions.
* offlineasm/sh4.rb:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add some API tests for Vector, RefPtr, and Ref
https://bugs.webkit.org/show_bug.cgi?id=122840

Reviewed by Andreas Kling.

* TestWebKitAPI/CMakeLists.txt: Added new files.
* TestWebKitAPI/GNUmakefile.am: Ditto.
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj: Ditto.
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters: Ditto.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.

* TestWebKitAPI/Tests/WTF/Ref.cpp: Added.
* TestWebKitAPI/Tests/WTF/RefLogger.h: Added.
* TestWebKitAPI/Tests/WTF/RefPtr.cpp: Added.
* TestWebKitAPI/Tests/WTF/Vector.cpp: Added move-only insert tests.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] Move RenderBlock::layoutShapeInsideInfo into RenderBlock.cpp
http://bugs.webkit.org/show_bug.cgi?id=122843

Reviewed by Oliver Hunt.

Historically, layoutShapeInsideInfo was a static function in RenderBlockLineLayout, then it has changed to be a member of RenderBlock,
but at that time it hasn't been moved to RenderBlock.cpp. This patch moves it into RenderBlock.cpp next to the Shapes functions. I removed
an unnecessary CSS_SHAPES #ifdef as well from RenderBlock.cpp.

No new tests, no behavior change.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
(WebCore::RenderBlock::layoutShapeInsideInfo):
* rendering/RenderBlockLineLayout.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FontGenericFamilies should not be ref-counted.
<https://webkit.org/b/122835>

Reviewed by Anders Carlsson.

FontGenericFamilies is singly-owned by Settings.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip unnecessary null check in RenderText::textLength().
<https://webkit.org/b/122841>

Reviewed by Antti Koivisto.

RenderText will never have a null String in m_text, so textLength()
can grab at the StringImpl directly, avoiding a null check.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
transition void cti_op_* methods to JIT operations.
https://bugs.webkit.org/show_bug.cgi?id=122617

Reviewed by Geoffrey Garen.

Converted the follow stubs to JIT operations:
    cti_handle_watchdog_timer
    cti_op_debug
    cti_op_pop_scope
    cti_op_profile_did_call
    cti_op_profile_will_call
    cti_op_put_by_index
    cti_op_put_getter_setter
    cti_op_tear_off_activation
    cti_op_tear_off_arguments
    cti_op_throw_static_error
    cti_optimize

* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
(JSC::CCallHelpers::setupThreeStubArgsGPR):
(JSC::CCallHelpers::setupStubArguments):
(JSC::CCallHelpers::setupStubArguments134):
* jit/JIT.cpp:
(JSC::JIT::emitEnterOptimizationCheck):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_tear_off_activation):
(JSC::JIT::emit_op_tear_off_arguments):
(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):
(JSC::JIT::emit_op_throw_static_error):
(JSC::JIT::emit_op_debug):
(JSC::JIT::emit_op_profile_will_call):
(JSC::JIT::emit_op_profile_did_call):
(JSC::JIT::emitSlow_op_loop_hint):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_push_with_scope):
(JSC::JIT::emit_op_pop_scope):
(JSC::JIT::emit_op_push_name_scope):
(JSC::JIT::emit_op_throw_static_error):
(JSC::JIT::emit_op_debug):
(JSC::JIT::emit_op_profile_will_call):
(JSC::JIT::emit_op_profile_did_call):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_by_index):
(JSC::JIT::emit_op_put_getter_setter):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_by_index):
(JSC::JIT::emit_op_put_getter_setter):
* jit/JITStubs.cpp:
* jit/JITStubs.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for the column-fill property
https://bugs.webkit.org/show_bug.cgi?id=117693

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-10-15
Reviewed by David Hyatt.

Source/WebCore:

This is only supported in the (new) region based multicol implementation.

With column-fill support, a lot of multicol tests needed an update.
The old implementation behaved as if column-fill were 'auto', but the
initial value is 'balance', so now we need to be explicit about that.
For auto-height tests it doesn't really matter - such multicols are always
balanced anyway.

Tests: fast/multicol/newmulticol/fixed-height-fill-auto.html
       fast/multicol/newmulticol/fixed-height-fill-balance.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnFill):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* rendering/RenderMultiColumnBlock.h:
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleMultiColData.cpp:
(WebCore::StyleMultiColData::StyleMultiColData):
(WebCore::StyleMultiColData::operator==):
* rendering/style/StyleMultiColData.h:

LayoutTests:

With column-fill support, a lot of multicol tests needed an update.
The old implementation behaved as if column-fill were 'auto', but the
initial value is 'balance', so now we need to be explicit about that.
For auto-height tests it doesn't really matter - such multicols are always
balanced anyway.

* compositing/geometry/composited-in-columns.html:
* fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.html:
* fast/block/positioning/offsetLeft-offsetTop-multicolumn.html:
* fast/borders/border-antialiasing.html:
* fast/dynamic/float-moved-downwards-for-pagination-expected.html:
* fast/dynamic/float-moved-downwards-for-pagination.html:
* fast/dynamic/layer-no-longer-paginated.html:
* fast/events/document-elementFromPoint.html:
* fast/line-grid/line-grid-inside-columns.html:
* fast/line-grid/line-grid-into-columns.html:
* fast/multicol/break-properties.html:
* fast/multicol/cell-shrinkback.html:
* fast/multicol/client-rects.html:
* fast/multicol/column-count-with-rules.html:
* fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html:
* fast/multicol/flipped-blocks-hit-test.html:
* fast/multicol/float-paginate-complex.html:
* fast/multicol/float-paginate-empty-lines.html:
* fast/multicol/float-paginate.html:
* fast/multicol/float-truncation.html:
* fast/multicol/hit-test-above-or-below.html:
* fast/multicol/hit-test-end-of-column-with-line-height.html:
* fast/multicol/hit-test-end-of-column.html:
* fast/multicol/hit-test-float.html:
* fast/multicol/image-inside-nested-blocks-with-border.html:
* fast/multicol/layers-in-multicol.html:
* fast/multicol/layers-split-across-columns.html:
* fast/multicol/margin-collapse.html:
* fast/multicol/mixed-opacity-fixed-test.html:
* fast/multicol/mixed-opacity-test.html:
* fast/multicol/mixed-positioning-stacking-order.html:
* fast/multicol/nested-columns.html:
* fast/multicol/newmulticol/cell-shrinkback-expected.html:
* fast/multicol/newmulticol/cell-shrinkback.html:
* fast/multicol/newmulticol/column-rules-fixed-height-expected.html:
* fast/multicol/newmulticol/fixed-height-fill-auto-expected.html: Added.
* fast/multicol/newmulticol/fixed-height-fill-auto.html: Added.
* fast/multicol/newmulticol/fixed-height-fill-balance-expected.html: Added.
* fast/multicol/newmulticol/fixed-height-fill-balance.html: Added.
* fast/multicol/newmulticol/float-avoidance-expected.html:
* fast/multicol/newmulticol/float-avoidance.html:
* fast/multicol/newmulticol/float-multicol-expected.html:
* fast/multicol/newmulticol/float-multicol.html:
* fast/multicol/newmulticol/float-paginate-complex-expected.html:
* fast/multicol/newmulticol/float-paginate-complex.html:
* fast/multicol/newmulticol/float-paginate-empty-lines-expected.html:
* fast/multicol/newmulticol/float-paginate-empty-lines.html:
* fast/multicol/newmulticol/float-paginate-expected.html:
* fast/multicol/newmulticol/float-paginate.html:
* fast/multicol/newmulticol/layers-in-multicol-expected.html:
* fast/multicol/newmulticol/layers-in-multicol.html:
* fast/multicol/newmulticol/layers-split-across-columns-expected.html:
* fast/multicol/newmulticol/layers-split-across-columns.html:
* fast/multicol/newmulticol/positioned-split-expected.html:
* fast/multicol/newmulticol/positioned-split.html:
* fast/multicol/newmulticol/positioned-with-constrained-height-expected.html:
* fast/multicol/newmulticol/positioned-with-constrained-height.html:
* fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html:
* fast/multicol/orphans-relayout.html:
* fast/multicol/overflow-across-columns-percent-height.html:
* fast/multicol/overflow-across-columns.html:
* fast/multicol/overflow-content-expected.html:
* fast/multicol/overflow-content.html:
* fast/multicol/overflow-unsplittable.html:
* fast/multicol/pageLogicalOffset-vertical-expected.html:
* fast/multicol/pageLogicalOffset-vertical.html:
* fast/multicol/paginate-block-replaced.html:
* fast/multicol/positioned-outside-of-columns.html:
* fast/multicol/positioned-split.html:
* fast/multicol/positive-leading.html:
* fast/multicol/progression-reverse-overflow-expected.html:
* fast/multicol/progression-reverse-overflow.html:
* fast/multicol/progression-reverse.html:
* fast/multicol/scrolling-overflow.html:
* fast/multicol/seamless-flowed-through-columns-expected.html:
* fast/multicol/seamless-flowed-through-columns.html:
* fast/multicol/table-margin-collapse.html:
* fast/multicol/table-row-height-increase-expected.html:
* fast/multicol/table-row-height-increase.html:
* fast/multicol/table-vertical-align.html:
* fast/multicol/transform-inside-opacity.html:
* fast/multicol/unsplittable-inline-block.html:
* fast/multicol/vertical-lr/break-properties.html:
* fast/multicol/vertical-lr/column-count-with-rules.html:
* fast/multicol/vertical-lr/float-multicol.html:
* fast/multicol/vertical-lr/float-paginate-complex.html:
* fast/multicol/vertical-lr/float-paginate.html:
* fast/multicol/vertical-lr/float-truncation.html:
* fast/multicol/vertical-lr/image-inside-nested-blocks-with-border.html:
* fast/multicol/vertical-lr/nested-columns.html:
* fast/multicol/vertical-lr/rules-with-border-before.html:
* fast/multicol/vertical-lr/unsplittable-inline-block.html:
* fast/multicol/vertical-rl/break-properties.html:
* fast/multicol/vertical-rl/column-count-with-rules.html:
* fast/multicol/vertical-rl/float-avoidance.html:
* fast/multicol/vertical-rl/float-multicol.html:
* fast/multicol/vertical-rl/float-paginate-complex.html:
* fast/multicol/vertical-rl/float-paginate.html:
* fast/multicol/vertical-rl/float-truncation.html:
* fast/multicol/vertical-rl/image-inside-nested-blocks-with-border.html:
* fast/multicol/vertical-rl/nested-columns.html:
* fast/multicol/vertical-rl/rule-style.html:
* fast/multicol/vertical-rl/rules-with-border-before.html:
* fast/multicol/vertical-rl/unsplittable-inline-block.html:
* fast/multicol/widows-and-orphans.html:
* fast/regions/region-style-in-columns.html:
* fast/repaint/multicol-repaint.html:
* fast/sub-pixel/column-clipping.html:

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