<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qt5/qtwebkit.git/Source/JavaScriptCore/dfg, branch 5.3</title>
<subtitle>code.qt.io: qt/qtwebkit.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/'/>
<entry>
<title>Fix assert after makerope boundary check</title>
<updated>2014-10-31T10:30:36+00:00</updated>
<author>
<name>Lucas Forschler</name>
<email>lforschler@apple.com</email>
</author>
<published>2014-10-22T13:05:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=0930236a6e8bef5c2b90f1522a06acf9dee9c15d'/>
<id>0930236a6e8bef5c2b90f1522a06acf9dee9c15d</id>
<content type='text'>
The browser demo asserts on qt-project.org after the makerope security
fix.

Port of http://trac.webkit.org/changeset/169397

Change-Id: I19c98737735d9b17133742752928d4ce6349de13
Reviewed-by: Michael Bruning &lt;michael.bruning@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The browser demo asserts on qt-project.org after the makerope security
fix.

Port of http://trac.webkit.org/changeset/169397

Change-Id: I19c98737735d9b17133742752928d4ce6349de13
Reviewed-by: Michael Bruning &lt;michael.bruning@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>compileMakeRope does not emit necessary bounds checks</title>
<updated>2014-09-26T12:02:28+00:00</updated>
<author>
<name>Filip Pizlo</name>
<email>fpizlo@apple.com</email>
</author>
<published>2014-09-25T09:29:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=cf26dce826a7a6a2d14735c193c53b9103c4a369'/>
<id>cf26dce826a7a6a2d14735c193c53b9103c4a369</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=130684
&lt;rdar://problem/16398388&gt;

Reviewed by Oliver Hunt.

Add string length bounds checks in a bunch of places. We should never allow a string
to have a length greater than 2^31-1 because it's not clear that the language has
semantics for it and because there is code that assumes that this cannot happen.

Also add a bunch of tests to that effect to cover the various ways in which this was
previously allowed to happen.

* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMakeRope):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
* runtime/JSString.cpp:
(JSC::JSRopeString::RopeBuilder::expand):
* runtime/JSString.h:
(JSC::JSString::create):
(JSC::JSRopeString::RopeBuilder::append):
(JSC::JSRopeString::RopeBuilder::release):
(JSC::JSRopeString::append):
* runtime/Operations.h:
(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
* tests/stress/make-large-string-jit-strcat.js: Added.
(foo):
* tests/stress/make-large-string-jit.js: Added.
(foo):
* tests/stress/make-large-string-strcat.js: Added.
* tests/stress/make-large-string.js: Added.

Change-Id: If01dd2a2d2daa3d209eddf0213d2b391e94f54a0
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugs.webkit.org/show_bug.cgi?id=130684
&lt;rdar://problem/16398388&gt;

Reviewed by Oliver Hunt.

Add string length bounds checks in a bunch of places. We should never allow a string
to have a length greater than 2^31-1 because it's not clear that the language has
semantics for it and because there is code that assumes that this cannot happen.

Also add a bunch of tests to that effect to cover the various ways in which this was
previously allowed to happen.

* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMakeRope):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
* runtime/JSString.cpp:
(JSC::JSRopeString::RopeBuilder::expand):
* runtime/JSString.h:
(JSC::JSString::create):
(JSC::JSRopeString::RopeBuilder::append):
(JSC::JSRopeString::RopeBuilder::release):
(JSC::JSRopeString::append):
* runtime/Operations.h:
(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
* tests/stress/make-large-string-jit-strcat.js: Added.
(foo):
* tests/stress/make-large-string-jit.js: Added.
(foo):
* tests/stress/make-large-string-strcat.js: Added.
* tests/stress/make-large-string.js: Added.

Change-Id: If01dd2a2d2daa3d209eddf0213d2b391e94f54a0
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@167336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Crash during exception unwinding</title>
<updated>2014-07-08T02:42:44+00:00</updated>
<author>
<name>Oliver Hunt</name>
<email>oliver@apple.com</email>
</author>
<published>2014-07-04T12:15:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=cb0f788597a946438bfd993850426f848ff39aa2'/>
<id>cb0f788597a946438bfd993850426f848ff39aa2</id>
<content type='text'>
https://webkit.org/b/119860

Reviewed by Filip Pizlo.

Add an "Unreachable" NodeType, and then rearrange op_throw and op_throw_reference_error
to plant Throw or ThrowReferenceError followed by a flush and then the Unreachable node.

We need this so that Throw and ThrowReferenceError no longer need to be treated as
terminals and the subsequent flush keeps the activation (and other registers) live.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::isTerminal):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Change-Id: Idb894e780cd3ebe15515d1796c58a339ae54d55f
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://webkit.org/b/119860

