OpenCoverage

StdLibExtras.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/3rdparty/masm/wtf/StdLibExtras.h
Switch to Source codePreprocessed file
LineSourceCount
1template<typename Type>-
2bool isPointerTypeAlignmentOkay(Type*)-
3{-
4 return
never executed: return true;
true;
never executed: return true;
0
5}-
6-
7-
8-
9namespace WTF {-
10-
11static const size_t KB = 1024;-
12static const size_t MB = 1024 * 1024;-
13-
14inline bool isPointerAligned(void* p)-
15{-
16 return
never executed: return !((intptr_t)(p) & (sizeof(char*) - 1));
!((intptr_t)(p) & (sizeof(char*) - 1));
never executed: return !((intptr_t)(p) & (sizeof(char*) - 1));
0
17}-
18-
19inline bool is8ByteAligned(void* p)-
20{-
21 return
never executed: return !((uintptr_t)(p) & (sizeof(double) - 1));
!((uintptr_t)(p) & (sizeof(double) - 1));
never executed: return !((uintptr_t)(p) & (sizeof(double) - 1));
0
22}-
23-
24-
25-
26-
27template<typename TO, typename FROM>-
28inline TO bitwise_cast(FROM from)-
29{-
30 static_assert((sizeof(TO) == sizeof(FROM)), "WTF_bitwise_cast_sizeof_casted_types_is_equal");-
31 union {-
32 FROM from;-
33 TO to;-
34 } u;-
35 u.from = from;-
36 return
never executed: return u.to;
u.to;
never executed: return u.to;
0
37}-
38-
39template<typename To, typename From>-
40inline To safeCast(From value)-
41{-
42 (!(isInBounds<To>(value)) ? (qmlWTFReportAssertionFailure(__FILE__, 146, __PRETTY_FUNCTION__, "isInBounds<To>(value)"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0);-
43 return
never executed: return static_cast<To>(value);
static_cast<To>(value);
never executed: return static_cast<To>(value);
0
44}-
45-
46-
47inline size_t bitCount(unsigned bits)-
48{-
49 bits = bits - ((bits >> 1) & 0x55555555);-
50 bits = (bits & 0x33333333) + ((bits >> 2) & 0x33333333);-
51 return
never executed: return (((bits + (bits >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
(((bits + (bits >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
never executed: return (((bits + (bits >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
0
52}-
53-
54-
55template<typename T, size_t Size> char (&ArrayLengthHelperFunction(T (&)[Size]))[Size];-
56-
57-
58template<typename T> char (&ArrayLengthHelperFunction(T (&)[0]))[0];-
59-
60-
61-
62-
63inline size_t roundUpToMultipleOf(size_t divisor, size_t x)-
64{-
65 ((divisor && !(divisor & (divisor - 1))) ? static_cast<void>(0) : qt_assert("divisor && !(divisor & (divisor - 1))", __FILE__, 169));-
66 size_t remainderMask = divisor - 1;-
67 return
executed 3626840 times by 153 tests: return (x + remainderMask) & ~remainderMask;
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
(x + remainderMask) & ~remainderMask;
executed 3626840 times by 153 tests: return (x + remainderMask) & ~remainderMask;
Executed by:
  • tst_bindingdependencyapi
  • tst_drawingmodes
  • tst_ecmascripttests
  • tst_examples
  • tst_flickableinterop
  • tst_multipointtoucharea_interop
  • tst_parserstress
  • tst_qjsengine
  • tst_qjsonbinding
  • tst_qjsvalue
  • tst_qjsvalueiterator
  • tst_qmlcachegen
  • tst_qmldiskcache
  • tst_qqmlapplicationengine
  • tst_qqmlbinding
  • tst_qqmlcomponent
  • tst_qqmlconnections
  • tst_qqmlconsole
  • tst_qqmlcontext
  • tst_qqmldebugclient
  • tst_qqmldebugjs
  • tst_qqmldebuglocal
  • tst_qqmldebugservice
  • tst_qqmlecmascript
  • tst_qqmlenginecleanup
  • ...
3626840
68}-
69template<size_t divisor> inline size_t roundUpToMultipleOf(size_t x)-
70{-
71 static_assert((divisor && !(divisor & (divisor - 1))), "divisor_is_a_power_of_two");-
72 return
never executed: return roundUpToMultipleOf(divisor, x);
roundUpToMultipleOf(divisor, x);
never executed: return roundUpToMultipleOf(divisor, x);
0
73}-
74-
75enum BinarySearchMode {-
76 KeyMustBePresentInArray,-
77 KeyMightNotBePresentInArray,-
78 ReturnAdjacentElementIfKeyIsNotPresent-
79};-
80-
81template<typename ArrayElementType, typename KeyType, typename ArrayType, typename ExtractKey, BinarySearchMode mode>-
82inline ArrayElementType* binarySearchImpl(ArrayType& array, size_t size, KeyType key, const ExtractKey& extractKey = ExtractKey())-
83{-
84 size_t offset = 0;-
85 while (size > 1
size > 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
86 size_t pos = (size - 1) >> 1;-
87 KeyType val = extractKey(&array[offset + pos]);-
88-
89 if (val == key
val == keyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
90 return
never executed: return &array[offset + pos];
&array[offset + pos];
never executed: return &array[offset + pos];
0
91-
92-
93 if (key < val
key < valDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
94 size = pos;
never executed: size = pos;
0
95-
96 else {-
97 size -= (pos + 1);-
98 offset += (pos + 1);-
99 }
never executed: end of block
0
100-
101 (!(mode != KeyMustBePresentInArray || size) ? (qmlWTFReportAssertionFailure(__FILE__, 205, __PRETTY_FUNCTION__, "mode != KeyMustBePresentInArray || size"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0);-
102 }
never executed: end of block
0
103-
104 if (mode == KeyMightNotBePresentInArray
mode == KeyMig...PresentInArrayDescription
TRUEnever evaluated
FALSEnever evaluated
&& !size
!sizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
105 return
never executed: return 0;
0;
never executed: return 0;
0
106-
107 ArrayElementType* result = &array[offset];-
108-
109 if (mode == KeyMightNotBePresentInArray
mode == KeyMig...PresentInArrayDescription
TRUEnever evaluated
FALSEnever evaluated
&& key != extractKey(result)
key != extractKey(result)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
110 return
never executed: return 0;
0;
never executed: return 0;
0
111-
112 if (mode == KeyMustBePresentInArray
mode == KeyMus...PresentInArrayDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
113 (!(size == 1) ? (qmlWTFReportAssertionFailure(__FILE__, 217, __PRETTY_FUNCTION__, "size == 1"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0);-
114 (!(key == extractKey(result)) ? (qmlWTFReportAssertionFailure(__FILE__, 218, __PRETTY_FUNCTION__, "key == extractKey(result)"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0);-
115 }
never executed: end of block
0
116-
117 return
never executed: return result;
result;
never executed: return result;
0
118}-
119-
120-
121template<typename ArrayElementType, typename KeyType, typename ArrayType, typename ExtractKey>-
122inline ArrayElementType* binarySearch(ArrayType& array, size_t size, KeyType key, ExtractKey extractKey = ExtractKey())-
123{-
124 return
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMustBePresentInArray>(array, size, key, extractKey);
binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMustBePresentInArray>(array, size, key, extractKey);
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMustBePresentInArray>(array, size, key, extractKey);
0
125}-
126-
127-
128template<typename ArrayElementType, typename KeyType, typename ArrayType, typename ExtractKey>-
129inline ArrayElementType* tryBinarySearch(ArrayType& array, size_t size, KeyType key, ExtractKey extractKey = ExtractKey())-
130{-
131 return
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMightNotBePresentInArray>(array, size, key, extractKey);
binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMightNotBePresentInArray>(array, size, key, extractKey);
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMightNotBePresentInArray>(array, size, key, extractKey);
0
132}-
133-
134-
135template<typename ArrayElementType, typename KeyType, typename ArrayType, typename ExtractKey>-
136inline ArrayElementType* approximateBinarySearch(ArrayType& array, size_t size, KeyType key, ExtractKey extractKey = ExtractKey())-
137{-
138 return
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, ReturnAdjacentElementIfKeyIsNotPresent>(array, size, key, extractKey);
binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, ReturnAdjacentElementIfKeyIsNotPresent>(array, size, key, extractKey);
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, ReturnAdjacentElementIfKeyIsNotPresent>(array, size, key, extractKey);
0
139}-
140-
141-
142template<typename ArrayElementType, typename KeyType, typename ArrayType, typename ExtractKey>-
143inline ArrayElementType* binarySearch(const ArrayType& array, size_t size, KeyType key, ExtractKey extractKey = ExtractKey())-
144{-
145 return
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMustBePresentInArray>(const_cast<ArrayType&>(array), size, key, extractKey);
binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMustBePresentInArray>(const_cast<ArrayType&>(array), size, key, extractKey);
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMustBePresentInArray>(const_cast<ArrayType&>(array), size, key, extractKey);
0
146}-
147template<typename ArrayElementType, typename KeyType, typename ArrayType, typename ExtractKey>-
148inline ArrayElementType* tryBinarySearch(const ArrayType& array, size_t size, KeyType key, ExtractKey extractKey = ExtractKey())-
149{-
150 return
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMightNotBePresentInArray>(const_cast<ArrayType&>(array), size, key, extractKey);
binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMightNotBePresentInArray>(const_cast<ArrayType&>(array), size, key, extractKey);
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, KeyMightNotBePresentInArray>(const_cast<ArrayType&>(array), size, key, extractKey);
0
151}-
152template<typename ArrayElementType, typename KeyType, typename ArrayType, typename ExtractKey>-
153inline ArrayElementType* approximateBinarySearch(const ArrayType& array, size_t size, KeyType key, ExtractKey extractKey = ExtractKey())-
154{-
155 return
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, ReturnAdjacentElementIfKeyIsNotPresent>(const_cast<ArrayType&>(array), size, key, extractKey);
binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, ReturnAdjacentElementIfKeyIsNotPresent>(const_cast<ArrayType&>(array), size, key, extractKey);
never executed: return binarySearchImpl<ArrayElementType, KeyType, ArrayType, ExtractKey, ReturnAdjacentElementIfKeyIsNotPresent>(const_cast<ArrayType&>(array), size, key, extractKey);
0
156}-
157-
158}-
159-
160-
161enum NotNullTag { NotNull };-
162inline void* operator new(size_t, NotNullTag, void* location)-
163{-
164 (!(location) ? (qmlWTFReportAssertionFailure(__FILE__, 268, __PRETTY_FUNCTION__, "location"), (qmlWTFReportBacktrace(), qmlWTFInvokeCrashHook(), (*(int *)(uintptr_t)0xbbadbeef = 0), __builtin_trap())) : (void)0);-
165 return
never executed: return location;
location;
never executed: return location;
0
166}-
167-
168using WTF::KB;-
169using WTF::MB;-
170using WTF::isPointerAligned;-
171using WTF::is8ByteAligned;-
172using WTF::binarySearch;-
173using WTF::tryBinarySearch;-
174using WTF::approximateBinarySearch;-
175using WTF::bitwise_cast;-
176using WTF::safeCast;-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.0