<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qt5/qtwebkit.git/Source/JavaScriptCore/jit, branch 5.3.0</title>
<subtitle>code.qt.io: qt/qtwebkit.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/'/>
<entry>
<title>Fix compiler warnings when building Qt WebKit</title>
<updated>2014-03-18T13:29:33+00:00</updated>
<author>
<name>Allan Sandfeld Jensen</name>
<email>allan.jensen@digia.com</email>
</author>
<published>2014-03-17T14:16:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=ae824cf4ffb6e6f6863f3efbbe460e7743e00a76'/>
<id>ae824cf4ffb6e6f6863f3efbbe460e7743e00a76</id>
<content type='text'>
Fix warnings about C++11 violating syntax, unused variables in leveldb
and non anynomous classes deriving from anonymous ones.

Change-Id: I39326eed03fabe2856f1ea7c93eff65f30ee78ee
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix warnings about C++11 violating syntax, unused variables in leveldb
and non anynomous classes deriving from anonymous ones.

Change-Id: I39326eed03fabe2856f1ea7c93eff65f30ee78ee
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for non-X86 JSVALUE32_64 ports.</title>
<updated>2014-03-03T09:30:27+00:00</updated>
<author>
<name>Julien Brianceau</name>
<email>jbriance@cisco.com</email>
</author>
<published>2014-03-03T09:17:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=7ca46bc34d194fe824f6474caf930b186bb98025'/>
<id>7ca46bc34d194fe824f6474caf930b186bb98025</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=124936

Patch by Julien Brianceau &lt;jbriance@cisco.com&gt; on 2013-11-29
Reviewed by Zoltan Herczeg.

The moveDoubleToInts implementations in ARM, MIPS and SH4 macro assemblers do not clobber
src FPRegister and are likely to be more efficient than the current generic implementation
using the stack.

* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::returnDouble):

Change-Id: Ie3b6516a4047717212521315e85f5e2094373cbc
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159873 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=124936

Patch by Julien Brianceau &lt;jbriance@cisco.com&gt; on 2013-11-29
Reviewed by Zoltan Herczeg.

The moveDoubleToInts implementations in ARM, MIPS and SH4 macro assemblers do not clobber
src FPRegister and are likely to be more efficient than the current generic implementation
using the stack.

* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::returnDouble):

Change-Id: Ie3b6516a4047717212521315e85f5e2094373cbc
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build on x32</title>
<updated>2014-02-25T10:37:01+00:00</updated>
<author>
<name>Allan Sandfeld Jensen</name>
<email>allan.jensen@digia.com</email>
</author>
<published>2014-02-24T17:27:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=6cec10879f382bbd007a5a3819d37e49de2c3c7a'/>
<id>6cec10879f382bbd007a5a3819d37e49de2c3c7a</id>
<content type='text'>
Recognize x32 and disable JIT and native LLINT in this configuration.

Change-Id: I1576e38ffcff92495c4c108f66f2df17de9a5e9c
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Recognize x32 and disable JIT and native LLINT in this configuration.

Change-Id: I1576e38ffcff92495c4c108f66f2df17de9a5e9c
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@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://91.123.203.49/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>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://91.123.203.49/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>
<entry>
<title>MIPS LLInt implementation.</title>
<updated>2013-05-23T11:38:48+00:00</updated>
<author>
<name>Balazs Kilvady</name>
<email>kilvadyb@homejinni.com</email>
</author>
<published>2013-01-07T19:40:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=9147a90a7bdf8a0791efa9d677a0f36ffdb75533'/>
<id>9147a90a7bdf8a0791efa9d677a0f36ffdb75533</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=99706

Patch by Balazs Kilvady &lt;kilvadyb@homejinni.com&gt; on 2013-01-07
Reviewed by Filip Pizlo.

LLInt implementation for MIPS.

Source/JavaScriptCore:

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::jump):
* dfg/DFGOperations.cpp:
(JSC):
* jit/JITStubs.cpp:
(JSC):
* jit/JITStubs.h:
(JITStackFrame):
* llint/LLIntOfflineAsmConfig.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* offlineasm/backends.rb:
* offlineasm/instructions.rb:
* offlineasm/mips.rb: Added.

