Lines Matching refs:tail
195 // We process ops in chain b from head to tail. We attempt to merge with nodes in a, starting
196 // at chain a's tail and working toward the head. We produce one of the following outcomes:
199 // 3) b's head is popped from chain a and added at the tail of a.
200 // After result 3 we don't want to attempt to merge the next head of b with the new tail of a,
202 // original tail of a and start our iteration of a there. We also track the bounds of the nodes
203 // appended to chain a that will be skipped for bounds testing. If the original tail of a is
204 // merged into an op in b (case 2) then we advance the "original tail" towards the head of a.
205 GrOp* origATail = chainA.tail();
210 bool noSkip = (origATail == chainA.tail());
217 (a == chainA.tail()) || can_reorder(a->bounds(), forwardMergeBounds);
259 // tail of a.
262 skipBounds.joinNonEmptyArg(chainA.tail()->bounds());
296 switch (fList.tail()->combineIfPossible(list->head(), opsTaskArena, caps))
314 list->tail()->name(), list->tail()->uniqueID(), list->head()->name(),
316 GR_AUDIT_TRAIL_OPS_RESULT_COMBINED(auditTrail, fList.tail(), list->head());