美文网首页
lgc.h与lgc.c

lgc.h与lgc.c

作者: testfor | 来源:发表于2017-09-18 22:37 被阅读0次

三种颜色

(1)white:未标记

(2)grey:该对象标记,其引用未标记

(3)black:该对象及其所有引用均被标记

GC状态

GCSpropagate

调用propagatemark(),若g->grey为NULL,置状态为GCSatomic

GCSatomic

propagateall()

atomic()

entersweep()

GCSswpallgc

sweepstep()

GCSswpfinobj

sweepstep()

GCSswptobefnz

sweepstep()

GCSswpend

makewhite(g->mainthread)

GCScallfin

调用剩余的的finalizers,完成后转GCSpause

GCSpause

调用restartcollection(),状态转为GCSpropagate

内部以luaC_作为前缀

luaC_fix()

luaC_freeallobjects()

luaC_step()

luaC_runtilstate()

luaC_fullgc()

luaC_newobj()

luaC_barrier_()

luaC_barrierback_()

luaC_upvalbarrier_()

luaC_checkfinalizer()

luaC_upvdeccound()

Generic functions

Mark functions

reallymarkobject()

Userdata, strings, and closed upvalues设为black,其它对象暂设为灰并加入list,留待稍后继续访问。

markmt()

markbeingfnz()

remarkupvals()

restartcollection()

markobject(g->mainthread)

markvalue(g->l_registry)

markmt()

遍历g->mt中基本类型的metatable并标记

markbeingfnz()

遍历g->tobefnz链表中所有元素并标记(上一循环剩下的object)

Traverse functions

traverseweakvalue()

traverseephemeron()

traversestrongtable()

traversetable()

traverseproto()

traverseCclosure()

traverseLclosure()

traverseThread()

propagatemark()

propagateall()

遍历g->grey,并执行propagatemark()

convergeephemerons()

Sweep functions

Finalization

separatetobefnz()

move all unreadable objects that need finalization from list 'finobj' to list 'tobefnz'

GC control

相关文章

  • lgc.h与lgc.c

    三种颜色 (1)white:未标记 (2)grey:该对象标记,其引用未标记 (3)black:该对象及其所有引用...

  • && 与& ,||与|

    回忆知识点i++,,++i变量在前 先用变量符号(☞++/--)在前 先计算

  • 认真与身板

    认真与身板 认真与态度 认真与自信 认真与信心 认真与诚心 认真与正心 认真与正念 认真与正面 认真与精诚 认真与...

  • 与荒野,与你,与自己

    周末了,想跟大家分享一首诗 《阿莱夫》 诗作者:赖尔逊 阿莱夫在草原上盖了一栋房子, 犹如大海上的灯塔。 但你无法...

  • 与雪与丘与故土

  • 与海与浪与念

    木君 下午,在一段段风雨的催促下来到了绥中。天是被蒙起来的,太阳早已不知躲到哪里去了。微弱的日光和着轻柔的海风洒在...

  • 晚风与柳 孤独与狗 桥与落叶 马与白隙 云与苍天 梭与星月 天与地 生与死 树与来路 花与过往 我与你 爱与恨 夜色与酒

  • 海街日记

    和解。与他人和解、与家人和解、与自己和解;与得到和解、与失去和解;与过去和解、与现在、未来和解;与现实和解、与虚幻...

  • 生怕忘了的题目

    少与不少 多与不多 苦与不苦 乐与不乐 对与不对 错与不错 离与不离 合与不合 唱与不唱 说与不说

  • 2017-04-11

    体验入:真诚.与专业。幽默与风趣。赞美与了解。认可与相信。沟通与关注。关心与引领。快乐与持续。简单与重复。 ...

网友评论

      本文标题:lgc.h与lgc.c

      本文链接:https://www.haomeiwen.com/subject/fljisxtx.html