Source/WTF:

* wtf/Platform.h:

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

Conflicts:
	Source/JavaScriptCore/ChangeLog
	Source/JavaScriptCore/jit/JITStubs.h

Change-Id: I1677d54c1641cf60e517772944582c8f387eeb6d
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=99706

Patch by Balazs Kilvady &lt;kilvadyb@homejinni.com&gt; on 2013-01-07
Reviewed by Filip Pizlo.

LLInt implementation for MIPS.

Source/JavaScriptCore:

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::jump):
* dfg/DFGOperations.cpp:
(JSC):
* jit/JITStubs.cpp:
(JSC):
* jit/JITStubs.h:
(JITStackFrame):
* llint/LLIntOfflineAsmConfig.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* offlineasm/backends.rb:
* offlineasm/instructions.rb:
* offlineasm/mips.rb: Added.

Source/WTF:

* wtf/Platform.h:

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

Conflicts:
	Source/JavaScriptCore/ChangeLog
	Source/JavaScriptCore/jit/JITStubs.h

Change-Id: I1677d54c1641cf60e517772944582c8f387eeb6d
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>
<entry>
<title>Implement JIT for MinGW-w64 64-bit</title>
<updated>2013-04-18T22:59:32+00:00</updated>
<author>
<name>Jonathan Liu</name>
<email>net147@gmail.com</email>
</author>
<published>2013-04-18T10:11:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=018937c7ba8b9afb85b8ae7ccb2aba438768cdf5'/>
<id>018937c7ba8b9afb85b8ae7ccb2aba438768cdf5</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=114580

Reviewed by Jocelyn Turcotte.

* jit/JITStubs.cpp:
(JSC):

Change-Id: Ibdda0a09ba3db010bbd7858b745834dff2d92260
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148663 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=114580

Reviewed by Jocelyn Turcotte.

* jit/JITStubs.cpp:
(JSC):

Change-Id: Ibdda0a09ba3db010bbd7858b745834dff2d92260
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>JSC asserting with long parameter list functions in debug mode on ARM traditional</title>
<updated>2013-04-04T12:56:23+00:00</updated>
<author>
<name>Gabor Rapcsanyi</name>
<email>rgabor@webkit.org</email>
</author>
<published>2013-04-04T12:25:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=cbfaf355aca8ef61c9876615ddc99ed1de39ed9a'/>
<id>cbfaf355aca8ef61c9876615ddc99ed1de39ed9a</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=109565

Reviewed by Zoltan Herczeg.

Increase the value of sequenceGetByIdSlowCaseInstructionSpace to 80.

* jit/JIT.h:

Change-Id: I593f09494314a36cb50f2511908f6243fd43f902
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142616 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=109565

Reviewed by Zoltan Herczeg.

Increase the value of sequenceGetByIdSlowCaseInstructionSpace to 80.

* jit/JIT.h:

Change-Id: I593f09494314a36cb50f2511908f6243fd43f902
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement JIT on Windows 64 bits</title>
<updated>2013-03-29T12:02:40+00:00</updated>
<author>
<name>Jocelyn Turcotte</name>
<email>jocelyn.turcotte@digia.com</email>
</author>
<published>2013-02-26T13:04:28+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=fad1b063ed174a07392561c0323355115aa66992'/>
<id>fad1b063ed174a07392561c0323355115aa66992</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=107965

Reviewed by Simon Hausmann.

Source/JavaScriptCore:

1. MSVC doesn't support inline assembly for 64 bits, implements the trampoline in a separate ASM file.

2. Windows 64 bits has a different calling convention than other OSes following the AMD64 ABI.
Differences that we have to handle here:
- Registers passed parameters are RCX, RDX, R8 and R9 instead of RDI, RSI, RDX, RCX, R8 and R9
- RDI and RSI must be preserved by callee
- Only return values &lt;= 8 bytes can be returned by register (RDX can't be used to return a second word)
- There is no red-zone after RIP on the stack, but instead 4 reserved words before it

* Target.pri:
* jit/JITStubs.cpp:
* jit/JITStubs.h:
(JSC):
(JITStackFrame):
(JSC::JITStackFrame::returnAddressSlot):
* jit/JITStubsMSVC64.asm: Added.
* jit/JSInterfaceJIT.h:
(JSInterfaceJIT):
* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
* yarr/YarrJIT.cpp:
(YarrGenerator):
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::generateReturn):

