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
Web Inspector: can't select text inside a text node
https://bugs.webkit.org/show_bug.cgi?id=122828

Reviewed by Timothy Hatcher.

Cancel the default user interaction when a drag action starts if the
element is being edited.

* UserInterface/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.onattach):
(WebInspector.DOMTreeElement.prototype.handleEvent):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Skip unexpected flakey test: webaudio/oscillator-sawtooth.html.

* platform/wk2/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r157460.
http://trac.webkit.org/changeset/157460
https://bugs.webkit.org/show_bug.cgi?id=122858

Mis-skip, test isn't actually failing. (Requested by rfong on
#webkit).

* platform/wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Expose -[WebPluginPackage bundle] as SPI
https://bugs.webkit.org/show_bug.cgi?id=122814

Reviewed by Anders Carlsson.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj: Added WebPluginPackagePrivate.h.

Source/WebKit/mac:

* Plugins/WebPluginPackage.mm:
(-[WebPluginPackage bundle]): Defined.
* Plugins/WebPluginPackagePrivate.h: Declared bundle as a method in a
category on NSObject.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Remove Windows old front-end related code
https://bugs.webkit.org/show_bug.cgi?id=122845

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-15
Reviewed by Brent Fulgham.

Source/WebCore:

* WebCore.vcxproj/copyWebCoreResourceFiles.cmd:

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::openInspectorFrontend):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Remove old frontend localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=122846

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-10-15
Reviewed by Timothy Hatcher.

* Configurations/WebCore.xcconfig:
* English.lproj/localizedStrings.js: Removed.
* WebCore.xcodeproj/project.pbxproj:
Remove the file and references to it. We no longer need to exclude
localizedString.js from some builds.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build after r157457 for architecture with 4 argument registers.
https://bugs.webkit.org/show_bug.cgi?id=122860

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

* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupStubArguments134):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ObjCCallbackFunctionImpl shouldn't store a JSContext
https://bugs.webkit.org/show_bug.cgi?id=122531

Reviewed by Geoffrey Garen.

The m_context field in ObjCCallbackFunctionImpl is vestigial and is only incidentally correct
in the common case. It's also no longer necessary in that we can look up the current JSContext
by looking using the globalObject of the callee when the function callback is invoked.

Also added a new test that would cause us to crash previously. The test required making
JSContextGetGlobalContext public API so that clients can obtain a JSContext from the JSContextRef
in C API callbacks.

* API/JSContextRef.h:
* API/JSContextRefPrivate.h:
* API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunctionImpl::ObjCCallbackFunctionImpl):
(JSC::objCCallbackFunctionCallAsFunction):
(objCCallbackFunctionForInvocation):
* API/WebKitAvailability.h:
* API/tests/CurrentThisInsideBlockGetterTest.h: Added.
* API/tests/CurrentThisInsideBlockGetterTest.mm: Added.
(CallAsConstructor):
(ConstructorFinalize):
(ConstructorClass):
(+[JSValue valueWithConstructorDescriptor:inContext:]):
(-[JSContext valueWithConstructorDescriptor:]):
(currentThisInsideBlockGetterTest):
* API/tests/testapi.mm:
* JavaScriptCore.xcodeproj/project.pbxproj:
* debugger/Debugger.cpp: Had to add some fully qualified names to avoid conflicts with Mac OS X headers.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a skeleton Database process for future usage by Indexed Database.
https://bugs.webkit.org/show_bug.cgi?id=122849

Reviewed by Sam Weinig.

This mostly our typical "Add a new process type" boilerplate.

* Configurations/DatabaseProcess.xcconfig: Added.
* Configurations/DatabaseService.Development.xcconfig: Added.
* Configurations/DatabaseService.xcconfig: Added.
* WebKit2.xcodeproj/project.pbxproj:
* WebKit2Prefix.h:

* DatabaseProcess/DatabaseProcess.cpp: Added.
(WebKit::DatabaseProcess::shared):
(WebKit::DatabaseProcess::DatabaseProcess):
(WebKit::DatabaseProcess::~DatabaseProcess):
(WebKit::DatabaseProcess::initializeConnection):
(WebKit::DatabaseProcess::shouldTerminate):
(WebKit::DatabaseProcess::didReceiveMessage):
(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):
(WebKit::DatabaseProcess::initializeProcess):
(WebKit::DatabaseProcess::initializeProcessName):
(WebKit::DatabaseProcess::initializeSandbox):
* DatabaseProcess/DatabaseProcess.h: Added.

* DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Added.
(DatabaseProcessMain):
* DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Added.
* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Added.
* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: Added.
(DatabaseServiceInitializer):

* DatabaseProcess/mac/DatabaseProcessMac.mm: Added.
(WebKit::DatabaseProcess::initializeProcess):
(WebKit::DatabaseProcess::initializeProcessName):
(WebKit::DatabaseProcess::initializeSandbox):
* UIProcess/Databases/DatabaseProcessProxy.cpp: Added.
(WebKit::DatabaseProcessProxy::create):
(WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
(WebKit::DatabaseProcessProxy::~DatabaseProcessProxy):
(WebKit::DatabaseProcessProxy::getLaunchOptions):
(WebKit::DatabaseProcessProxy::connectionWillOpen):
(WebKit::DatabaseProcessProxy::connectionWillClose):
(WebKit::DatabaseProcessProxy::didReceiveMessage):
(WebKit::DatabaseProcessProxy::didClose):
(WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
(WebKit::DatabaseProcessProxy::didFinishLaunching):
* UIProcess/Databases/DatabaseProcessProxy.h: Added.
* UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Added.
(WebKit::shouldUseXPC):
(WebKit::DatabaseProcessProxy::platformGetLaunchOptions):

* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::processTypeAsString):
(WebKit::ProcessLauncher::getProcessTypeFromString):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):
(WebKit::createProcess):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION: Crash in XMLDocumentParser::startElementNs
https://bugs.webkit.org/show_bug.cgi?id=122817

