ObjectCache
struct ObjectCache;
typedef struct ObjectCache object_cache;
operator new(size_t size, ObjectCache* objectCache, uint32 flags) throw()
object_cache_delete(ObjectCache* objectCache, Type* object, uint32 flags = 0)
struct ObjectCache;
extern ObjectCache* gCacheRefObjectCache;
extern ObjectCache* gAnonymousCacheObjectCache;
extern ObjectCache* gAnonymousNoSwapCacheObjectCache;
extern ObjectCache* gVnodeCacheObjectCache;
extern ObjectCache* gDeviceCacheObjectCache;
extern ObjectCache* gNullCacheObjectCache;
ObjectCache* cache = new ObjectCache;
struct HashedObjectCache final : ObjectCache {
ObjectCache* fCache;
ObjectCache* cache = (ObjectCache*)reference;
MemoryManager::Allocate(ObjectCache* cache, uint32 flags, void*& _pages)
/*static*/ ObjectCache*
return (ObjectCache*)reference;
/*static*/ ObjectCache*
ObjectCache* cache = (ObjectCache*)reference;
/*static*/ ObjectCache*
Allocate(ObjectCache* cache, uint32 flags)
return (reference & 1) == 0 ? (ObjectCache*)reference : NULL;
/*static*/ ObjectCache*
return (ObjectCache*)reference;
struct ObjectCache;
static status_t Allocate(ObjectCache* cache, uint32 flags,
static ObjectCache* FreeRawOrReturnCache(void* pages,
static ObjectCache* GetAllocationInfo(void* address,
static ObjectCache* CacheForAddress(void* address);
static ObjectCache* DebugObjectCacheForAddress(void* address);
ObjectCache::InitSlab(slab* slab, void* pages, size_t byteCount, uint32 flags)
ObjectCache::UninitSlab(slab* slab)
ObjectCache::ReturnObjectToSlab(slab* source, void* object, uint32 flags)
ObjectCache::ObjectAtIndex(slab* source, int32 index) const
ObjectCache::AssertObjectNotFreed(void* object)
ObjectCache::AllocateTrackingInfos(slab* slab, size_t byteCount, uint32 flags)
ObjectCache* cache = (ObjectCache*)cookie;
ObjectCache::FreeTrackingInfos(slab* slab, uint32 flags)
ObjectCache::TrackingInfoFor(void* object) const
ObjectCache::~ObjectCache()
ObjectCache::Init(const char* name, size_t objectSize, size_t alignment,
check_cache_quota(ObjectCache* cache)
ObjectCache::AllocateTrackingInfos(slab* slab, size_t byteCount, uint32 flags)
ObjectCache::FreeTrackingInfos(slab* slab, uint32 flags)
struct ObjectCache : DoublyLinkedListLinkImpl<ObjectCache> {
DoublyLinkedListLink<ObjectCache> maintenance_link;
virtual ~ObjectCache();
ObjectCache* firstCache = sObjectCaches.RemoveHead();
ObjectCache* cache;
ObjectCache* cache = sMaintenanceQueue.RemoveHead();
ObjectCacheTraceEntry(ObjectCache* cache)
ObjectCache* cache = (ObjectCache*)
kernel_guarded_heap.memalign(0, sizeof(ObjectCache), flags);
memset((void*)cache, 0, sizeof(ObjectCache));
ObjectCache* cache;
ObjectCache* fCache;
ObjectCache* cache)
Delete(ObjectCache* cache)
Alloc(ObjectCache* cache, uint32 flags, void* object)
Free(ObjectCache* cache, void* object)
Reserve(ObjectCache* cache, size_t count, uint32 flags)
ObjectCache* cache = it.Next();
ObjectCache* cache = (ObjectCache*)parse_expression(argv[1]);
ObjectCache* cache = MemoryManager::DebugObjectCacheForAddress(object);
typedef DoublyLinkedList<ObjectCache> ObjectCacheList;
typedef DoublyLinkedList<ObjectCache,
DoublyLinkedListMemberGetLink<ObjectCache, &ObjectCache::maintenance_link> >
analyze_allocation_callers(ObjectCache* cache, slab* slab,
analyze_allocation_callers(ObjectCache* cache, const SlabList& slabList,
analyze_allocation_callers(ObjectCache* cache,
ObjectCache* cache = NULL;
cache = (ObjectCache*)(addr_t)cacheAddress;
ObjectCache* cache = NULL;
cache = (ObjectCache*)(addr_t)cacheAddress;
add_alloc_tracing_entry(ObjectCache* cache, uint32 flags, void* object)
increase_object_reserve(ObjectCache* cache)
object_cache_reserve_internal(ObjectCache* cache, size_t objectCount,
struct SmallObjectCache final : ObjectCache {
ObjectCache* cache = MemoryManager::FreeRawOrReturnCache(block, flags);
ObjectCache* cache = MemoryManager::GetAllocationInfo(address, oldSize);
ObjectCache* gCacheRefObjectCache;
ObjectCache* gAnonymousCacheObjectCache;
ObjectCache* gAnonymousNoSwapCacheObjectCache;
ObjectCache* gVnodeCacheObjectCache;
ObjectCache* gDeviceCacheObjectCache;
ObjectCache* gNullCacheObjectCache;
struct ObjectCache;
ObjectCache* fAreaObjectCache;
ObjectCache* fRangesObjectCache;
uint32 wiring, uint32 protection, ObjectCache* objectCache,
uint32 protection, ObjectCache* objectCache,
struct ObjectCache;
static ObjectCache** sPageMappingsObjectCaches;
ObjectCache(const char *name, size_t objectSize,
return new(std::nothrow) ObjectCache(name, objectSize, alignment,