Searched defs:pthread_mutex_init (Results 1 - 1 of 1) sorted by relevance

/system/core/libpixelflinger/codeflinger/
H A DCodeCache.cpp156 pthread_mutex_init(&mLock, 0);
86 LOG_ALWAYS_FATAL_IF(fd < 0, � �, strerror(errno)); gExecutableStore = mmap(NULL, kMaxCodeCacheCapacity, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE, fd, 0); LOG_ALWAYS_FATAL_IF(gExecutableStore == MAP_FAILED, � �, strerror(errno)); close(fd); gMspace = create_mspace_with_base(gExecutableStore, kMaxCodeCacheCapacity, false); mspace_set_footprint_limit(gMspace, kMaxCodeCacheCapacity); } return gMspace; } Assembly::Assembly(size_t size) : mCount(1), mSize(0) { mBase = (uint32_t*)mspace_malloc(getMspace(), size); LOG_ALWAYS_FATAL_IF(mBase == NULL, � �, size, kMaxCodeCacheCapacity); mSize = size; } Assembly::~Assembly() { mspace_free(getMspace(), mBase); } void Assembly::incStrong(const void*) const { android_atomic_inc(&mCount); } void Assembly::decStrong(const void*) const { if (android_atomic_dec(&mCount) == 1) { delete this; } } ssize_t Assembly::size() const { if (!mBase) return NO_MEMORY; return mSize; } uint32_t* Assembly::base() const { return mBase; } ssize_t Assembly::resize(size_t newSize) { mBase = (uint32_t*)mspace_realloc(getMspace(), mBase, newSize); LOG_ALWAYS_FATAL_IF(mBase == NULL, � �, newSize, kMaxCodeCacheCapacity); mSize = newSize; return size(); } CodeCache::CodeCache(size_t size) : mCacheSize(size), mCacheInUse(0) { pthread_mutex_init(&mLock, 0); } CodeCache::~CodeCache() { pthread_mutex_destroy(&mLock); } sp<Assembly> CodeCache::lookup(const AssemblyKeyBase& keyBase) const { pthread_mutex_lock(&mLock); sp<Assembly> r; ssize_t index = mCacheData.indexOfKey(key_t(keyBase)); if (index >= 0) argument

Completed in 141 milliseconds