Reviewed by Filip Pizlo.

Add an "Unreachable" NodeType, and then rearrange op_throw and op_throw_reference_error
to plant Throw or ThrowReferenceError followed by a flush and then the Unreachable node.

We need this so that Throw and ThrowReferenceError no longer need to be treated as
terminals and the subsequent flush keeps the activation (and other registers) live.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::isTerminal):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Change-Id: Idb894e780cd3ebe15515d1796c58a339ae54d55f
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix SpeculateCellOperand ASSERT failure in DFG for 32-bit builds.</title>
<updated>2014-06-26T10:15:38+00:00</updated>
<author>
<name>Julien Brianceau</name>
<email>jbriance@cisco.com</email>
</author>
<published>2014-06-25T14:30:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=b16a6f1c1caf3ee0b4fb256f6cd21aa294a0da9d'/>
<id>b16a6f1c1caf3ee0b4fb256f6cd21aa294a0da9d</id>
<content type='text'>
Original patch by Filip Pizlo &lt;fpizlo@apple.com&gt; on 2013-08-28
taken from WebKit r154804 (http://trac.webkit.org/changeset/154804).

Task-number: QTBUG-39768
Change-Id: I239f2ee2ec5d1c21f7e50709b8989e744fd87995
Reviewed-by: Zhang Zengbo &lt;zengbo.zhang@gmail.com&gt;
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Original patch by Filip Pizlo &lt;fpizlo@apple.com&gt; on 2013-08-28
taken from WebKit r154804 (http://trac.webkit.org/changeset/154804).

Task-number: QTBUG-39768
Change-Id: I239f2ee2ec5d1c21f7e50709b8989e744fd87995
Reviewed-by: Zhang Zengbo &lt;zengbo.zhang@gmail.com&gt;
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent register clobbering to fix negative zero check in SoftModulo.</title>
<updated>2014-06-06T10:46:39+00:00</updated>
<author>
<name>Julien Brianceau</name>
<email>jbriance@cisco.com</email>
</author>
<published>2014-06-06T09:44:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=37b5139f0dda69158875307bb9f806c3809b80ff'/>
<id>37b5139f0dda69158875307bb9f806c3809b80ff</id>
<content type='text'>
This fix is not relevant for x86 architectures.
Covered by integer-division-neg2tothe32-by-neg1 JavaScript test.

Change-Id: I8ffd1280063305bc98c564f5df57c76cc5b1d7a6
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fix is not relevant for x86 architectures.
Covered by integer-division-neg2tothe32-by-neg1 JavaScript test.

Change-Id: I8ffd1280063305bc98c564f5df57c76cc5b1d7a6
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[arm] Inverted src and dest FP registers in DFG speculative JIT when using hardfp.</title>
<updated>2013-10-18T09:38:13+00:00</updated>
<author>
<name>Julien Brianceau</name>
<email>jbriance@cisco.com</email>
</author>
<published>2013-10-16T14:04:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=2e6916aa0627bd4369366827ef915041df71fee7'/>
<id>2e6916aa0627bd4369366827ef915041df71fee7</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=122555

Patch by Julien Brianceau &lt;jbriance@cisco.com&gt; on 2013-10-09
Reviewed by Michael Saboff.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):

Change-Id: Ib633513948031702efd5ca0d4b89920e99979755
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugs.webkit.org/show_bug.cgi?id=122555

Patch by Julien Brianceau &lt;jbriance@cisco.com&gt; on 2013-10-09
Reviewed by Michael Saboff.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):

Change-Id: Ib633513948031702efd5ca0d4b89920e99979755
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157173 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>32-bit code gen for TypeOf doesn't properly update the AbstractInterpreter state</title>
<updated>2013-10-16T17:33:30+00:00</updated>
<author>
<name>Mark Hahnenberg</name>
<email>mhahnenberg@apple.com</email>
</author>
<published>2013-10-16T14:01:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=6d6a120fd6d80f8ebae638a118e0727a4b04253b'/>
<id>6d6a120fd6d80f8ebae638a118e0727a4b04253b</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=119555

Reviewed by Geoffrey Garen.

It uses a speculationCheck where it should be using a DFG_TYPE_CHECK like the 64-bit backend does.
This was causing crashes on maps.google.com in 32-bit debug builds.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Change-Id: Icdcfe0719d22df7db6dc7ffcee309b75b63914df
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Simon Hausmann &lt;simon.hausmann@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugs.webkit.org/show_bug.cgi?id=119555

Reviewed by Geoffrey Garen.

