summaryrefslogtreecommitdiffstats
path: root/src/corelib/arch/symbian
diff options
context:
space:
mode:
authorOlivier Goffart <olivier.goffart@nokia.com>2010-10-07 16:12:04 +0200
committerOlivier Goffart <olivier.goffart@nokia.com>2010-10-07 16:12:04 +0200
commit5f8ef6ac44e1db842003deeed6525eea70d8d83d (patch)
tree2b67b2abe7038e97fc72967a4882bf15c38d39a1 /src/corelib/arch/symbian
parentd7dd967d4a4775e70d270dbcd0623ef07128d420 (diff)
parent62a2fe9092d3b6038a08f5c5a7faa4a863b84fdc (diff)
Merge remote branch 'origin/4.7' into qt-master-from-4.7
Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msbuild_objectmodel.h qmake/generators/win32/msvc_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp src/corelib/arch/qatomic_arm.h tests/auto/qglthreads/tst_qglthreads.cpp
Diffstat (limited to 'src/corelib/arch/symbian')
-rw-r--r--src/corelib/arch/symbian/debugfunction.cpp4
-rw-r--r--src/corelib/arch/symbian/heap_hybrid_p.h6
-rw-r--r--src/corelib/arch/symbian/qt_hybridheap_symbian_p.h5
3 files changed, 11 insertions, 4 deletions
diff --git a/src/corelib/arch/symbian/debugfunction.cpp b/src/corelib/arch/symbian/debugfunction.cpp
index f3b5d2d403..31937e80cb 100644
--- a/src/corelib/arch/symbian/debugfunction.cpp
+++ b/src/corelib/arch/symbian/debugfunction.cpp
@@ -549,7 +549,7 @@ void ResetAllocCellLevels(TAny* aPtr, RHybridHeap::TCellType aType, TAny* aCell,
if (aType == RHybridHeap::EGoodAllocatedCell)
{
- RHybridHeap::SDebugCell* DbgCell = (RHybridHeap::SDebugCell*)((TUint8*)aCell-RHeap::EDebugHdrSize);
+ RHybridHeap::SDebugCell* DbgCell = (RHybridHeap::SDebugCell*)((TUint8*)aCell-RHybridHeap::EDebugHdrSize);
DbgCell->nestingLevel = 0;
}
}
@@ -1105,7 +1105,7 @@ void RHybridHeap::DoCheckSlab(slab* aSlab, TAllocatorType aSlabType, TAny* aBfr)
unsigned used = SlabHeaderUsedm4(h)+4;
unsigned size = SlabHeaderSize(h);
__HEAP_CORRUPTED_TEST( (used < SLABSIZE),ETHeapBadCellAddress, aBfr, aSlab);
- __HEAP_CORRUPTED_TEST( ((size > 3 ) && (size < MAXSLABSIZE)), ETHeapBadCellAddress,aBfr,aSlab);
+ __HEAP_CORRUPTED_TEST( ((size > 3 ) && (size <= MAXSLABSIZE)), ETHeapBadCellAddress,aBfr,aSlab);
unsigned count = 0;
switch ( aSlabType )
diff --git a/src/corelib/arch/symbian/heap_hybrid_p.h b/src/corelib/arch/symbian/heap_hybrid_p.h
index 736af72b94..95fb3d470b 100644
--- a/src/corelib/arch/symbian/heap_hybrid_p.h
+++ b/src/corelib/arch/symbian/heap_hybrid_p.h
@@ -103,11 +103,15 @@ public:
EGetSize=48, EGetMaxLength, EGetBase, EAlignInteger, EAlignAddr
};
enum TDebugOp { EWalk = 128, EHybridHeap };
- enum TAllocFail
+ enum THybridAllocFail
{
ERandom, ETrueRandom, EDeterministic, EHybridNone, EFailNext, EReset, EBurstRandom,
EBurstTrueRandom, EBurstDeterministic, EBurstFailNext, ECheckFailure,
};
+ enum { EDebugHdrSize = sizeof(SDebugCell) };
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+ struct SRAllocatorBurstFail {TInt iBurst; TInt iRate; TInt iUnused[2];};
+#endif
struct HeapInfo
{
diff --git a/src/corelib/arch/symbian/qt_hybridheap_symbian_p.h b/src/corelib/arch/symbian/qt_hybridheap_symbian_p.h
index 5827aca149..36c7b6d5c3 100644
--- a/src/corelib/arch/symbian/qt_hybridheap_symbian_p.h
+++ b/src/corelib/arch/symbian/qt_hybridheap_symbian_p.h
@@ -90,7 +90,7 @@
// disabling code ported from Symbian^4 that we don't want/can't have in earlier platforms
#define QT_SYMBIAN4_ALLOCATOR_UNWANTED_CODE
-#if defined(SYMBIAN_VERSION_9_2) || defined(SYMBIAN_VERSION_9_1)
+#if defined(SYMBIAN_VERSION_9_1) || defined(SYMBIAN_VERSION_9_2) || defined(SYMBIAN_VERSION_9_3) || defined(SYMBIAN_VERSION_9_4) || defined(SYMBIAN_VERSION_SYMBIAN2)
#define NO_NAMED_LOCAL_CHUNKS
#endif
@@ -100,6 +100,9 @@ inline int noBTrace() {return 0;}
#define BTraceContext12(a,b,c,d,e) noBTrace()
#endif
+// declare ETHeapBadDebugFailParameter, where missing
+#define ETHeapBadDebugFailParameter ((TCdtPanic)213)
+
#ifndef QT_SYMBIAN_HAVE_U32STD_H
struct SThreadCreateInfo
{