Lines Matching refs:heap_array
471 static void auxtrace_heapify(struct auxtrace_heap_item *heap_array, in auxtrace_heapify() argument
479 if (heap_array[parent].ordinal <= ordinal) in auxtrace_heapify()
481 heap_array[pos] = heap_array[parent]; in auxtrace_heapify()
484 heap_array[pos].queue_nr = queue_nr; in auxtrace_heapify()
485 heap_array[pos].ordinal = ordinal; in auxtrace_heapify()
491 struct auxtrace_heap_item *heap_array; in auxtrace_heap__add() local
498 heap_array = realloc(heap->heap_array, in auxtrace_heap__add()
500 if (!heap_array) in auxtrace_heap__add()
502 heap->heap_array = heap_array; in auxtrace_heap__add()
506 auxtrace_heapify(heap->heap_array, heap->heap_cnt++, queue_nr, ordinal); in auxtrace_heap__add()
513 zfree(&heap->heap_array); in auxtrace_heap__free()
521 struct auxtrace_heap_item *heap_array; in auxtrace_heap__pop() local
528 heap_array = heap->heap_array; in auxtrace_heap__pop()
539 heap_array[pos] = heap_array[left]; in auxtrace_heap__pop()
542 if (heap_array[left].ordinal < heap_array[right].ordinal) { in auxtrace_heap__pop()
543 heap_array[pos] = heap_array[left]; in auxtrace_heap__pop()
546 heap_array[pos] = heap_array[right]; in auxtrace_heap__pop()
552 auxtrace_heapify(heap_array, pos, heap_array[last].queue_nr, in auxtrace_heap__pop()
553 heap_array[last].ordinal); in auxtrace_heap__pop()