Lines Matching refs:original
197 struct ck_stack original, update;
199 original.generation = ck_pr_load_ptr(&target->generation);
201 original.head = ck_pr_load_ptr(&target->head);
202 if (original.head == NULL)
208 update.generation = original.generation + 1;
209 update.head = original.head->next;
211 while (ck_pr_cas_ptr_2_value(target, &original, &update, &original) == false) {
212 if (original.head == NULL)
215 update.generation = original.generation + 1;
219 update.head = original.head->next;
222 return original.head;
231 struct ck_stack original, update;
233 original.generation = ck_pr_load_ptr(&target->generation);
235 original.head = ck_pr_load_ptr(&target->head);
236 if (original.head == NULL)
239 update.generation = original.generation + 1;
241 update.head = original.head->next;
243 if (ck_pr_cas_ptr_2_value(target, &original, &update, &original) == true) {
244 *r = original.head;