MCPcopy Create free account
hub / github.com/couchbase/fleece / alloc

Method alloc

Fleece/Support/ConcurrentArena.cc:46–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44
45
46 __hot
47 void* ConcurrentArena::alloc(size_t size) {
48 uint8_t *result, *newNext, *nextBlock = _nextBlock;
49 do {
50 result = nextBlock;
51 newNext = nextBlock + size;
52 if (newNext > _heapEnd)
53 return nullptr; // overflow
54 } while (!_nextBlock.compare_exchange_weak(nextBlock, newNext, memory_order_acq_rel));
55 return result;
56 }
57
58
59 __hot

Callers 2

allocKeyMethod · 0.80
allocateMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected