reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1347 al = (kmp_allocator_t *)__kmp_allocate(sizeof(kmp_allocator_t)); // zeroed 1348 al->memspace = ms; // not used currently 1356 al->alignment = traits[i].value; 1357 KMP_ASSERT(IS_POWER_OF_TWO(al->alignment)); 1360 al->pool_size = traits[i].value; 1363 al->fb = (omp_alloctrait_value_t)traits[i].value; 1369 al->fb_data = RCAST(kmp_allocator_t *, traits[i].value); 1372 al->memkind = RCAST(void **, traits[i].value); 1378 if (al->fb == 0) { 1380 al->fb = OMP_ATV_DEFAULT_MEM_FB; 1381 al->fb_data = (kmp_allocator_t *)omp_default_mem_alloc; 1382 } else if (al->fb == OMP_ATV_ALLOCATOR_FB) { 1383 KMP_ASSERT(al->fb_data != NULL); 1384 } else if (al->fb == OMP_ATV_DEFAULT_MEM_FB) { 1385 al->fb_data = (kmp_allocator_t *)omp_default_mem_alloc; 1390 if (al->memkind == (void *)OMP_ATV_INTERLEAVED && mk_hbw_interleave) { 1391 al->memkind = mk_hbw_interleave; 1398 al->memkind = mk_hbw_preferred; 1401 __kmp_free(al); 1405 if (al->memkind == (void *)OMP_ATV_INTERLEAVED && mk_interleave) { 1406 al->memkind = mk_interleave; 1408 al->memkind = mk_default; 1414 __kmp_free(al); 1418 return (omp_allocator_handle_t)al;