question: allocate size units . return the unit id concode_field_sep int heads concode_elem_sep int FAILURE concode_elem_sep int head concode_elem_sep boolean DEBUG concode_elem_sep int MAX_HEADS concode_field_sep void initializeHeap concode_elem_sep void initializeHeap concode_elem_sep void setFree concode_elem_sep void coalesce concode_elem_sep int getNext concode_elem_sep int getPrev concode_elem_sep void addToFree concode_elem_sep boolean isCoalescable concode_elem_sep int getSize concode_elem_sep void split concode_elem_sep int getRight concode_elem_sep void setSize concode_elem_sep int size concode_elem_sep void setNext concode_elem_sep void removeFromFree concode_elem_sep void setPrev concode_elem_sep boolean couldAlloc concode_elem_sep int free concode_elem_sep int free concode_elem_sep void dbgPrintFree concode_elem_sep boolean getFree concode_elem_sep void setSentinel concode_elem_sep int getLeft
target: int function ( int arg0 ) { int loc0 = head ; int loc1 = 0 ; while ( ( ( loc0 = getNext ( loc0 ) ) != head ) && ( ( loc1 = getSize ( loc0 ) ) < arg0 ) ) ; return ( loc0 == head ) ? FAILURE : alloc ( arg0 , loc0 , loc1 ) ; }