.Net8 CLR跨代(card_table)续
原文中文,约6500字,阅读约需16分钟。发表于: 。1.前言card_table是CLR的核心技术之一,它的位标记循环遍历老年代堆(oldest_gen),找出老年堆对象对于新生代的引用,从CLR和GC里面萃取是一个较为复杂的工程,以.Net8为蓝本,本篇化繁为简,继续研看。2.概述老年代一般的都是指2代,也即是max_generation。循环遍历这个找出这个代里面的堆段(heap segment),通过位标记循环遍历每个堆段的引用对象的地址(老...
本文介绍了CLR的核心技术之一——card_table,它的作用是循环遍历老年代堆,找出老年堆对象对于新生代的引用,并进行存活标记。同时,文章还介绍了跨代引用的操作。