It uses a speculationCheck where it should be using a DFG_TYPE_CHECK like the 64-bit backend does.
This was causing crashes on maps.google.com in 32-bit debug builds.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Change-Id: Icdcfe0719d22df7db6dc7ffcee309b75b63914df
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Simon Hausmann &lt;simon.hausmann@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Import Qt5x2 branch of QtWebkit for Qt 5.2</title>
<updated>2013-09-19T18:50:05+00:00</updated>
<author>
<name>Allan Sandfeld Jensen</name>
<email>allan.jensen@digia.com</email>
</author>
<published>2013-09-13T10:51:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=d441d6f39bb846989d95bcf5caf387b42414718d'/>
<id>d441d6f39bb846989d95bcf5caf387b42414718d</id>
<content type='text'>
Importing a new snapshot of webkit.

Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Importing a new snapshot of webkit.

Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>JavaScriptCore: Fix header guard</title>
<updated>2013-09-03T10:57:46+00:00</updated>
<author>
<name>Tobias Hunger</name>
<email>tobias.hunger@digia.com</email>
</author>
<published>2013-08-29T12:07:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=ee8436b6ee3bb3742316b51d3b6bf4330f6c81b1'/>
<id>ee8436b6ee3bb3742316b51d3b6bf4330f6c81b1</id>
<content type='text'>
Clang nags about it.

Change-Id: I0f4629048e2e02370202cf47748be05bfa0cbf81
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clang nags about it.

Change-Id: I0f4629048e2e02370202cf47748be05bfa0cbf81
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MIPS DFG implementation.</title>
<updated>2013-05-23T11:38:58+00:00</updated>
<author>
<name>Balazs Kilvady</name>
<email>kilvadyb@homejinni.com</email>
</author>
<published>2013-02-18T19:25:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/qt5/qtwebkit.git/commit/?id=fee41053a81024e15303ebf68e6a9a029374ce92'/>
<id>fee41053a81024e15303ebf68e6a9a029374ce92</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=101328

Patch by Balazs Kilvady &lt;kilvadyb@homejinni.com&gt; on 2013-02-18
Reviewed by Oliver Hunt.

DFG implementation for MIPS.

Source/JavaScriptCore:

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::MIPSAssembler):
(JSC::MIPSAssembler::sllv):
(JSC::MIPSAssembler::movd):
(MIPSAssembler):
(JSC::MIPSAssembler::negd):
(JSC::MIPSAssembler::labelForWatchpoint):
(JSC::MIPSAssembler::label):
(JSC::MIPSAssembler::vmov):
(JSC::MIPSAssembler::linkDirectJump):
(JSC::MIPSAssembler::maxJumpReplacementSize):
(JSC::MIPSAssembler::revertJumpToMove):
(JSC::MIPSAssembler::replaceWithJump):
* assembler/MacroAssembler.h:
(MacroAssembler):
(JSC::MacroAssembler::poke):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::add32):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::lshift32):
(JSC::MacroAssemblerMIPS::mul32):
(JSC::MacroAssemblerMIPS::or32):
(JSC::MacroAssemblerMIPS::rshift32):
(JSC::MacroAssemblerMIPS::urshift32):
(JSC::MacroAssemblerMIPS::sub32):
(JSC::MacroAssemblerMIPS::xor32):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::jump):
(JSC::MacroAssemblerMIPS::branchAdd32):
(JSC::MacroAssemblerMIPS::branchMul32):
(JSC::MacroAssemblerMIPS::branchSub32):
(JSC::MacroAssemblerMIPS::branchNeg32):
(JSC::MacroAssemblerMIPS::call):
(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::moveDouble):
(JSC::MacroAssemblerMIPS::swapDouble):
(JSC::MacroAssemblerMIPS::subDouble):
(JSC::MacroAssemblerMIPS::mulDouble):
(JSC::MacroAssemblerMIPS::divDouble):
(JSC::MacroAssemblerMIPS::negateDouble):
(JSC::MacroAssemblerMIPS::branchEqual):
(JSC::MacroAssemblerMIPS::branchNotEqual):
(JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerMIPS::branchTruncateDoubleToUint32):
(JSC::MacroAssemblerMIPS::truncateDoubleToInt32):
(JSC::MacroAssemblerMIPS::truncateDoubleToUint32):
(JSC::MacroAssemblerMIPS::branchDoubleNonZero):
(JSC::MacroAssemblerMIPS::branchDoubleZeroOrNaN):
(JSC::MacroAssemblerMIPS::invert):
(JSC::MacroAssemblerMIPS::replaceWithJump):
(JSC::MacroAssemblerMIPS::maxJumpReplacementSize):
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall):
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
(JSC::DFG::AssemblyHelpers::debugCall):
* dfg/DFGCCallHelpers.h:
(CCallHelpers):
(JSC::DFG::CCallHelpers::setupArguments):
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
* dfg/DFGFPRInfo.h:
(DFG):
(FPRInfo):
(JSC::DFG::FPRInfo::toRegister):
(JSC::DFG::FPRInfo::toIndex):
(JSC::DFG::FPRInfo::debugName):
* dfg/DFGGPRInfo.h:
(DFG):
(GPRInfo):
(JSC::DFG::GPRInfo::toRegister):
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* jit/JSInterfaceJIT.h:
(JSInterfaceJIT):
* runtime/JSGlobalData.h:
(JSC::ScratchBuffer::allocationSize):
(ScratchBuffer):

