| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Symbian^3 provides an enhanced atomics API, which provides relaxed,
acquire, release, ordered versions of each atomic operation.
The armv5 and armv6 assembly atomics previously used in Qt are not SMP
safe. The atomics provided by the OS will be SMP safe when using the SMP
kernel, or similar ARM assembly implementations when using the uniprocessor
kernel.
Task-number: QTBUG-7655
Reviewed-by: mread
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-By: Brad
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use ARMv6 atomics where available
Use OS atomics otherwise
Integrate ARMV6 atomics to Symbian builds
Use compiler defined macros to detect if ARMv6 instructions are available
This defines the QT_HAVE_ARMV6 macro, replacing the way it was defined
by the Symbian build system previously in qpainting.pri.
qatomic_symbian now uses qatomic_arm or qatomic_armv6 automatically
Port armv6 atomics to implement generic atomics interface
The inline atomics are not inlined when we build for thumb using RVCT.
So there is no performance improvement of using the "inline" versions vs
a shared version called through a function call.
The generic atomics interface is good for binary compatibility, as the
same symbols are exported in all versions now.
Changed the fallback generic atomics implementation from the unix one
to a symbian specific one using RFastLock (identical code to the windows
generic atomics, except for RFastLock replaces Win32 CRITICAL_SECTION)
Note: GCCE atomics still need porting
Tell git to ignore .lst listing files (produced by sbs/abld listing)
ARMv6 support for GCCE compiler and fallback implementation using OS
When building corelib with GCCE and -march=armv6, QT_HAVE_ARMV6 will be
defined. This patch adds copies of the asm functions in GCC syntax.
When building for the Symbian emulator, or ARMv5, then Symbian OS atomic
functions are used as a fallback - these are more efficient than the unix
atomics, and don't require data import (which the ARMv5 atomics use, but
the OS loader doesn't support fully)
Symbian OS functions are always used for QBasicAtomicInt::ref / deref,
because these are faster than the generic function in all cases.
They are machine coded for ARMv6, and are used internally by RFastLock.
Reviewed-By: axis
Reviewed-By: Brad
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
It seems the problem is no longer there (maybe it was related to when
we used --no_hide_all?), but anyway, it seems to be fine to use
Q_CORE_EXPORT so reverted to that.
Reviewed-by: axis
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\ |
|
| |
| |
| |
| | |
RevBy: Trust me
|
|/ |
|
|
|
|
| |
RevBy: Trust me
|
|
|
|
| |
RevBy: Trust me
|
| |
|
|
|
|
|
| |
Contains some smaller fixes and renaming of macros. Looks big,
but isn't scary at all ;)
|
| |
|
|
|