Lines Matching defs:ttask
3166 ttask = (struct gomp_target_task *) data;
3167 struct gomp_device_descr *devicep = ttask->devicep;
3169 if (ttask->fn != NULL)
3174 || !(fn_addr = gomp_get_target_fn_addr (devicep, ttask->fn))
3177 ttask->state = GOMP_TARGET_TASK_FALLBACK;
3178 gomp_target_fallback (ttask->fn, ttask->hostaddrs, devicep,
3179 ttask->args);
3183 if (ttask->state == GOMP_TARGET_TASK_FINISHED)
3185 if (ttask->tgt)
3186 gomp_unmap_vars (ttask->tgt, true, NULL);
3193 ttask->tgt = NULL;
3194 actual_arguments = ttask->hostaddrs;
3198 ttask->tgt = gomp_map_vars (devicep, ttask->mapnum, ttask->hostaddrs,
3199 NULL, ttask->sizes, ttask->kinds, true,
3201 actual_arguments = (void *) ttask->tgt->tgt_start;
3203 ttask->state = GOMP_TARGET_TASK_READY_TO_RUN;
3207 ttask->args, (void *) ttask);
3216 if (ttask->flags & GOMP_TARGET_FLAG_UPDATE)
3217 gomp_update (devicep, ttask->mapnum, ttask->hostaddrs, ttask->sizes,
3218 ttask->kinds, true);
3221 htab_t refcount_set = htab_create (ttask->mapnum);
3222 if ((ttask->flags & GOMP_TARGET_FLAG_EXIT_DATA) == 0)
3223 for (i = 0; i < ttask->mapnum; i++)
3224 if ((ttask->kinds[i] & 0xff) == GOMP_MAP_STRUCT)
3226 gomp_map_vars (devicep, ttask->sizes[i] + 1, &ttask->hostaddrs[i],
3227 NULL, &ttask->sizes[i], &ttask->kinds[i], true,
3229 i += ttask->sizes[i];
3232 gomp_map_vars (devicep, 1, &ttask->hostaddrs[i], NULL, &ttask->sizes[i],
3233 &ttask->kinds[i], true, &refcount_set,
3236 gomp_exit_data (devicep, ttask->mapnum, ttask->hostaddrs, ttask->sizes,
3237 ttask->kinds, &refcount_set);