まぬけなやつだ

LazySweepGC組むって事で、Heapを数本Sweepするという案を思いついて
実装したのだが、その場合、writebarrierが必要だと気づいた。
そうなるとLazySweepGCにする意味はないので、IncrementalGCを作ろうかなと。
実は前の日記の状態でLazySweepGCできてたんだな。良く考えれば。
でもそんなに性能があがらなかったと。
 
GC作ってた時にobj_free()に結構時間食ってるんだなぁと
思って今回LazyGCにしたんだけども、
Heapを全走査するので結構レスポンスのコストがあるのが分かった。
 
そうなってくると、やっぱりIncrementalGCになるなぁ。
スクリプト言語といえばさぁ。
 
追記:
いいこと思いついたので、もちょっと頑張ってみる。
 
追記2:
SEGV取れた。writebarrierは必要じゃなかった。
rb_newobjするときにmarkすれば済むのだ。
 
追記3:
新たなSEGVが出てくる。
NODEが何か書きかえられちゃうんだよなぁ。
なんでだろう。。。