「GCとPCLの和解」の編集履歴(バックアップ)一覧はこちら
GCとPCLの和解 - (2011/12/23 (金) 20:51:25) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*はじめに
toy-lang にコルーチンを実装するにあたって、BoehmGC と PCL(Portable Coroutine Library) の間で色々不都合があったのでこれに対応を行ったのでその際の方法をメモとして公開します。
現在の開発中の版では問題がわかってこれらのライブラリを組み合わせた際の問題については解決していますが、その中でわかったことやプログラミング上のテクニックについて参考になればと思います。
*BoehmGCの動作について
toy-langを実装するにあたっては、できる限り汎用のライブラリを使用して実装することにしています。
toy-langにおいては、GC(ガベージコレクション)はBoehmGCを、コルーチンの実装には PCL を使用しています。
2年ほど前、コルーチンを実装していてどうしてもうまく動かなくて悩んでいました。
まず、GCの動作について非常に簡単ですが説明したいと思います。(Fig.1)
[gc_and_coroutine.fig1.jpg]
*はじめに
toy-lang にコルーチンを実装するにあたって、BoehmGC と PCL(Portable Coroutine Library) の間で色々不都合があったのでこれに対応を行ったのでその際の方法をメモとして公開します。
現在の開発中の版では問題がわかってこれらのライブラリを組み合わせた際の問題については解決していますが、その中でわかったことやプログラミング上のテクニックについて参考になればと思います。
*BoehmGCの動作について
toy-langを実装するにあたっては、できる限り汎用のライブラリを使用して実装することにしています。
toy-langにおいては、GC(ガベージコレクション)はBoehmGCを、コルーチンの実装には PCL を使用しています。
2年ほど前、コルーチンを実装していてどうしてもうまく動かなくて悩んでいました。
まず、GCの動作について非常に簡単ですが説明したいと思います。(Fig.1)
[http://www31.atwiki.jp/toy-lang?cmd=upload&act=open&pageid=22&file=gc_and_coroutine.fig1.jpg]