diff options
author | Balazs Kilvady <kilvadyb@homejinni.com> | 2013-02-26 18:55:12 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-23 13:39:23 +0200 |
commit | dfd49c6f90bbe10a4e0c0e74768b3696f60b796c (patch) | |
tree | dfb605db83d5dba27c1739018dbbe02e4cc85d17 /Source/JavaScriptCore/assembler/MacroAssembler.cpp | |
parent | 765fd0c6ebdfbd1a0540211bc8b58e46076b41a3 (diff) | |
download | qtwebkit-dfd49c6f90bbe10a4e0c0e74768b3696f60b796c.tar.gz |
Fix the atomicIncrement implementation for MIPS GCC
https://bugs.webkit.org/show_bug.cgi?id=106739
Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-02-26
Reviewed by Oliver Hunt.
Implementation of missing __sync_[add|sub]_and_fetch_8 functions.
Some architectures, like MIPS32, don't have GCC implementation for
builtin __sync_* functions with 64 bits variable size. GCC answer
for the problem: If a target doesn't support atomic operations on
certain variable sizes, you are out of luck with atomicity in that
case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8
will support __atomic_* builtin functions for this purpose for all
the GCC targets, but for current compilers we have to include our
own implementation.
* GNUmakefile.list.am:
* WTF.pro:
* wtf/Atomics.cpp: Added.
(WTF):
(WTF::getSwapLock):
(WTF::atomicStep):
* wtf/CMakeLists.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Conflicts:
Source/WTF/ChangeLog
Change-Id: I98ce0ccd6747253ae6fa36fe9d338e155945a043
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/assembler/MacroAssembler.cpp')
0 files changed, 0 insertions, 0 deletions