JADA099C February 2019 – March 2026
C28x は ARM EABI に従っており、その下では C1 および C2 コンストラクタは this ポインタを返します。このようにすることで、これらの関数に対する呼び出しにおいて末尾呼び出し最適化を可能にします。
同様に、非仮想呼び出しにおける D1 デストラクタおよび D2 デストラクタも this を返します。仮想デストラクタへの呼び出しは thunk 関数を使用し、これらのデスクトラクタは this を返しません。
GC++ABI のセクション 3.3 では、配列 new および delete 用にいくつかのライブラリ ヘルパー関数が規定されており、これらはコンストラクタまたはデストラクタへのポインタをパラメータとして受け取ります。GC++ABI では、これらのパラメータは戻り値が void の関数へのポインタとして宣言されていますが、C28x ABI では、「this」に対応する void * を返す関数へのポインタとして宣言されています。