Perlテックブログ

ITエンジニアの成長意欲を刺激する技術考察、モジュール開発の日記。Perlイベントや国内や海外のPerlの記事の紹介。

コンパイルキャッシュの実装にまだ取り組む

SPVMでコンパイルキャッシュを実装しているのだけれど、キャッシュされた、共有ライブラリファイルを読み込むとセグメンテーションフォールトが起きるというバグと格闘。

原因は発見できて、実行時のアドレスを、そのままJITソースコードにダンプしていたのが原因だった。実行時のアドレスというのは、プロセス単位で有効なので、コンパイルキャッシュの中にそれが直に記述されていると、そんなアドレスは防いだよということだね。

JITのために吐き出すC言語ソースコードから直のアドレスを取り除く作業をやっている。これが終わると、うまくコンパイルキャッシュが実装できそうな予感がする。

明日は吉祥寺.pm。体調不良でキャンセルが多数出ているみたいよ。

当日の様子はハッシュタグ#kichijojipm」でツイートしたり、ブログにまとめていただけると幸いです。あと、発表された方はスライドのアップをお願いします。