System V の psABI とほぼ同様.
Convention | Description |
---|---|
caller/callee register | System V psABI の通り(?? #TODO). |
引数 | 呼び出し先がインタープリタ実行される場合は, スタック上に積んで渡す (See: ...). JIT コンパイルされている場合は, レジスタで渡す (See: ...). |
リターンアドレス | System V psABI の通り, スタックフレーム上の領域を使用. |
返値 | System V psABI の通り, RAX や XMM0 を使用. |
SP のずれへの対応 | callee 側のエントリ処理や i2c/c2i stub により SP が勝手にずらされてしまった場合については, 全て interpreter 側で対処している(※) |
(※) (interpreter 側の呼び出し時には return 後にずれを補正し, 逆に interpreter が呼び出された時には, return 時にずれを考慮して SP の復帰処理を行う. これにより, compiled code 側には特別な処理は何も必要とされない)
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.