Source/WTF:

* wtf/Platform.h:

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

Conflicts:
	Source/JavaScriptCore/ChangeLog
	Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
	Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h
	Source/WTF/ChangeLog

Change-Id: Ibc6c2a2b1d5c70d351ede37c6c111b66b4cf7fef
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugs.webkit.org/show_bug.cgi?id=101328

Patch by Balazs Kilvady &lt;kilvadyb@homejinni.com&gt; on 2013-02-18
Reviewed by Oliver Hunt.

DFG implementation for MIPS.

Source/JavaScriptCore:

* assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::MIPSAssembler):
(JSC::MIPSAssembler::sllv):
(JSC::MIPSAssembler::movd):
(MIPSAssembler):
(JSC::MIPSAssembler::negd):
(JSC::MIPSAssembler::labelForWatchpoint):
(JSC::MIPSAssembler::label):
(JSC::MIPSAssembler::vmov):
(JSC::MIPSAssembler::linkDirectJump):
(JSC::MIPSAssembler::maxJumpReplacementSize):
(JSC::MIPSAssembler::revertJumpToMove):
(JSC::MIPSAssembler::replaceWithJump):
* assembler/MacroAssembler.h:
(MacroAssembler):
(JSC::MacroAssembler::poke):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::add32):
(MacroAssemblerMIPS):
(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::lshift32):
(JSC::MacroAssemblerMIPS::mul32):
(JSC::MacroAssemblerMIPS::or32):
(JSC::MacroAssemblerMIPS::rshift32):
(JSC::MacroAssemblerMIPS::urshift32):
(JSC::MacroAssemblerMIPS::sub32):
(JSC::MacroAssemblerMIPS::xor32):
(JSC::MacroAssemblerMIPS::store32):
(JSC::MacroAssemblerMIPS::jump):
(JSC::MacroAssemblerMIPS::branchAdd32):
(JSC::MacroAssemblerMIPS::branchMul32):
(JSC::MacroAssemblerMIPS::branchSub32):
(JSC::MacroAssemblerMIPS::branchNeg32):
(JSC::MacroAssemblerMIPS::call):
(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::moveDouble):
(JSC::MacroAssemblerMIPS::swapDouble):
(JSC::MacroAssemblerMIPS::subDouble):
(JSC::MacroAssemblerMIPS::mulDouble):
(JSC::MacroAssemblerMIPS::divDouble):
(JSC::MacroAssemblerMIPS::negateDouble):
(JSC::MacroAssemblerMIPS::branchEqual):
(JSC::MacroAssemblerMIPS::branchNotEqual):
(JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32):
(JSC::MacroAssemblerMIPS::branchTruncateDoubleToUint32):
(JSC::MacroAssemblerMIPS::truncateDoubleToInt32):
(JSC::MacroAssemblerMIPS::truncateDoubleToUint32):
(JSC::MacroAssemblerMIPS::branchDoubleNonZero):
(JSC::MacroAssemblerMIPS::branchDoubleZeroOrNaN):
(JSC::MacroAssemblerMIPS::invert):
(JSC::MacroAssemblerMIPS::replaceWithJump):
(JSC::MacroAssemblerMIPS::maxJumpReplacementSize):
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall):
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
(JSC::DFG::AssemblyHelpers::debugCall):
* dfg/DFGCCallHelpers.h:
(CCallHelpers):
(JSC::DFG::CCallHelpers::setupArguments):
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
* dfg/DFGFPRInfo.h:
(DFG):
(FPRInfo):
(JSC::DFG::FPRInfo::toRegister):
(JSC::DFG::FPRInfo::toIndex):
(JSC::DFG::FPRInfo::debugName):
* dfg/DFGGPRInfo.h:
(DFG):
(GPRInfo):
(JSC::DFG::GPRInfo::toRegister):
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* jit/JSInterfaceJIT.h:
(JSInterfaceJIT):
* runtime/JSGlobalData.h:
(JSC::ScratchBuffer::allocationSize):
(ScratchBuffer):

Source/WTF:

* wtf/Platform.h:

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

Conflicts:
	Source/JavaScriptCore/ChangeLog
	Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
	Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h
	Source/WTF/ChangeLog

Change-Id: Ibc6c2a2b1d5c70d351ede37c6c111b66b4cf7fef
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
