Skip to content

Commit 064c8d1

Browse files
committed
Removed warning on 32-bit platforms
1 parent 2087910 commit 064c8d1

9 files changed

+18
-54
lines changed

Diff for: LockFreeLifoQueue.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@ template <typename T> class LockFreeLifoQueue
1111
: _capacity(capacity)
1212
{
1313
_indexMask = capacity;
14-
_indexMask |= _indexMask >> 1;
15-
_indexMask |= _indexMask >> 2;
16-
_indexMask |= _indexMask >> 4;
17-
_indexMask |= _indexMask >> 8;
18-
_indexMask |= _indexMask >> 16;
19-
_indexMask |= _indexMask >> 32;
14+
for(usize i = 1; i <= sizeof(void*) * 4; i <<= 1)
15+
_indexMask |= _indexMask >> i;
2016
_abaOffset = _indexMask + 1;
2117

2218
_queue = (Node*)Memory::alloc(sizeof(Node) * (capacity + 1));

Diff for: LockFreeQueue.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ template <typename T> class LockFreeQueue
1010
explicit LockFreeQueue(usize capacity)
1111
{
1212
_capacityMask = capacity - 1;
13-
_capacityMask |= _capacityMask >> 1;
14-
_capacityMask |= _capacityMask >> 2;
15-
_capacityMask |= _capacityMask >> 4;
16-
_capacityMask |= _capacityMask >> 8;
17-
_capacityMask |= _capacityMask >> 16;
18-
_capacityMask |= _capacityMask >> 32;
13+
for(usize i = 1; i <= sizeof(void*) * 4; i <<= 1)
14+
_capacityMask |= _capacityMask >> i;
1915
_capacity = _capacityMask + 1;
2016

2117
_queue = (Node*)Memory::alloc(sizeof(Node) * _capacity);

Diff for: LockFreeQueueCpp11.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ template <typename T> class LockFreeQueueCpp11
1010
explicit LockFreeQueueCpp11(size_t capacity)
1111
{
1212
_capacityMask = capacity - 1;
13-
_capacityMask |= _capacityMask >> 1;
14-
_capacityMask |= _capacityMask >> 2;
15-
_capacityMask |= _capacityMask >> 4;
16-
_capacityMask |= _capacityMask >> 8;
17-
_capacityMask |= _capacityMask >> 16;
18-
_capacityMask |= _capacityMask >> 32;
13+
for(size_t i = 1; i <= sizeof(void*) * 4; i <<= 1)
14+
_capacityMask |= _capacityMask >> i;
1915
_capacity = _capacityMask + 1;
2016

2117
_queue = (Node*)new char[sizeof(Node) * _capacity];

Diff for: LockFreeQueueSlow1.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ template <typename T> class LockFreeQueueSlow1
1010
explicit LockFreeQueueSlow1(usize capacity)
1111
{
1212
_capacityMask = capacity - 1;
13-
_capacityMask |= _capacityMask >> 1;
14-
_capacityMask |= _capacityMask >> 2;
15-
_capacityMask |= _capacityMask >> 4;
16-
_capacityMask |= _capacityMask >> 8;
17-
_capacityMask |= _capacityMask >> 16;
18-
_capacityMask |= _capacityMask >> 32;
13+
for(usize i = 1; i <= sizeof(void*) * 4; i <<= 1)
14+
_capacityMask |= _capacityMask >> i;
1915
_capacity = _capacityMask + 1;
2016

2117
_queue = (Node*)Memory::alloc(sizeof(Node) * _capacity);

Diff for: LockFreeQueueSlow2.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ template <typename T> class LockFreeQueueSlow2
1010
explicit LockFreeQueueSlow2(usize capacity)
1111
{
1212
_capacityMask = capacity - 1;
13-
_capacityMask |= _capacityMask >> 1;
14-
_capacityMask |= _capacityMask >> 2;
15-
_capacityMask |= _capacityMask >> 4;
16-
_capacityMask |= _capacityMask >> 8;
17-
_capacityMask |= _capacityMask >> 16;
18-
_capacityMask |= _capacityMask >> 32;
13+
for(usize i = 1; i <= sizeof(void*) * 4; i <<= 1)
14+
_capacityMask |= _capacityMask >> i;
1915
_capacity = _capacityMask + 1;
2016

2117
_queue = (Node*)Memory::alloc(sizeof(Node) * _capacity);

Diff for: LockFreeQueueSlow3.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ template <typename T> class LockFreeQueueSlow3
1010
explicit LockFreeQueueSlow3(usize capacity)
1111
{
1212
_capacityMask = capacity - 1;
13-
_capacityMask |= _capacityMask >> 1;
14-
_capacityMask |= _capacityMask >> 2;
15-
_capacityMask |= _capacityMask >> 4;
16-
_capacityMask |= _capacityMask >> 8;
17-
_capacityMask |= _capacityMask >> 16;
18-
_capacityMask |= _capacityMask >> 32;
13+
for(usize i = 1; i <= sizeof(void*) * 4; i <<= 1)
14+
_capacityMask |= _capacityMask >> i;
1915
_capacity = _capacityMask + 1;
2016

2117
_queue = (Node*)Memory::alloc(sizeof(Node) * _capacity);

Diff for: MutexLockQueue.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ template <typename T> class MutexLockQueue
1010
explicit MutexLockQueue(usize capacity)
1111
{
1212
_capacityMask = capacity - 1;
13-
_capacityMask |= _capacityMask >> 1;
14-
_capacityMask |= _capacityMask >> 2;
15-
_capacityMask |= _capacityMask >> 4;
16-
_capacityMask |= _capacityMask >> 8;
17-
_capacityMask |= _capacityMask >> 16;
18-
_capacityMask |= _capacityMask >> 32;
13+
for(usize i = 1; i <= sizeof(void*) * 4; i <<= 1)
14+
_capacityMask |= _capacityMask >> i;
1915
_capacity = _capacityMask + 1;
2016

2117
_queue = (Node*)Memory::alloc(sizeof(Node) * _capacity);

Diff for: SpinLockQueue.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ template <typename T> class SpinLockQueue
1010
explicit SpinLockQueue(usize capacity)
1111
{
1212
_capacityMask = capacity - 1;
13-
_capacityMask |= _capacityMask >> 1;
14-
_capacityMask |= _capacityMask >> 2;
15-
_capacityMask |= _capacityMask >> 4;
16-
_capacityMask |= _capacityMask >> 8;
17-
_capacityMask |= _capacityMask >> 16;
18-
_capacityMask |= _capacityMask >> 32;
13+
for(usize i = 1; i <= sizeof(void*) * 4; i <<= 1)
14+
_capacityMask |= _capacityMask >> i;
1915
_capacity = _capacityMask + 1;
2016

2117
_queue = (Node*)Memory::alloc(sizeof(Node) * _capacity);

Diff for: mpmc_bounded_queue.h

+2-6
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,8 @@ class mpmc_bounded_queue
2626
static inline size_t nextPowerOfTwo(size_t buffer_size)
2727
{
2828
size_t result = buffer_size - 1;
29-
result |= result >> 1;
30-
result |= result >> 2;
31-
result |= result >> 4;
32-
result |= result >> 8;
33-
result |= result >> 16;
34-
result |= result >> 32;
29+
for(size_t i = 1; i <= sizeof(void*) * 4; i <<= 1)
30+
result |= result >> i;
3531
return result + 1;
3632
}
3733
public:

0 commit comments

Comments
 (0)