2006-04-17 [長年日記]

x64 Primer: Everything You Need To Know To Start Programming 64-Bit Windows Systems

構造化例外処理(SEH)をするときのフレームのたどり方がx86と違うとか、呼び出し規約が違うとか。SEHはgccでC++の例外処理を扱ったときと同じように(?)テーブルベースでフレームを辿るようになるようで、例外が発生しなかった場合のtryのコストがほぼ無視できるようになったのではないかと思われます。VCでのC++の例外処理はSEHをそのまま使っていた*1と思うので、C++の例外処理のコストも下がるのかもしれません。

呼び出し規約については、8086時代からの呼び出し規約がこちらで解説されています。

*1  VC6くらいまでしか見てないのですが

[]