call/cc 高速化第一弾

call/cc 高速化の第一弾として、dynamic-wind 実装のための構造を C++ 側に持ってきた。
call/cc と dynamic-wind は密接に関連している。dynamic-wind の winders(before, after thunk) を call/cc が参照する。
この関係を Scheme のコードで構築していたが、実行時のオーバーヘッドが高いので

  • dynamic-wind は Scheme のまま
  • call/cc 時は C++ 側で winders を参照

とするようにした。
どれ位速くなったかは明日計測。