<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/qt5/qtwebkit.git/Source/JavaScriptCore, branch release</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>[mips] Fix or32 implementation in macro assembler.</title>
<updated>2014-04-08T08:42:31+00:00</updated>
<author>
<name>Julien Brianceau</name>
<email>jbriance@cisco.com</email>
</author>
<published>2014-02-11T14:48:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=0546c8656a3728bf4375da39027e096beba4f111'/>
<id>0546c8656a3728bf4375da39027e096beba4f111</id>
<content type='text'>
This patch fixes JavaScript issues for the mips backend, especially
in the DFG stage when using (x|0) expressions.

Change-Id: I4c7c7280735481dc06ca24745d2e42b2d8e13ef5
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 patch fixes JavaScript issues for the mips backend, especially
in the DFG stage when using (x|0) expressions.

Change-Id: I4c7c7280735481dc06ca24745d2e42b2d8e13ef5
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<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>Fix build: LLIntAssembly.h is in a subdir of generated/</title>
<updated>2014-03-17T18:55:31+00:00</updated>
<author>
<name>Thiago Macieira</name>
<email>thiago.macieira@intel.com</email>
</author>
<published>2014-03-01T07:42:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=76cd1314fb108735ea330ca0fc3eb2a924bd9913'/>
<id>76cd1314fb108735ea330ca0fc3eb2a924bd9913</id>
<content type='text'>
ruby /home/thiago/src/qt/qt5/qtwebkit/Source/JavaScriptCore/offlineasm/asm.rb /home/thiago/src/qt/qt5/qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm LLIntOffsetsExtractor generated/LLIntOffsetsExtractor/LLIntAssembly.h
offlineasm: Parsing /home/thiago/src/qt/qt5/qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm and LLIntOffsetsExtractor and creating assembly file generated/LLIntOffsetsExtractor/LLIntAssembly.h.

Change-Id: If12f1476de74c3feeb5c6d6e2e115829e1106581
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@digia.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>
ruby /home/thiago/src/qt/qt5/qtwebkit/Source/JavaScriptCore/offlineasm/asm.rb /home/thiago/src/qt/qt5/qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm LLIntOffsetsExtractor generated/LLIntOffsetsExtractor/LLIntAssembly.h
offlineasm: Parsing /home/thiago/src/qt/qt5/qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm and LLIntOffsetsExtractor and creating assembly file generated/LLIntOffsetsExtractor/LLIntAssembly.h.

Change-Id: If12f1476de74c3feeb5c6d6e2e115829e1106581
Reviewed-by: Oswald Buddenhagen &lt;oswald.buddenhagen@digia.com&gt;
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use qmake optimize_full</title>
<updated>2014-03-10T16:29:56+00:00</updated>
<author>
<name>Allan Sandfeld Jensen</name>
<email>allan.jensen@digia.com</email>
</author>
<published>2014-03-07T13:08:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=59b38d902d9eadc71509f1184d3753c525abea22'/>
<id>59b38d902d9eadc71509f1184d3753c525abea22</id>
<content type='text'>
Qmake now has new config optimize_full that replaces -O2 with -O3. We
should use that in QtWebKit instead of trying to do the same ourselves.

This makes clang now use -O3 like gcc does.

Change-Id: I3db6167833c579bdea941d3ad1b3636cbad62475
Reviewed-by: Michael Bruning &lt;michael.bruning@digia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qmake now has new config optimize_full that replaces -O2 with -O3. We
should use that in QtWebKit instead of trying to do the same ourselves.

This makes clang now use -O3 like gcc does.

Change-Id: I3db6167833c579bdea941d3ad1b3636cbad62475
Reviewed-by: Michael Bruning &lt;michael.bruning@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Compile fix for Win64 with jit disabled.</title>
<updated>2014-03-07T15:18:53+00:00</updated>
<author>
<name>achristensen@apple.com</name>
<email>achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc</email>
</author>
<published>2013-08-14T20:16:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=bb9c1f33975cd0f71a7f314fc1c0f755c1b75a32'/>
<id>bb9c1f33975cd0f71a7f314fc1c0f755c1b75a32</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=119804

Reviewed by Michael Saboff.

* offlineasm/cloop.rb: Added std:: before isnan.

Change-Id: Ie7d922b7d6a0f45619a77029b07804aef5d01076
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154066 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=119804

Reviewed by Michael Saboff.

* offlineasm/cloop.rb: Added std:: before isnan.

Change-Id: Ie7d922b7d6a0f45619a77029b07804aef5d01076
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen &lt;allan.jensen@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage does a check on the length of the ArrayStorage after possible reallocing it</title>
<updated>2014-03-07T15:18:10+00:00</updated>
<author>
<name>Mark Hahnenberg</name>
<email>mhahnenberg@apple.com</email>
</author>
<published>2014-03-06T14:21:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=8a808a34c08d4e0ca109606dd8751b0d1fe53afd'/>
<id>8a808a34c08d4e0ca109606dd8751b0d1fe53afd</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=120278

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/JSObject.cpp:
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):

