位图字节址
公开化「整数」而「整数」
文言:客体之堆:分配、位图、标记清扫。汉语:GC 堆:分配、位图、保守标记清扫。对象头 8 字节 [字0:类型号(低 16 位)| 实例号(第 16–23 位)| 种类<<24 | 标记位(bit31);字1:总字节数]。结构体:头 + 每字段 8 字节;数组:头 + [长度 4][填充 4] + 元素(按元素宽度);空闲块:种类 3,+8 存下一块。
文言:位图:每八字节堆一位,记对象起始。汉语:对象起始位图:按堆内 8 字节粒度记录哪些地址是对象头,供保守标记辨认真指针。
位图位
公开化「整数」而「整数」
暂无说明。
位图置
公开化「整数」而「有」
暂无说明。
位图清
公开化「整数」而「有」
暂无说明。
位图取
公开化「整数」而「整数」
暂无说明。
初始化堆
公开化「有」而「有」
文言:堆之初与长。汉语:初始化堆(位图按最大内存估算:每 64 字节堆 1 字节位图);尝试把堆限抬高至少 n 字节,成功返回 1。
增长堆
公开化「整数」而「整数」
暂无说明。
小类位
公开化「整数」而「整数」
文言:自由链表:小块按八字节分类,大块首次适应。汉语:自由链表:≤256 字节的小块按 8 字节分类各有链表头,大块放大自由表;取块时可分割。
文言:小类之位:类 k 之位为 k−1。汉语:小块类在掩码中的位:类 k(大小 8k)对应第 k−1 位;置位与清位。
小类置非空
公开化「整数」而「有」
暂无说明。
小类置空
公开化「整数」而「有」
暂无说明。
放回空闲
公开化「整数」而化「整数」而「有」
暂无说明。
取小类精确
公开化「整数」而「整数」
暂无说明。
取小类分割
公开化「整数」而化「整数」而「整数」
暂无说明。
取大块
公开化「整数」而「整数」
暂无说明。
取空闲
公开化「整数」而「整数」
文言:取空闲:小者先取同类;同类空而堆顶下尚有余地,则返零以令划出,免逐类而扫与遍历大链;余地不足乃分割大类或取大块。汉语:取空闲块:小块先取同类链表;同类为空而堆顶之下还有空间时返回 0,让调用者直接从堆顶划出(不必逐类扫描、也不必遍历大块链表);空间不够时才分割更大的类或取大块。大块同样先用堆顶之下的空间。
划出
公开化「整数」而「整数」
暂无说明。
结构字节
公开化「整数」而「整数」
文言:结构与数组之大小。汉语:结构体与数组对象的总字节数。
数组字节
公开化「整数」而化「整数」而「整数」
暂无说明。
压标记栈
公开化「整数」而「有」
文言:标记:保守扫描,标记栈溢出则线性重扫。汉语:保守标记:从根区扫描候选字,命中位图的对象入标记栈;标记栈溢出时线性重扫已标记对象。
对象种
公开化「整数」而「整数」
暂无说明。
标记候选
公开化「整数」而「有」
暂无说明。
标记槽们
公开化「整数」而化「整数」而「有」
暂无说明。
标记结构字段们
公开化「整数」而化「整数」而「有」
暂无说明。
扫描对象
公开化「整数」而「有」
暂无说明。
排空标记栈
公开化「有」而「有」
暂无说明。
重扫已标记对象
公开化「有」而「有」
暂无说明。
清空标记栈
公开化「有」而「有」
暂无说明。
标记根区
公开化「整数」而化「整数」而化「整数」而「有」
暂无说明。
标记实例各表
公开化「整数」而化「整数」而「有」
暂无说明。
标记实例块们
公开化「整数」而化「整数」而「有」
暂无说明。
标记一实例根
公开化「整数」而「有」
暂无说明。
标记各实例根
公开化「整数」而「有」
暂无说明。
收尾游程
公开化「整数」而化「整数」而「有」
文言:清扫:线性扫堆,未标记者并入空闲,已标记者去其标;毗连空闲合而为一。汉语:清扫:线性扫描堆,已标记对象清除标记,未标记对象与空闲块合并成游程放回自由表;返回存活字节数。
清扫逐块
公开化「整数」而化「整数」而化「整数」而化「整数」而「整数」
暂无说明。
标记输入缓冲
公开化「有」而「有」
文言:标准输入缓冲之根:重定向所读之整个文件在堆里,以此为根。汉语:标记标准输入重定向的缓冲(状态_输入缓冲,堆里的字节数组,读字节 从它取):回收时作为根。
回收
公开化「有」而「有」
文言:回收:标根,清扫,定后阈。汉语:垃圾回收:以值栈(保守,两字皆看)、全局、表、异常载荷、临时根与输出捕获缓冲为根标记,清扫,并据存活字节数重设下次回收的阈值。
完成分配
公开化「整数」而化「整数」而化「整数」而化「整数」而「整数」
文言:分配:返回对象头址,头两字由此写入,载荷已清零。汉语:分配对象:返回对象头地址;头字 0/1(种类与类型号、总字节数)由本函数写入,载荷已清零。空闲块不足时先回收一次,再向内存索取,仍不足则以 120 退出。
尝试分配
公开化「整数」而化「整数」而化「整数」而化「整数」而「整数」
暂无说明。
分配对象
公开化「整数」而化「整数」而化「整数」而「整数」
暂无说明。
分配原始块
公开化「整数」而「整数」
文言:原始块:次级实例之字节皆置堆中,为原始块,其头址记于所属实例之块表,回收时以之为根。汉语:分配原始块(返回对象头址,载荷从头址+16 起、已清零);登记原始块(记入某实例的块表,回收时作根);取存:初始实例仍用区域分配器(在堆初始化之前),其他实例从堆里分配原始块,供模块解析分配元数据、客内存与模块字节。
登记原始块
公开化「整数」而化「整数」而「有」
暂无说明。
取存
公开化「整数」而「整数」
暂无说明。