SpiderMonkey Garbage Collector
7 months ago
- #JavaScript
- #Garbage Collection
- #SpiderMonkey
- SpiderMonkey垃圾回收器负责管理JavaScript数据结构的内存分配与释放。
- 它是一种混合式追踪回收器,具备精确、增量、分代、并发、并行及压缩等特性。
- 精确回收通过掌握内存分配布局和栈根信息,避免了保守派技术。
- 增量回收将执行过程拆分为小片段,有效降低对用户的影响。
- 分代回收将内存分配划分为新生代(年轻)和老年代堆区以提升效率。
- 并发回收将部分GC任务卸载到其他CPU核心执行。
- 并行回收在GC片段内同步执行多线程回收工作。
- 压缩回收通过跨内存区域移动分配对象来减少外部碎片。
- 分区堆采用'区域'机制实现独立回收与增量式压缩。
- 更多技术细节可查阅源码中的[SMDOC]垃圾回收器注释文档。