在移动!— wingolog

主要观点:作者将 Guile 与移动垃圾回收器连接,介绍了该回收器的工作方式及遇到的一些问题,包括发现的不少 Bug 及一个未修复的有趣 Bug 等,还提到性能方面需进一步测试和调整。
关键信息:

  • 连接了 Guile 与移动垃圾回收器,介绍了其主要特点和工作流程。
  • 发现不少 Bug,重点讲述了一个在处理对象标记和迁移时出现的隐形 Bug。
  • 提到性能方面未做足够测试,需调整一些启发式算法,目前表现为优于非移动配置且略优于 BDW 但方差较大。
    重要细节:
  • 垃圾回收器是带有保守栈扫描的大部分移动回收器,多数收集在原地标记,需要紧凑时会扫描根并选择块进行疏散等。
  • 在处理小对象时,通过 Nofl 空间管理,使用对象初始字的低位区分对象类型等。
  • 存在多个线程处理待追踪对象工作列表,可能出现两个 GC 线程同时处理同一可疏散对象的情况。
  • 未修复的 Bug 是在对象标记和迁移过程中可能出现初始字被踩踏导致无效的情况,目前不知如何修复。
阅读 12
0 条评论