Scm_VMCallCC() 手続き
投入する前に throw_continuatio() の概要説明を修正。残りは Scm_VMCallCC() なんですがどうしたものやら。
ヤッてる事は
- save_cont() で継続フレームと環境フレームを heap に退避
- ScmEscapePoint なオブジェクトを生成して vm->cont、vm->handlers、vm->cstack を退避
- 上記の ScmEscapePoint なオブジェクトを格納された throw_continuation な手続きオブジェクトを生成
- 上記の手続きオブジェクトを引数 proc に渡す形で apply
という事で箇条書きはできるんですが、どう作文したものやら。そのままくっつけて投入してみる方向で。
下書き
ええと
save_cont() 手続きによりスタックにある継続フレームと環境フレームを heap に退避し、ScmEscapePoint オブジェクトを生成し、手続き呼び出し時点の vm->cont、vm->handlers、vm->cstack を退避してこのオブジェクトが格納された throw_continuation 手続きオブジェクトを生成してこの手続きオブジェクトを引数 proc に渡す形で apply したナニをソレ。
最後のは略しただけです。それにしても一文は無いなぁ ...
微妙に
修正したナニを投入 (今から)。