Lines Matching refs:p

38 inline bool is_valid_page(const Page p) {  in is_valid_page()  argument
39 return reinterpret_cast<std::uintptr_t>(p) > 1; in is_valid_page()
112 padded_page*& p ) { in prepare_page() argument
113 __TBB_ASSERT(p == nullptr, "Invalid page argument for prepare_page"); in prepare_page()
118 p = page_allocator_traits::allocate(page_allocator, 1); in prepare_page()
123 page_allocator_traits::construct(page_allocator, p); in prepare_page()
129 if (p) { in prepare_page()
133 q->next = p; in prepare_page()
135 head_page.store(p, std::memory_order_relaxed); in prepare_page()
137 tail_page.store(p, std::memory_order_relaxed); in prepare_page()
139 p = tail_page.load(std::memory_order_relaxed); in prepare_page()
147 padded_page* p = nullptr; in push() local
149 size_type index = prepare_page(k, base, page_allocator, p); in push()
150 __TBB_ASSERT(p != nullptr, "Page was not prepared"); in push()
160 page_allocator_traits::construct(page_allocator, &(*p)[index], std::forward<Args>(args)...); in push()
162p->mask.store(p->mask.load(std::memory_order_relaxed) | uintptr_t(1) << index, std::memory_order_r… in push()
170 padded_page* p = nullptr; in abort_push() local
171 prepare_page(k, base, allocator, p); in abort_push()
182 padded_page *p = head_page.load(std::memory_order_relaxed); in pop() local
183 __TBB_ASSERT( p, nullptr ); in pop()
189 k + queue_rep_type::n_queue, index == items_per_page - 1 ? p : nullptr ); in pop()
190 if (p->mask.load(std::memory_order_relaxed) & (std::uintptr_t(1) << index)) { in pop()
192 assign_and_destroy_item(dst, *p, index); in pop()
371 micro_queue_pop_finalizer( Container& queue, Allocator& alloc, ticket_type k, padded_page* p ) : in micro_queue_pop_finalizer() argument
372 my_ticket_type(k), my_queue(queue), my_page(p), allocator(alloc) in micro_queue_pop_finalizer()
379 padded_page* p = my_page; in ~micro_queue_pop_finalizer() local
380 if( is_valid_page(p) ) { in ~micro_queue_pop_finalizer()
382 padded_page* q = p->next; in ~micro_queue_pop_finalizer()
389 if ( is_valid_page(p) ) { in ~micro_queue_pop_finalizer()
390 allocator_traits_type::destroy(allocator, static_cast<padded_page*>(p)); in ~micro_queue_pop_finalizer()
391 allocator_traits_type::deallocate(allocator, static_cast<padded_page*>(p), 1); in ~micro_queue_pop_finalizer()
571 padded_page* p = my_array[queue_rep_type::index(k)]; in get_item() local
572 __TBB_ASSERT(p, nullptr); in get_item()
574 item = &(*p)[i]; in get_item()
575 return (p->mask & uintptr_t(1) << i) != 0; in get_item()