除fastbin以外是循环的双向链表。 所以bins里面取出来bk就是最后一项。 bins里存的头部空节点,包含前后两个指针。

Top chunk

It is the chunk which borders the top of an arena. While servicing ‘malloc’ requests, it is used as the last resort. If still more size is required, it can grow using the sbrk system call. The PREV_INUSE flag is always set for the top chunk. 堆段里靠近边界的剩余部分。

Last remainder chunk

It is the chunk obtained from the last split. Sometimes, when exact size chunks are not available, bigger chunks are split into two. One part is returned to the user whereas the other becomes the last remainder chunk. 上一次发生分割后,没给用户的那部分。

have_fastchunks

        fastbin chunks是否包含最近插入的free block
        Set if the fastbin chunks contain recently inserted free blocks.