__user_heap_extend()

rt_misc.h で定義されるこの関数は、初期メモリブロックとは別の、ヒープによって使用されるメモリブロックを返すように定義できます。

定義されている場合は、ヒープ拡張ブロックのサイズとベースアドレスを返す必要があります。

Show/hide構文

extern unsigned __user_heap_extend(int var0, void **base, unsigned requested_size);

Show/hide使用法

この関数のデフォルトの実装はありません。この関数を定義する場合は、以下の条件を満たす必要があります。

  • 返されるサイズは以下のいずれかであること。

    • AArch32 ステートでは、要求されたサイズ以上の 8 バイトの倍数

    • AArch64 ステートでは、要求されたサイズ以上の 16 バイトの倍数

    • 要求を満たせない場合は 0

  • サイズはバイト単位で処理されること。

  • この関数には、ARM アーキテクチャ向けプロシージャコール標準(AAPCS)の制約条件のみが適用されること。

  • 最初の引数はエントリ時に常にゼロとなり、無視できること。ベースはこの引数を保持するレジスタに返されること。

  • 返されるベースアドレスが以下に基づいて整列されること。

    • AArch32 ステートでは 8 バイト境界

    • AArch64 ステートでは 16 バイト境界

Show/hide戻り値

この関数は、要求されたサイズまたはそれより大きいブロックへのポインタを *base に設定して、そのブロックのサイズを返します。条件に一致するブロックを返せない場合は、0 が返されます。この場合、*base に格納された値は使用されません。

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0809AJ
Non-ConfidentialID061814