golang内存分配
2020-09-16 20:08:34 14 举报
随意笔记
作者其他创作
大纲/内容
spanclass
class0scan
……
指向spans区域,映射span和page
管理page数
arena_used
s
已经使用的span列表
锁
class........
arena_start
指向bitmap首地址
链表前后指针*mspan
mcache
class66scan
span3
总块数
lock
bitmap
npages
central[134]
class1scan
链表前向指针*mspan
alloc[134]
p
所有spans
class块大小
全局内存
allocBits
申请内存
prev
可用的的span列表
nmalloc
allocCount
........
class66noscan
class分组的mspan列表
class0noscan
累计分配的对象个数
指示arena区首地址
elemsize
span1
spans
mspan
已分配块的个数
mspan.......
allspans[]
管理page地址起始地址
class表中的class ID
startAddr
mheap
nelems
span2
noempty
arena
empty
central
next
span class ID
每种class对应的两个mcentral
class1noscan
分配位图,每一位代表一个块是否已分配
指示arena区已使用地址位置
stackcache[]
线程
0 条评论
回复 删除
下一页