Entries from 2007-03-02 to 1 day

ヒープからの参照 - GC

Hoge* hoge = new Hoge; hoge->hige = new Hige; hoge がどこからか参照されていて mark されるならば、同じくヒープ上にある hoge->hige も mark されないとまずいという話。 これは new で割り当ての際に size を保持しておいて、そのサイズ分領域を走査し…

大域変数からの参照 - GC

大域変数から参照されているものは回収されてはならない。 まだ参照されているか?は、bss領域とかデータ領域の開始位置と終了位置の間を走査してやればよい。 開始や終了の位置はリンク時に解決されるので、ld のデフォルトリンカスクリプトを見ればわかり…