summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/assembler/MacroAssembler.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-06-05 18:43:34 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-06 09:41:17 +0200
commit9769275688aec7a53b55b66bde961b18c32c6d51 (patch)
tree2b947f7ccfa0f43980e63ec373ceccb7215f78a0 /Source/JavaScriptCore/assembler/MacroAssembler.cpp
parent43d40815e5ed44a3dbc89380ae4b8975c4f86cb7 (diff)
downloadqtwebkit-9769275688aec7a53b55b66bde961b18c32c6d51.tar.gz
Make PNGImageDecoder::rowAvailable auto-vectorizable
https://bugs.webkit.org/show_bug.cgi?id=116151 Reviewed by Benjamin Poulain. Changed the main loops under PNGImageDecoder::rowAvailable so that they avoid branches and non-sequential table look ups. Together with automatic vectorization by the compiler this provides around 4x speed-up with AVX or 2x speed-up on generic x64. Shaving off 12-40% on PNG decoding in general. * platform/graphics/Color.cpp: (WebCore::premultipliedARGBFromColor): * platform/graphics/Color.h: (WebCore::fastDivideBy255): * platform/graphics/filters/FEBlend.cpp: * platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::setPixelRGB): (WebCore::setPixelRGBA): (WebCore::setPixelRGBA_Premultiplied): (WebCore::PNGImageDecoder::rowAvailable): Change-Id: Ic3d6cefda505ebceb37165d0a7aeb3cd2fe3e2c9 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150252 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/assembler/MacroAssembler.cpp')
0 files changed, 0 insertions, 0 deletions