タグ

2016年3月5日のブックマーク (1件)

  • マシンスタックをコピペするのはやめたほうがいい - wasabizの日記

    2016 - 03 - 04 マシンスタックをコピペするのはやめたほうがいい Picrinでcall/cc周りのissueが届いた。masterが linux 環境でsegvを起こすらしい。発生条件は2つで、-O2で コンパイル することとcall/ccを使うこと。 Mac では大丈夫っていうのもアレだけれども-O2をつけた時だけっていうのもなかなか味わい深い。 とりあえずcallccのコードを眺めてみる。基的には scheme VM のスタックとマシンスタックをがばっとコピーしてヒープに保存しているだけ。残りの処理は scheme の手続き化するためのもの。 static pic_value pic_callcc(pic_state *pic, pic_value proc) { struct fullcont *cont = pic_malloc(pic, sizeof(struct

    マシンスタックをコピペするのはやめたほうがいい - wasabizの日記
    qnighy
    qnighy 2016/03/05