Lines Matching refs:control
290 static __inline void *emutls_allocate_object(__emutls_control *control) {
295 size_t size = control->size;
296 size_t align = control->align;
305 if (control->value)
306 memcpy(base, control->value, size);
312 // Returns control->object.index; set index if not allocated yet.
313 static __inline uintptr_t emutls_get_index(__emutls_control *control) {
314 uintptr_t index = __atomic_load_n(&control->object.index, __ATOMIC_ACQUIRE);
318 index = control->object.index;
321 __atomic_store_n(&control->object.index, index, __ATOMIC_RELEASE);
378 void *__emutls_get_address(__emutls_control *control) {
379 uintptr_t index = emutls_get_index(control);
382 array->data[index] = emutls_allocate_object(control);