Reviewed by Darin Adler.

Source/WebCore: 

Exit early in startElementNs when listeners and handlers of synchronous events such as load event
removes the inserted node inside parserAppendChild.

Test: fast/parser/xhtml-synchronous-detach-crash.html

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):

LayoutTests: 

Add a regression test from https://chromium.googlesource.com/chromium/blink/+/57afab5d21cccd89f032b9a3e62f3a61c6a0e9c2

* fast/parser/resources/remove-parent.xhtml: Added.
* fast/parser/xhtml-synchronous-detach-crash-expected.txt: Added.
* fast/parser/xhtml-synchronous-detach-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix 3 operand sub operation in C loop LLINT.
https://bugs.webkit.org/show_bug.cgi?id=122866.

Reviewed by Geoffrey Garen.

* offlineasm/cloop.rb:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Upstream JavaScriptCore support for ARM64
https://bugs.webkit.org/show_bug.cgi?id=122762

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Filip Pizlo.

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/JavaScriptCore.xcconfig:
* Configurations/ToolExecutable.xcconfig:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/ARM64Assembler.h: Added.
* assembler/AbstractMacroAssembler.h:
(JSC::isARM64):
(JSC::AbstractMacroAssembler::Label::Label):
(JSC::AbstractMacroAssembler::Jump::Jump):
(JSC::AbstractMacroAssembler::Jump::link):
(JSC::AbstractMacroAssembler::Jump::linkTo):
(JSC::AbstractMacroAssembler::CachedTempRegister::CachedTempRegister):
(JSC::AbstractMacroAssembler::CachedTempRegister::registerIDInvalidate):
(JSC::AbstractMacroAssembler::CachedTempRegister::registerIDNoInvalidate):
(JSC::AbstractMacroAssembler::CachedTempRegister::value):
(JSC::AbstractMacroAssembler::CachedTempRegister::setValue):
(JSC::AbstractMacroAssembler::CachedTempRegister::invalidate):
(JSC::AbstractMacroAssembler::invalidateAllTempRegisters):
(JSC::AbstractMacroAssembler::isTempRegisterValid):
(JSC::AbstractMacroAssembler::clearTempRegisterValid):
(JSC::AbstractMacroAssembler::setTempRegisterValid):
* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
(JSC::LinkBuffer::linkCode):
* assembler/LinkBuffer.h:
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::isPtrAlignedAddressOffset):
(JSC::MacroAssembler::pushToSave):
(JSC::MacroAssembler::popToRestore):
(JSC::MacroAssembler::patchableBranchTest32):
* assembler/MacroAssemblerARM64.h: Added.
* assembler/MacroAssemblerARMv7.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):
* disassembler/ARM64/A64DOpcode.cpp: Added.
* disassembler/ARM64/A64DOpcode.h: Added.
* disassembler/ARM64Disassembler.cpp: Added.
* heap/MachineStackMarker.cpp:
(JSC::getPlatformThreadRegisters):
(JSC::otherThreadStackPointer):
* heap/Region.h:
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::debugCall):
* jit/CCallHelpers.h:
* jit/ExecutableAllocator.h:
* jit/FPRInfo.h:
(JSC::FPRInfo::toRegister):
(JSC::FPRInfo::toIndex):
(JSC::FPRInfo::debugName):
* jit/GPRInfo.h:
(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):
(JSC::GPRInfo::debugName):
* jit/JITInlines.h:
(JSC::JIT::restoreArgumentReferenceForTrampoline):
* jit/JITOperationWrappers.h:
* jit/JITOperations.cpp:
* jit/JITStubs.cpp:
(JSC::performPlatformSpecificJITAssertions):
(JSC::tryCachePutByID):
* jit/JITStubs.h:
(JSC::JITStackFrame::returnAddressSlot):
* jit/JITStubsARM64.h: Added.
* jit/JSInterfaceJIT.h:
* jit/Repatch.cpp:
(JSC::emitRestoreScratch):
(JSC::generateProtoChainAccessStub):
(JSC::tryCacheGetByID):
(JSC::emitPutReplaceStub):
(JSC::tryCachePutByID):
(JSC::tryRepatchIn):
* jit/ScratchRegisterAllocator.h:
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
* jsc.cpp:
(main):
* llint/LLIntOfflineAsmConfig.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleHostCall):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/arm.rb:
* offlineasm/arm64.rb: Added.
* offlineasm/backends.rb:
* offlineasm/instructions.rb:
* offlineasm/risc.rb:
* offlineasm/transform.rb:
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::alignCallFrameSizeInBytes):
(JSC::Yarr::YarrGenerator::initCallFrame):
(JSC::Yarr::YarrGenerator::removeCallFrame):
(JSC::Yarr::YarrGenerator::generateEnter):
* yarr/YarrJIT.h:

Source/WTF:

Reviewed by Oliver Hunt.

* Configurations/Base.xcconfig:
* wtf/Atomics.h:
(WTF::weakCompareAndSwap):
(WTF::armV7_dmb):
* wtf/FastMalloc.cpp:
* wtf/Platform.h:
* wtf/dtoa.cpp:
* wtf/dtoa/utils.h:
* wtf/text/ASCIIFastPath.h:
(WTF::copyLCharsFromUCharSource):
* wtf/text/StringImpl.h:

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