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 したナニをソレ。

最後のは略しただけです。それにしても一文は無いなぁ ...

微妙に

修正したナニを投入 (今から)。