外堀から埋める
というか、凄い大事な部分をスルーしている事に今更ながら気がついてる次第で。
とりあえず throw_continuation() 手続き以下の確認が微妙杉。それどころかその先の throw_cont_body() がナニ。とりあえず微妙な点のみ以下に列挙。
- throw_continuation()
- vm->cstack と ep->cstack の値が異なるケイス
- throw_cont_calculate_handlers() 手続きが戻すナニ
- throw_cont_calculate_handlers()
- vm と ep から巻き戻りなナニを数えあげて戻している模様
- throw_cont_body()
- 引数な handlers がペアなら云々
- それ以外なら引数を戻す (vm な属性も操作)
ちょっとカーネル割り込み入ってますが、下記の通り GW 中に集中してな方針でそれまでに call/cc なナニに集中します。