Rubyソースコード完全解説

を読んでいます。

gc.c

(obj->as.basic.flags & FL_MARK)

こんなソースを見かけるが、どんな意味があるんだろう?
flagsのままじゃダメなのかな?
FL_MARK(0x3f)より上位ビットをどうにかするため?
(0x40)で割った時の余り?
どんな状況なんだろ?

プログラムの基本的なことが分かってないなぁ。。
どなたかヒントをくださいっ

最近、青木さんの文章にラヴです。小難しいあたりが。