Source/WTF:

* wtf/Platform.h:

Change-Id: Ie1910350e36defcd427a95ceb9aa280fa61083e7
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144043 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=107965

Reviewed by Simon Hausmann.

Source/JavaScriptCore:

1. MSVC doesn't support inline assembly for 64 bits, implements the trampoline in a separate ASM file.

2. Windows 64 bits has a different calling convention than other OSes following the AMD64 ABI.
Differences that we have to handle here:
- Registers passed parameters are RCX, RDX, R8 and R9 instead of RDI, RSI, RDX, RCX, R8 and R9
- RDI and RSI must be preserved by callee
- Only return values &lt;= 8 bytes can be returned by register (RDX can't be used to return a second word)
- There is no red-zone after RIP on the stack, but instead 4 reserved words before it

* Target.pri:
* jit/JITStubs.cpp:
* jit/JITStubs.h:
(JSC):
(JITStackFrame):
(JSC::JITStackFrame::returnAddressSlot):
* jit/JITStubsMSVC64.asm: Added.
* jit/JSInterfaceJIT.h:
(JSInterfaceJIT):
* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
* yarr/YarrJIT.cpp:
(YarrGenerator):
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::generateReturn):

Source/WTF:

* wtf/Platform.h:

Change-Id: Ie1910350e36defcd427a95ceb9aa280fa61083e7
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Named lookups on HTML documents produce inconsistent results in JavaScriptCore bindings</title>
<updated>2013-03-26T16:49:37+00:00</updated>
<author>
<name>Filip Pizlo</name>
<email>fpizlo@apple.com</email>
</author>
<published>2013-03-21T17:13:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=1f8a9f66cf95c3ea5a8819c87157ac00d4b1ef0c'/>
<id>1f8a9f66cf95c3ea5a8819c87157ac00d4b1ef0c</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=104623

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add the notion of objects that HasImpureGetOwnPropertySlot, and use that to inhibit prototype chain caching
in some cases. This appears to be perf-neutral on benchmarks that we track.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDProtoList):
* jit/JITStubs.cpp:
(JSC::JITThunks::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
* runtime/JSTypeInfo.h:
(JSC):
(JSC::TypeInfo::hasImpureGetOwnPropertySlot):
* runtime/Operations.h:
(JSC::normalizePrototypeChainForChainAccess):

Source/WebCore:

All DOM objects that have named getters or directly override getOwnPropertySlot are now marked as
HasImpureGetOwnPropertySlot.

Tests: fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps
        fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):

LayoutTests:

* fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-expected.txt: Added.
* fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Added.
* fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps-expected.txt: Added.
* fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Added.
* fast/js/script-tests/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Added.
(f):
* fast/js/script-tests/prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Added.
(f):

Change-Id: Ie17e39f2b8139778455e28aca9428698f4dd362f
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137700 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=104623

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add the notion of objects that HasImpureGetOwnPropertySlot, and use that to inhibit prototype chain caching
in some cases. This appears to be perf-neutral on benchmarks that we track.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDProtoList):
* jit/JITStubs.cpp:
(JSC::JITThunks::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
* runtime/JSTypeInfo.h:
(JSC):
(JSC::TypeInfo::hasImpureGetOwnPropertySlot):
* runtime/Operations.h:
(JSC::normalizePrototypeChainForChainAccess):

Source/WebCore:

All DOM objects that have named getters or directly override getOwnPropertySlot are now marked as
HasImpureGetOwnPropertySlot.

Tests: fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps
        fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):

LayoutTests:

* fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-expected.txt: Added.
* fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Added.
* fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps-expected.txt: Added.
* fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Added.
* fast/js/script-tests/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Added.
(f):
* fast/js/script-tests/prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Added.
(f):

Change-Id: Ie17e39f2b8139778455e28aca9428698f4dd362f
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
