我正在阅读有关垃圾回收器实现的内容,具体是有关标记-清除的即时垃圾回收器,事实上,在标记阶段未完成时,为了允许mutator工作(从而避免停止整个系统),必须使用内存屏障。
例如,如果mutator修改了一个已标记(黑色)的对象,使其指向一个未标记(白色)的对象,则必须将白色对象标记为灰色(标记为活动但尚未扫描)。
但是我找不到任何详细的说明如何实现这一点:如何检测到黑色对象的更改并在那时执行操作?
我正在阅读有关垃圾回收器实现的内容,具体是有关标记-清除的即时垃圾回收器,事实上,在标记阶段未完成时,为了允许mutator工作(从而避免停止整个系统),必须使用内存屏障。
例如,如果mutator修改了一个已标记(黑色)的对象,使其指向一个未标记(白色)的对象,则必须将白色对象标记为灰色(标记为活动但尚未扫描)。
但是我找不到任何详细的说明如何实现这一点:如何检测到黑色对象的更改并在那时执行操作?