NXビットはセキュリティだけの話ではない
The NX bit is not just about security
ARM64ベアメタルハイパーバイザー開発中に発生した謎のフリーズの原因を追うデバッグ記録。CTR_EL0インターセプトを有効にするとランダムにシステムがロックアップする現象を、バイナリバイセクションやアセンブリ比較などの手法で切り分けていくと、最終的に分岐予測の誤予測が原因である可能性にたどり着く。
動的ディスパッチは分岐予測を利用し、静的ブランチは事前にどこへ向かうかを知っており誤予測することはありません。