Valgrindでやってるような memory shadowing は、64ビット環境を対象にするとアドレス空間がでかくなるので、今までやってたやり方だと無理とは言わないまでも遅いですよ。

んで、著者らが知っている限りの64-bitのshadow memory実装の中で一番早いやつと比べて半分くらいにしました。

shadowingって?

アプリが使うメモリの各byteに対して (byteでないこともある) メタ情報をくっつけるのが目的です

例えばこのbyteは正当にmallocで確保されたとか、スタック上だとか、 または誰も正当な手法で確保してない、のにアクセスされた、ということがわかれば、違反操作だ、ということになります。

64bitになるとshadowする対象が超でかくなるので、まあ適当にlocalityとか使って工夫しないと速くならないですよね、という話

最終更新:2011年03月06日 16:32