Lines Matching refs:thunk

86 static void __kmp_taskq_check_ordered(kmp_int32 gtid, kmpc_thunk_t *thunk) {  in __kmp_taskq_check_ordered()  argument
94 my_token = thunk->th_tasknum; in __kmp_taskq_check_ordered()
96 taskq = thunk->th.th_shareds->sv_queue; in __kmp_taskq_check_ordered()
141 static void __kmp_dump_thunk(kmp_taskq_t *tq, kmpc_thunk_t *thunk, in __kmp_dump_thunk() argument
146 __kmp_printf("\tThunk at %p on (%d): ", thunk, global_tid); in __kmp_dump_thunk()
148 if (thunk != NULL) { in __kmp_dump_thunk()
150 if (tq->tq_curr_thunk[i] == thunk) { in __kmp_dump_thunk()
154 __kmp_printf("th_shareds=%p, ", thunk->th.th_shareds); in __kmp_dump_thunk()
155 __kmp_printf("th_task=%p, ", thunk->th_task); in __kmp_dump_thunk()
156 __kmp_printf("th_encl_thunk=%p, ", thunk->th_encl_thunk); in __kmp_dump_thunk()
157 __kmp_printf("th_status=%d, ", thunk->th_status); in __kmp_dump_thunk()
158 __kmp_printf("th_tasknum=%u, ", thunk->th_tasknum); in __kmp_dump_thunk()
160 __kmp_dump_TQF(thunk->th_flags); in __kmp_dump_thunk()
166 static void __kmp_dump_thunk_stack(kmpc_thunk_t *thunk, kmp_int32 thread_num) { in __kmp_dump_thunk_stack() argument
171 for (th = thunk; th != NULL; th = th->th_encl_thunk) in __kmp_dump_thunk_stack()
180 kmpc_thunk_t *thunk; in __kmp_dump_task_queue() local
236 for (thunk = queue->tq_free_thunks; thunk != NULL; in __kmp_dump_task_queue()
237 thunk = thunk->th.th_next_free) in __kmp_dump_task_queue()
238 __kmp_printf("%p ", thunk); in __kmp_dump_task_queue()
658 kmpc_thunk_t *thunk, int in_parallel) { in __kmp_enqueue_task() argument
672 queue->tq_queue[(queue->tq_head)++].qs_thunk = thunk; in __kmp_enqueue_task()
1021 kmpc_thunk_t *thunk; in __kmp_remove_queue_from_tree() local
1084 for (thunk = queue->tq_free_thunks; thunk != NULL; in __kmp_remove_queue_from_tree()
1085 thunk = thunk->th.th_next_free) in __kmp_remove_queue_from_tree()
1197 kmpc_thunk_t *thunk, in __kmp_execute_task_from_queue() argument
1199 kmpc_task_queue_t *queue = thunk->th.th_shareds->sv_queue; in __kmp_execute_task_from_queue()
1203 KF_DUMP(100, __kmp_dump_thunk(tq, thunk, global_tid)); in __kmp_execute_task_from_queue()
1221 if (!(thunk->th_flags & TQF_TASKQ_TASK)) { in __kmp_execute_task_from_queue()
1223 thunk->th.th_shareds = in __kmp_execute_task_from_queue()
1238 thunk->th_encl_thunk = tq->tq_curr_thunk[tid]; in __kmp_execute_task_from_queue()
1239 tq->tq_curr_thunk[tid] = thunk; in __kmp_execute_task_from_queue()
1244 KF_TRACE(50, ("Begin Executing Thunk %p from queue %p on (%d)\n", thunk, in __kmp_execute_task_from_queue()
1246 thunk->th_task(global_tid, thunk); in __kmp_execute_task_from_queue()
1247 KF_TRACE(50, ("End Executing Thunk %p from queue %p on (%d)\n", thunk, queue, in __kmp_execute_task_from_queue()
1250 if (!(thunk->th_flags & TQF_TASKQ_TASK)) { in __kmp_execute_task_from_queue()
1258 tq->tq_curr_thunk[tid] = thunk->th_encl_thunk; in __kmp_execute_task_from_queue()
1259 thunk->th_encl_thunk = NULL; in __kmp_execute_task_from_queue()
1263 if ((thunk->th_flags & TQF_IS_ORDERED) && in_parallel) { in __kmp_execute_task_from_queue()
1264 __kmp_taskq_check_ordered(global_tid, thunk); in __kmp_execute_task_from_queue()
1267 __kmp_free_thunk(queue, thunk, in_parallel, global_tid); in __kmp_execute_task_from_queue()
1270 global_tid, thunk)); in __kmp_execute_task_from_queue()
1524 kmpc_thunk_t *thunk; in __kmpc_end_taskq() local
1570 (thunk = __kmp_find_task_in_queue(global_tid, queue)) != NULL) { in __kmpc_end_taskq()
1571 KF_TRACE(50, ("Found thunk: %p in primary queue %p (%d)\n", thunk, in __kmpc_end_taskq()
1573 __kmp_execute_task_from_queue(tq, loc, global_tid, thunk, in_parallel); in __kmpc_end_taskq()
1578 (thunk = __kmp_find_task_in_descendant_queue(global_tid, queue)) != in __kmpc_end_taskq()
1584 thunk, thunk->th.th_shareds->sv_queue, queue, global_tid)); in __kmpc_end_taskq()
1586 __kmp_execute_task_from_queue(tq, loc, global_tid, thunk, in_parallel); in __kmpc_end_taskq()
1599 (thunk = __kmp_find_task_in_descendant_queue(global_tid, queue)) != in __kmpc_end_taskq()
1604 thunk, thunk->th.th_shareds->sv_queue, queue, global_tid)); in __kmpc_end_taskq()
1606 __kmp_execute_task_from_queue(tq, loc, global_tid, thunk, in_parallel); in __kmpc_end_taskq()
1636 thunk = __kmp_find_task_in_ancestor_queue(tq, global_tid, queue); in __kmpc_end_taskq()
1638 if (thunk != NULL) { in __kmpc_end_taskq()
1642 thunk, thunk->th.th_shareds->sv_queue, queue, global_tid)); in __kmpc_end_taskq()
1643 __kmp_execute_task_from_queue(tq, loc, global_tid, thunk, in __kmpc_end_taskq()
1647 KMP_YIELD_WHEN(thunk == NULL, spins); in __kmpc_end_taskq()
1676 thunk = __kmp_find_task_in_descendant_queue(global_tid, queue); in __kmpc_end_taskq()
1678 if (thunk != NULL) { in __kmpc_end_taskq()
1682 thunk, thunk->th.th_shareds->sv_queue, queue, global_tid)); in __kmpc_end_taskq()
1684 __kmp_execute_task_from_queue(tq, loc, global_tid, thunk, in_parallel); in __kmpc_end_taskq()
1687 KMP_YIELD_WHEN(thunk == NULL, spins); in __kmpc_end_taskq()
1719 for (i = 0, thunk = queue->tq_free_thunks; thunk != NULL; in __kmpc_end_taskq()
1720 i++, thunk = thunk->th.th_next_free) in __kmpc_end_taskq()
1760 thunk = __kmp_dequeue_task(global_tid, queue, in_parallel); in __kmpc_end_taskq()
1768 thunk->th_flags |= TQF_IS_LAST_TASK; in __kmpc_end_taskq()
1772 thunk, queue)); in __kmpc_end_taskq()
1774 __kmp_execute_task_from_queue(tq, loc, global_tid, thunk, in_parallel); in __kmpc_end_taskq()
1784 for (thunk = queue->tq_free_thunks; thunk != NULL; in __kmpc_end_taskq()
1785 thunk = thunk->th.th_next_free) in __kmpc_end_taskq()
1803 kmp_int32 __kmpc_task(ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *thunk) { in __kmpc_task() argument
1811 KMP_DEBUG_ASSERT(!(thunk->th_flags & in __kmpc_task()
1815 queue = thunk->th.th_shareds->sv_queue; in __kmpc_task()
1818 if (in_parallel && (thunk->th_flags & TQF_IS_ORDERED)) in __kmpc_task()
1819 thunk->th_tasknum = ++queue->tq_tasknum_queuing; in __kmpc_task()
1845 KF_DUMP(100, __kmp_dump_thunk(tq, thunk, global_tid)); in __kmpc_task()
1847 ret = __kmp_enqueue_task(tq, global_tid, queue, thunk, in_parallel); in __kmpc_task()
1860 void __kmpc_taskq_task(ident_t *loc, kmp_int32 global_tid, kmpc_thunk_t *thunk, in __kmpc_taskq_task() argument
1868 KF_DUMP(100, __kmp_dump_thunk(tq, thunk, global_tid)); in __kmpc_taskq_task()
1870 queue = thunk->th.th_shareds->sv_queue; in __kmpc_taskq_task()
1876 KMP_DEBUG_ASSERT(thunk->th_flags & TQF_TASKQ_TASK); in __kmpc_taskq_task()
1882 tq->tq_curr_thunk[tid] = thunk->th_encl_thunk; in __kmpc_taskq_task()
1883 thunk->th_encl_thunk = NULL; in __kmpc_taskq_task()
1887 thunk->th_status = status; in __kmpc_taskq_task()
1896 queue->tq_taskq_slot = thunk; in __kmpc_taskq_task()
1904 kmpc_thunk_t *thunk) { in __kmpc_end_taskq_task() argument
1913 queue = thunk->th.th_shareds->sv_queue; in __kmpc_end_taskq_task()
1938 if (thunk->th_flags & TQF_IS_LASTPRIVATE) { in __kmpc_end_taskq_task()
1975 tq->tq_curr_thunk[tid] = thunk->th_encl_thunk; in __kmpc_end_taskq_task()
1976 thunk->th_encl_thunk = NULL; in __kmpc_end_taskq_task()