Change-Id: I034d6950683304d08a4e076d58fb1b999ade444b
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154633 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=120278

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/JSObject.cpp:
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):

Change-Id: I034d6950683304d08a4e076d58fb1b999ade444b
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Setting a large numeric property on an object causes it to allocate a huge backing store</title>
<updated>2014-03-07T15:18:05+00:00</updated>
<author>
<name>Mark Hahnenberg</name>
<email>mhahnenberg@apple.com</email>
</author>
<published>2014-03-06T14:18:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=c918e812f8bfce660b96e19744e5c13a8166d854'/>
<id>c918e812f8bfce660b96e19744e5c13a8166d854</id>
<content type='text'>
https://bugs.webkit.org/show_bug.cgi?id=118914

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

There are two distinct actions that we're trying to optimize for:

new Array(100000);

and:

a = [];
a[100000] = 42;

In the first case, the programmer has indicated that they expect this Array to be very big,
so they should get a contiguous array up until some threshold, above which we perform density
calculations to see if it is indeed dense enough to warrant being contiguous.

In the second case, the programmer hasn't indicated anything about the size of the Array, so
we should be more conservative and assume it should be sparse until we've proven otherwise.

Currently both of those cases are handled by MIN_SPARSE_ARRAY_INDEX. We should distinguish
between them for the purposes of not over-allocating large backing stores like we see on
http://www.peekanalytics.com/burgerjoints/

The way that we'll do this is to keep the MIN_SPARSE_ARRAY_INDEX for the first case, and
introduce a new heuristic for the second case. If we are putting to an index above a certain
threshold (say, 1000) and it is beyond the length of the array, then we will use a sparse
map instead. So for example, in the second case above the empty array has a blank indexing
type and a length of 0. We put-by-val to an index &gt; 1000 and &gt; a.length, so we'll use a sparse map.

This fix is ~800x speedup on the accompanying regression test :-o

* runtime/ArrayConventions.h:
(JSC::indexIsSufficientlyBeyondLengthForSparseMap):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change-Id: I1c29992d6e09c9d523a8093e76e3848a9581ce45
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=118914

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

There are two distinct actions that we're trying to optimize for:

new Array(100000);

and:

a = [];
a[100000] = 42;

In the first case, the programmer has indicated that they expect this Array to be very big,
so they should get a contiguous array up until some threshold, above which we perform density
calculations to see if it is indeed dense enough to warrant being contiguous.

In the second case, the programmer hasn't indicated anything about the size of the Array, so
we should be more conservative and assume it should be sparse until we've proven otherwise.

Currently both of those cases are handled by MIN_SPARSE_ARRAY_INDEX. We should distinguish
between them for the purposes of not over-allocating large backing stores like we see on
http://www.peekanalytics.com/burgerjoints/

The way that we'll do this is to keep the MIN_SPARSE_ARRAY_INDEX for the first case, and
introduce a new heuristic for the second case. If we are putting to an index above a certain
threshold (say, 1000) and it is beyond the length of the array, then we will use a sparse
map instead. So for example, in the second case above the empty array has a blank indexing
type and a length of 0. We put-by-val to an index &gt; 1000 and &gt; a.length, so we'll use a sparse map.

This fix is ~800x speedup on the accompanying regression test :-o

* runtime/ArrayConventions.h:
(JSC::indexIsSufficientlyBeyondLengthForSparseMap):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change-Id: I1c29992d6e09c9d523a8093e76e3848a9581ce45
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>Fix Qt WebKit build on architectures without JIT support</title>
<updated>2014-02-21T15:02:56+00:00</updated>
<author>
<name>Allan Sandfeld Jensen</name>
<email>allan.jensen@digia.com</email>
</author>
<published>2014-02-21T14:12:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/qt5/qtwebkit.git/commit/?id=33a75345e35d3d1a47f0258c39b480dd5e1487d8'/>
<id>33a75345e35d3d1a47f0258c39b480dd5e1487d8</id>
<content type='text'>
The fallback LLINT interpreter was triggering YARR JIT which would
fail to compile and also trigger ENABLE_ASSEMBLER which would trigger
even more not to compile. YARR JIT is only supported on platforms with
valid JIT or native LLINT support. So we must avoid it when the fallback
is used

Task-number: QTBUG-36969
Change-Id: Ie94bcb316e192feb33ab528ddc3a328af154cebf
Reviewed-by: Michael Bruning &lt;michael.bruning@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>
The fallback LLINT interpreter was triggering YARR JIT which would
fail to compile and also trigger ENABLE_ASSEMBLER which would trigger
even more not to compile. YARR JIT is only supported on platforms with
valid JIT or native LLINT support. So we must avoid it when the fallback
is used

Task-number: QTBUG-36969
Change-Id: Ie94bcb316e192feb33ab528ddc3a328af154cebf
Reviewed-by: Michael Bruning &lt;michael.bruning@digia.com&gt;
Reviewed-by: Jocelyn Turcotte &lt;jocelyn.turcotte@digia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
