get the current chunk , or , if there is no current chunk , allocate a new one from the jvm . concode_field_sep AtomicInteger allocCount concode_elem_sep int chunkSize concode_elem_sep long[] data concode_elem_sep int size concode_elem_sep int offset concode_elem_sep int maxAlloc concode_elem_sep int OOM concode_elem_sep AtomicInteger nextFreeOffset concode_elem_sep AtomicReference<Chunk> curChunk concode_elem_sep int UNINITIALIZED concode_field_sep void init concode_elem_sep int getOffset concode_elem_sep Allocation allocateLongs concode_elem_sep String toString concode_elem_sep String toString concode_elem_sep int alloc concode_elem_sep void tryRetireChunk concode_elem_sep long[] getData
Chunk function ( ) { while ( true ) { Chunk loc0 = curChunk . get ( ) ; if ( loc0 != null ) { return loc0 ; } loc0 = new Chunk ( chunkSize ) ; if ( curChunk . compareAndSet ( null , loc0 ) ) { loc0 . init ( ) ; return loc0 ; } } }