Home | History | Annotate | Download | only in builtins

Lines Matching refs:control

68 static __inline void *emutls_allocate_object(__emutls_control *control) {
76 size_t size = control->size;
77 size_t align = control->align;
85 if (control->value)
86 memcpy(base, control->value, size);
118 /* Returns control->object.index; set index if not allocated yet. */
119 static __inline uintptr_t emutls_get_index(__emutls_control *control) {
120 uintptr_t index = __atomic_load_n(&control->object.index, __ATOMIC_ACQUIRE);
125 index = control->object.index;
128 __atomic_store_n(&control->object.index, index, __ATOMIC_RELEASE);
177 void* __emutls_get_address(__emutls_control* control) {
178 uintptr_t index = emutls_get_index(control);
181 array->data[index - 1] = emutls_allocate_object(control);