zenilib: zenilib/jni/external/angle/src/compiler/InitializeParseContext.cpp Source File

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
InitializeParseContext.cpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6
7 #include "compiler/InitializeParseContext.h"
8
9 #include "compiler/osinclude.h"
10
11 OS_TLSIndex GlobalParseContextIndex = OS_INVALID_TLS_INDEX;
12
13 bool InitializeParseContextIndex()
14 {
15 assert(GlobalParseContextIndex == OS_INVALID_TLS_INDEX);
16
17 GlobalParseContextIndex = OS_AllocTLSIndex();
18 return GlobalParseContextIndex != OS_INVALID_TLS_INDEX;
19 }
20
21 void FreeParseContextIndex()
22 {
23 assert(GlobalParseContextIndex != OS_INVALID_TLS_INDEX);
24
25 OS_FreeTLSIndex(GlobalParseContextIndex);
26 GlobalParseContextIndex = OS_INVALID_TLS_INDEX;
27 }
28
29 void SetGlobalParseContext(TParseContext* context)
30 {
31 assert(GlobalParseContextIndex != OS_INVALID_TLS_INDEX);
32 OS_SetTLSValue(GlobalParseContextIndex, context);
33 }
34
35 TParseContext* GetGlobalParseContext()
36 {
37 assert(GlobalParseContextIndex != OS_INVALID_TLS_INDEX);
38 return static_cast< TParseContext*>(OS_GetTLSValue(GlobalParseContextIndex));
39 }
40
FreeParseContextIndex
void FreeParseContextIndex()
Definition: InitializeParseContext.cpp:21
InitializeParseContextIndex
bool InitializeParseContextIndex()
Definition: InitializeParseContext.cpp:13
TParseContext
Definition: ParseHelper.h:27
GetGlobalParseContext
TParseContext * GetGlobalParseContext()
Definition: InitializeParseContext.cpp:35
OS_FreeTLSIndex
bool OS_FreeTLSIndex(OS_TLSIndex nIndex)
Definition: ossource_posix.cpp:50
assert
#define assert(x)
Definition: SDL_malloc.c:1234
GlobalParseContextIndex
OS_TLSIndex GlobalParseContextIndex
Definition: InitializeParseContext.cpp:11
osinclude.h
OS_SetTLSValue
bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue)
Definition: ossource_posix.cpp:36
SetGlobalParseContext
void SetGlobalParseContext(TParseContext *context)
Definition: InitializeParseContext.cpp:29
OS_AllocTLSIndex
OS_TLSIndex OS_AllocTLSIndex()
Definition: ossource_posix.cpp:19
context
TParseContext * context
Definition: glslang_tab.cpp:1907
InitializeParseContext.h
OS_GetTLSValue
void * OS_GetTLSValue(OS_TLSIndex nIndex)
Definition: osinclude.h:55