Lines Matching refs:ed
158 void offer_work(typename Partitioner::split_type& split_obj, execution_data& ed) { in offer_work()
159 offer_work_impl(ed, *this, split_obj); in offer_work()
162 void offer_work(const Range& r, depth_t d, execution_data& ed) { in offer_work()
163 offer_work_impl(ed, *this, r, d); in offer_work()
168 void offer_work_impl(execution_data& ed, Args&&... args) { in offer_work_impl()
171 auto right_child = alloc.new_object<start_reduce>(ed, std::forward<Args>(args)..., alloc); in offer_work_impl()
174 …right_child->my_parent = my_parent = alloc.new_object<tree_node_type>(ed, my_parent, 2, *my_body, … in offer_work_impl()
177 right_child->spawn_self(ed); in offer_work_impl()
180 void spawn_self(execution_data& ed) { in spawn_self()
181 my_partition.spawn_task(*this, *context(ed)); in spawn_self()
187 void start_reduce<Range, Body, Partitioner>::finalize(const execution_data& ed) { in finalize() argument
194 fold_tree<tree_node_type>(parent, ed); in finalize()
195 allocator.deallocate(this, ed); in finalize()
200 task* start_reduce<Range,Body,Partitioner>::execute(execution_data& ed) { in execute() argument
201 if (!is_same_affinity(ed)) { in execute()
202 my_partition.note_affinity(execution_slot(ed)); in execute()
204 my_partition.check_being_stolen(*this, ed); in execute()
216 my_partition.execute(*this, my_range, ed); in execute()
218 finalize(ed); in execute()
224 task* start_reduce<Range, Body, Partitioner>::cancel(execution_data& ed) { in cancel() argument
225 finalize(ed); in cancel()
303 void offer_work(typename Partitioner::split_type& split_obj, execution_data& ed) { in offer_work()
304 offer_work_impl(ed, *this, split_obj); in offer_work()
308 void offer_work_impl(execution_data& ed, Args&&... args) { in offer_work_impl()
311 auto new_tree_node = alloc.new_object<tree_node_type>(ed, my_parent, 2, my_body, alloc); in offer_work_impl()
314 …auto right_child = alloc.new_object<start_deterministic_reduce>(ed, std::forward<Args>(args)..., n… in offer_work_impl()
319 right_child->spawn_self(ed); in offer_work_impl()
322 void spawn_self(execution_data& ed) { in spawn_self()
323 my_partition.spawn_task(*this, *context(ed)); in spawn_self()
329 void start_deterministic_reduce<Range, Body, Partitioner>::finalize(const execution_data& ed) { in finalize() argument
337 fold_tree<tree_node_type>(parent, ed); in finalize()
338 allocator.deallocate(this, ed); in finalize()
343 task* start_deterministic_reduce<Range,Body,Partitioner>::execute(execution_data& ed) { in execute() argument
344 if (!is_same_affinity(ed)) { in execute()
345 my_partition.note_affinity(execution_slot(ed)); in execute()
347 my_partition.check_being_stolen(*this, ed); in execute()
349 my_partition.execute(*this, my_range, ed); in execute()
351 finalize(ed); in execute()
357 task* start_deterministic_reduce<Range, Body, Partitioner>::cancel(execution_data& ed) { in cancel() argument
358 finalize(ed); in cancel()