_flow_graph_tagged_buffer_impl.h | _flow_graph_tagged_buffer_impl.h | |||
---|---|---|---|---|
skipping to change at line 76 | skipping to change at line 76 | |||
private: | private: | |||
size_t my_size; | size_t my_size; | |||
size_t nelements; | size_t nelements; | |||
element_type** array; | element_type** array; | |||
std::vector<element_type, Allocator> *lists; | std::vector<element_type, Allocator> *lists; | |||
element_type* free_list; | element_type* free_list; | |||
size_t mask() { return my_size - 1; } | size_t mask() { return my_size - 1; } | |||
// #define ABYSMAL 1 | ||||
static size_t hash(TagType t) { | static size_t hash(TagType t) { | |||
#if ABYSMAL | ||||
return (size_t)1; | ||||
#else | ||||
#if __TBB_WORDSIZE == 4 | #if __TBB_WORDSIZE == 4 | |||
return uintptr_t(t)*0x9E3779B9; | return uintptr_t(t)*0x9E3779B9; | |||
#else | #else | |||
return uintptr_t(t)*0x9E3779B97F4A7C15; | return uintptr_t(t)*0x9E3779B97F4A7C15; | |||
#endif | #endif | |||
#endif | ||||
} | } | |||
void set_up_free_list( element_type **p_free_list, list_array_type *la, size_t sz) { | void set_up_free_list( element_type **p_free_list, list_array_type *la, size_t sz) { | |||
for(size_t i=0; i < sz - 1; ++i ) { // construct free list | for(size_t i=0; i < sz - 1; ++i ) { // construct free list | |||
(*la)[i].next = &((*la)[i+1]); | (*la)[i].next = &((*la)[i+1]); | |||
(*la)[i].t = NO_TAG; | (*la)[i].t = NO_TAG; | |||
} | } | |||
(*la)[sz-1].next = NULL; | (*la)[sz-1].next = NULL; | |||
*p_free_list = &((*la)[0]); | *p_free_list = &((*la)[0]); | |||
} | } | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 0 lines changed or added | |||