https://github.com/xoreaxeaxeax/movfuscator/tree/master/validation/doom
このDOOMは条件分岐を一切使用していない。したがって今流行りの投機実行の脆弱性であるMeltdownやSpectreによる脆弱性は存在しない。
ちなみに、現代の性能のコンピューターで、1フレームの描画に7時間ほどかかるので、このDOOMで遊ぶには若干の忍耐力を要求される。しかし、脆弱性の完全な排除のためには若干のパフォーマンスの低下はやむを得ないところだろう。
このDOOM実装はオリジナルのDOOMのCコードに若干の変更を施して、M/o/Vfuscatorでコンパイルしたものだ。
https://github.com/xoreaxeaxeax/movfuscator
M/o/Vfuscatorとは、IntelのMMUがチューリング完全であることを利用したmov命令のみを使うC言語コンパイラーだ。
> 若干のパフォーマンスの低下
ReplyDeleteオリジナルを知らないのだが、60fpsで描画していたとすると、151万倍のパフォーマンス低下なのだが、
これは果たして若干といえるものなのだろうか
高々定数倍である
ReplyDelete