いや、勘違いしてないわけだが。
誤解されているようだが、コンテキストスイッチの話をしているわけではないぞ。

最適化してコンパイルすると、メモリ上においておける変数は
極力レジスタに割り付けるようになっていると思うんだが、
それはスタック上に割り当てられた変数にしかできないよな?

C++/CLIのマネージ変数のように、強制的にヒープ上に配置される言語で
なぜC++並の最適化が可能なのか?
って質問かいただけ