// // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // #include "compiler/translator/PoolAlloc.h" #include #include "common/tls.h" TLSIndex PoolIndex = TLS_INVALID_INDEX; bool InitializePoolIndex() { assert(PoolIndex == TLS_INVALID_INDEX); PoolIndex = CreateTLSIndex(); return PoolIndex != TLS_INVALID_INDEX; } void FreePoolIndex() { assert(PoolIndex != TLS_INVALID_INDEX); DestroyTLSIndex(PoolIndex); PoolIndex = TLS_INVALID_INDEX; } angle::PoolAllocator *GetGlobalPoolAllocator() { assert(PoolIndex != TLS_INVALID_INDEX); return static_cast(GetTLSValue(PoolIndex)); } void SetGlobalPoolAllocator(angle::PoolAllocator *poolAllocator) { assert(PoolIndex != TLS_INVALID_INDEX); SetTLSValue(PoolIndex, poolAllocator); }