V8はオブジェクトへのポインタにもタグを付けてる。なぜ?

うーん、なんでなんでしょうね。Smiとかは分かるけど。
 
なんか、あんまりメリットを感じないのですが。
明確な理由ってあるんだろうか。悩み中。
 
ルートに普通のポインタ(オブジェクトへのポインタではないもの)が混ざるからタグ付けてるのかな?
とも思ったけど、ルートからそういうポインタを除外すればいいだけだし、そうした方がGCは速い。
どうしても混ざる理由があるのかなーと思って調べても何か手応えが。。
 
わざわざポインタにタグ付けるという面倒なことまでして、やりたかったことはなんなのか。
 

追記

SelfVMのソースコードをぼんやり読み始め。SelfVMもそれっぽいな。
(V8はSelfVMを参考にしてるらしいから)
とりあえず論文読むか。。とほほ。
http://research.sun.com/self/papers/implementation.html
 

追記2

すべての謎は解けた!論文に書いてあった。
論文って本当にいいですねぇ。上質なドキュメントだ。
 
えー答えですが、続きはGC本で!(壮大な宣伝ではありません)