| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
|
|
|
| |
Reviewed-by: Trust Me
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Adding a threshold for partial updates.
Fixed arm X11 build.
|
| |
| |
| |
| |
| |
| | |
Without we get error: invalid conversion from 'const void*' to 'void*'
Reviewed-by: Thiago Macieira
|
| |
| |
| |
| |
| |
| |
| | |
The NO_NAMED_LOCAL_CHUNKS macro should have been set for S605.0 builds.
Also for S60 3.2 and Symbian^2. All are added.
Reviewed-by: Shane Kearns
|
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a typo in a debug-only function in the hybrid heap
allocator. The typo causes an assertion to fail during startup
of applications, when using a debug build of Qt.
Reviewed-by: mread
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed name collision with TAllocFail
Added definition for EDebugHdrSize and fixed scope issue
Added definition for SRAllocatorBurstFail
Added a definition for global enum ETHeapBadDebugFailParameter
Tested compilation on:
Symbian^3 RnD - armv5_urel, armv5_udeb, winscw_urel, winscw_udeb
S60 3.1 SDK - armv5_urel, armv5_udeb
S60 5.0 SDK - armv5_urel, armv5_udeb
Symbian^3 PDK - armv5_urel, armv5_udeb
Symbian^4 RnD - armv5_urel, armv5_udeb
Basic functional testing on N8 armv5_urel
Task-number: QTBUG-14168
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
| |
Using an inline function for noBTrace() which can be optimised to
nothing.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
| |
this time, adding a comment to explain a performance improvement
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
changing the way enums are declared and used.
commenting and restricting export macro changes.
improved flagging
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
| |
Using lower case name, as recommended by review comment
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
| |
Disabling BTrace use in the heap checking macros without disabling any
of the rest of the heap checking functionality.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set various pragmas and defines to tune the hybrid allocator.
Performance test was the time takes to allocate or deallocate as
appropriate 1,000,000 times from a set of 100,000 pointers, selected at
random, with sizes generated randomly with min 2, max 5960, avg 46.
The function was exp(8 - log(2 + rand(0..1023))) * rand(1 or 4).
The following parameters were chosen:
* pragma arm, for ~1.2%
* pragma Otime, for ~3%
* pragma O2, already the compiler default, just to be sure
* all possible slab sizes enabled, for ~1%
NB Disabling BTrace would also gain ~1.5%, but that seems like a bad
thing to do. Not done.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
The allocator code copied from 10.1 would have no default value set for
KHeapShrinkHysRatio, since it's no longer a patchable constant. This
change gives it a value of 0x800, to be tuned for performance.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
| |
The fast allocator on S60 3.2 can't use TChunkCreateInfo. Instead,
RChunk::CreateDisconnectedLocal() has to be used
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
The fast allocator switch was in qglobal.h, which is unnessarily global.
Instead it has been moved to qt_hybridHeap_symbian_p.h, where is has
the minimum visibility required.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
| |
This change adds flagging and definitions necessary to get the fast
allocator compiling on 5.0
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
| |
u32exec.h was not available in the symbian^3 SDK, so it has been removed
and other necessary headers are added.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
| |
qt_hybridHeap_symbian_p.h was missing from arch.pri, added.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
qt_hybridHeap_symbian_p.h was renamed from qt_hybridHeap_symbian.h to
make it clear that it's private/internal. But it hadn't been added to
git. Now it is.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
renamed headers
diabaled new allocator for winscw builds, and froze the heap creation
export
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
The hybrid heap allocator has been copied from Symbian^4 (MCL wk36
initially) and is installed by qtmain.lib as the initial allocator
for Qt apps.
Task-number: QT-3967
Reviewed-by: Shane Kearns
|
|
|
|
|
| |
Task-number: QT-3967
Reviewed-by: mread
|
|
|
|
|
| |
Task-number: QT-3967
Reviewed-by: mread
|
|
|
|
|
| |
Task-number: QT-3967
Reviewed-by: mread
|
|
|
|
|
| |
Task-number: QT-3967
Reviewed-by: mread
|
|
|
|
|
|
|
| |
It worked, but relied on integer overflow and casting behaviour
Task-number: QT-3967
Reviewed-by: mread
|
|
|
|
|
| |
Task-number: QT-3967
Reviewed-by: mread
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New export in corelib that is called from the qtmain wrapper to setup
the thread heap. This allows 7k of code to be shared, and makes it easier
to disable or upgrade the allocator in future releases
Task-number: QTBUG-4895
Enable new allocator by default
Rename of headers as _p.h to avoid syncqt adding them to applications
move inline functions from .inl -> .h, document & rename macros
remove #if 0 from the dla header, implement getpagesize properly
squashed after sanitisation
Task-number: QT-3967
Reviewed-by: mread
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/spectrum/app/engine.h
demos/spectrum/app/mainwidget.h
demos/spectrum/app/settingsdialog.h
demos/spectrum/app/spectrograph.h
demos/spectrum/app/spectrumanalyser.h
demos/spectrum/app/tonegenerator.h
demos/spectrum/app/tonegeneratordialog.h
demos/spectrum/app/utils.h
demos/spectrum/app/waveform.h
tests/auto/qtextcodec/tst_qtextcodec.cpp
|
| |
| |
| |
| |
| |
| |
| |
| | |
- add alpha platform support based on JavaScriptCore from src/3rdparty/webkit copy.
- fix invalid type conversions on alpha architecture.
Merge-request: 640
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
src/s60installs/bwins/QtCoreu.def
src/s60installs/eabi/QtCoreu.def
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
| |
The C-style casts for the qt_atomic_eabi_cmpxchg_*() functions cause
warnings when -Wold-style-cast is enabled. Use reinterpret_cast
instead.
Task-number: QTBUG-3933
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
QNAM HTTP: Always set channel.reply to 0 when done
Revert "Added note to make QList destructor virtual in version 5"
Fix s390(x) atomic ops related crashes
Fix undefined sequence point compiler warning
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The s390 implementation of the pointer related atomic ops
never worked before, and the memory barrier was mixed up
between the Acquire and the Relaxed variant. This fixes
both.
Merge-request: 2312
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
|/
|
|
| |
Reviewed-by: Shane Kearns
|
|
|
|
| |
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
| |
Error was:
../../include/QtCore/../../src/corelib/arch/qatomic_ia64.h(208):
error: argument of type "QMutexPool *volatile *" is incompatible with parameter of type "void *volatile *"
return (T *)_InterlockedExchangePointer(&_q_value, newValue);
^
detected during instantiation of "T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *) [with T=QMutexPool]"
Patch by Intel Yolanda Chen (relayed by reporter Richard Fleck).
Task-number: QTBUG-7356
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is basically a copy & paste of the GCC inline assembly above,
switched to the RVCT inline assembly model (which is actually easier
to write and understand).
I verified that this code compiles and assembles as expected. The
output generated by RVCT is pretty much on the mark. However, I have
not executed this code yet to see if it performs as expected.
To be noted:
- when expanding the inline template code, RVCT may be tempted to
switch your entire function to ARM mode. Should we add
__attribute__((noinline)) to prevent that?
- There's no equivalent to GCC inline assembler's clobber, especially
of "memory". Also, there's no "volatile" qualifier to the
assembly. Does the compiler know it can't reorder the code? Does it
know it shouldn't trust the value of the memory after this? My test
indicates the code is fine...
Reviewed-By: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
assembly.
Move the *Relaxed, *Acquire and *Release functions (which are simply
forwarding calls to the *Ordered version) to the bottom of the file.
Reviewed-By: Shane Kearns
|
|
|
|
|
|
|
|
|
| |
The namespace needs to be there, even if empty, to avoid warnings.
Also, the header declaration was moved to avoid nested header
declarations.
RevBy: hjk
|
|
|
|
| |
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
|
|\
| |
| |
| |
| | |
Conflicts:
src/gui/itemviews/qlistview.cpp
|