問題タブ [red-zone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
45 参照

assembly - スタックのレッド ゾーンが必要な理由

ウィキペディアによると: https://en.wikipedia.org/wiki/Red_zone_(コンピューティング)

レッド ゾーンは、(プッシュダウン スタックの場合) 現在のスタック ポインターの下にある関数のスタック フレーム内の固定サイズの領域であり、予約されていて安全に使用できます。これは、命令を保存するスタック ポインターを移動せずに、追加のスタック メモリを割り当てるためにリーフ関数 (他の関数を呼び出さない関数) で最も一般的に使用されます。

最後の文に焦点を当てると、私はまったく同意しません。rsp がフレームの最後であるという事実は、(アセンブリを手動で、または規則の一種として記述したい場合) 作業を簡単にするためのものです。したがって、次のようなことができます: - at&t 構文 -

レッド ゾーンをまったく使用せずに、どのレッド ゾーンが役立つでしょうか (主張されているように通話を保存しません)。