H A D | CFStorage.c | 32 ??? Currently elementSize cannot be greater than storage->maxLeafCapacity, which is less than or equal to __CFStorageMaxLeafCapacity 83 /* Each node in the storage. isLeaf determines whether the node is a leaf node or a node inside the tree. If latter, number of children are determined by the number of non-NULL entries in child[]. (NULL entries are at the end.) 94 CFRange cachedRange; //the absolute range of this node, in "value" units. This is valid only if this node is referenced by storage->cacheNode, and used by the cache. In general this is not valid, and the offset needs to be passed down from the tree 142 /* Allocates the memory and initializes the capacity in a leaf. This locks not for mutations (mutations are not thread-safe in general), but for lazy allocation of storage during reading. 144 CF_INLINE void __CFStorageAllocLeafNodeMemory(CFAllocatorRef allocator, CFStorageRef storage, CFStorageNode *node, CFIndex cap, bool compact) { argument 147 if (cap > storage->maxLeafCapacity) cap = storage->maxLeafCapacity; 153 __CFSpinLock(&(storage->cacheReaderMemoryAllocationLock)); 156 __CFAssignWithWriteBarrier((void **)&node->info.leaf.memory, _CFAllocatorReallocateGC(allocator, node->info.leaf.memory, cap, storage->nodeHint)); // This will free... 160 __CFSpinUnlock(&(storage 178 __CFStorageConvertByteToValue(ConstCFStorageRef storage, CFIndex byte) argument 185 __CFStorageConvertBytesToValueRange(ConstCFStorageRef storage, CFIndex offset, CFIndex length) argument 192 __CFStorageConvertValueToByte(ConstCFStorageRef storage, CFIndex value) argument 199 __CFStorageConvertValuesToByteRange(ConstCFStorageRef storage, CFIndex offset, CFIndex length) argument 222 __CFStorageReleaseNode(CFStorageRef storage, CFStorageNode *node) argument 231 __CFStorageReleaseNodeWithNullCheck(CFStorageRef storage, CFStorageNode *node) argument 235 __CFStorageDeallocateNode(CFStorageRef storage, CFStorageNode *node) argument 252 __CFStorageThawNodeDuringMutation(CFStorageRef storage, CFStorageNode *node) argument 283 __CFStorageSetCache(CFStorageRef storage, CFStorageNode *node, CFIndex locInBytes) argument 294 __CFStorageGetFromCache(CFStorageRef storage, CFIndex loc, CFRange * restrict validConsecutiveValueRange, bool requireUnfrozenNode) argument 306 __CFStorageAllocLeafNodeMemory(CFGetAllocator(storage), storage, cachedNode, cachedNode->numBytes, false); local 355 __CFStorageFindByte(CFStorageRef storage, CFStorageNode *node, CFIndex byteNum, CFIndex absoluteByteOffsetOfNode, CFStorageNode **resultNode, CFRange *validConsecutiveByteRange, bool requireUnfreezing) argument 359 __CFStorageAllocLeafNodeMemory(CFGetAllocator(storage), storage, node, node->numBytes, false); local 380 __CFStorageGetValueAtIndex(CFStorageRef storage, CFIndex idx, CFRange *validConsecutiveValueRange, bool requireUnfreezing) argument 409 __CFStorageCreateNode(CFAllocatorRef allocator, CFStorageRef storage, bool isLeaf, CFIndex numBytes) argument 429 __CFStorageCopyNode(CFStorageRef storage, const CFStorageNode *node) argument 476 __CFStorageDeleteLeafFrozen(CFAllocatorRef allocator, CFStorageRef storage, const CFStorageNode *node, CFRange range) argument 503 __CFStoragePopulateBranchChildrenAfterDeletion(CFAllocatorRef allocator, CFStorageRef storage, const CFStorageNode *node, CFRange range, CFStorageNode *newChildren[3], bool childrenAreDefinitelyFrozen, bool compact) argument 548 __CFStorageDeleteBranchFrozen(CFAllocatorRef allocator, CFStorageRef storage, const CFStorageNode *node, CFRange range) argument 580 __CFStorageDeleteFrozen(CFAllocatorRef allocator, CFStorageRef storage, const CFStorageNode *node, CFRange range) argument 593 __CFStorageDeleteUnfrozen(CFAllocatorRef allocator, CFStorageRef storage, CFStorageNode *node, CFRange range, bool compact, bool isRootNode) argument 642 __CFStorageInsertLeafFrozen(CFAllocatorRef allocator, CFStorageRef storage, const CFStorageNode *node, CFIndex byteNum, CFIndex size, CFIndex absoluteByteNum) argument 708 __CFStorageInsertBranchFrozen(CFAllocatorRef allocator, CFStorageRef storage, const CFStorageNode *node, CFIndex byteNum, CFIndex size, CFIndex absoluteByteNum) argument 755 __CFStorageInsertFrozen(CFAllocatorRef allocator, CFStorageRef storage, const CFStorageNode *node, CFIndex byteNum, CFIndex size, CFIndex absoluteByteNum) argument 768 __CFStorageInsertLeafUnfrozen(CFAllocatorRef allocator, CFStorageRef storage, CFStorageNode *node, CFIndex byteNum, CFIndex size, CFIndex absoluteByteNum) argument 821 __CFStorageInsertBranchUnfrozen(CFAllocatorRef allocator, CFStorageRef storage, CFStorageNode *node, CFIndex byteNum, CFIndex size, CFIndex absoluteByteNum) argument 876 __CFStorageInsertUnfrozen(CFAllocatorRef allocator, CFStorageRef storage, CFStorageNode *node, CFIndex byteNum, CFIndex size, CFIndex absoluteByteNum) argument 887 __CFStorageInsert(CFAllocatorRef allocator, CFStorageRef storage, CFStorageNode *node, CFIndex byteNum, CFIndex size, CFIndex absoluteByteNum) argument 896 __CFStorageDelete(CFAllocatorRef allocator, CFStorageRef storage, CFStorageNode *node, CFRange range, bool compact) argument 908 __CFStorageGetCount(CFStorageRef storage) argument 966 __CFStorageGetCapacity(CFStorageRef storage) argument 970 __CFStorageGetValueSize(CFStorageRef storage) argument 975 CFStorageRef storage = (CFStorageRef)cf; local 985 __CFStorageEnumerateNodesInByteRangeWithBlock(CFStorageRef storage, CFStorageNode *node, CFIndex globalOffsetOfNode, CFRange range, CFIndex concurrencyToken, CFStorageApplierBlock applier) argument 991 __CFStorageAllocLeafNodeMemory(CFGetAllocator(storage), storage, node, node->numBytes, false); local 1043 _CFStorageFindNodeContainingByteRange(ConstCFStorageRef storage, const CFStorageNode *node, CFRange nodeRange, CFIndex globalOffsetOfNode, CFRange *outGlobalByteRangeOfResult) argument 1066 __CFStorageClearRootNode(CFStorageRef storage) argument 1088 CFStorageRef storage = (CFStorageRef)cf; local 1115 CFStorageRef storage; local 1159 const ConstCFStorageRef storage = mutStorage; //we expect this to never modify the storage, so use a const variable to help enforce that local 1211 CFStorageGetCount(CFStorageRef storage) argument 1218 CFStorageGetValueAtIndex(CFStorageRef storage, CFIndex idx, CFRange *validConsecutiveValueRange) argument 1223 CFStorageGetConstValueAtIndex(CFStorageRef storage, CFIndex idx, CFRange *validConsecutiveValueRange) argument 1232 CFStorageInsertValues(CFStorageRef storage, CFRange range) argument 1272 CFStorageDeleteValues(CFStorageRef storage, CFRange range) argument 1328 CFStorageGetValues(CFStorageRef storage, CFRange range, void *values) argument 1342 _CFStorageFastEnumeration(CFStorageRef storage, struct __objcFastEnumerationStateEquivalent *state, void *stackbuffer, unsigned long count) argument 1354 CFStorageApplyFunction(CFStorageRef storage, CFRange range, CFStorageApplierFunction applier, void *context) argument 1365 CFStorageApplyBlock(CFStorageRef storage, CFRange range, CFStorageEnumerationOptionFlags options, CFStorageApplierBlock applier) argument 1376 CFStorageReplaceValues(CFStorageRef storage, CFRange range, const void *values) argument 1392 __CFStorageApplyNodeBlockInterior(CFStorageRef storage, CFStorageNode *node, void (^block)(CFStorageRef storage, CFStorageNode *node)) argument 1402 __CFStorageApplyNodeBlock(CFStorageRef storage, void (^block)(CFStorageRef storage, CFStorageNode *node)) argument 1407 __CFStorageEstimateTotalAllocatedSize(CFStorageRef storage) argument 1421 __CFStorageSetAlwaysFrozen(CFStorageRef storage, bool alwaysFrozen) argument 1425 __CFStorageCheckNodeCachedLengthIntegrity(ConstCFStorageRef storage, const CFStorageNode *node) argument 1444 __CFStorageCheckNodeIntegrity(ConstCFStorageRef storage, const CFStorageNode *node) argument 1455 __CFStorageCheckIntegrity(CFStorageRef storage) argument 1474 _CFStorageSetWeak(CFStorageRef storage) argument [all...] |