Ruby 2.3.0 リファレンスマニュアル > 関数一覧 > ruby_xrealloc
void * ruby_xrealloc(void *ptr, long size)
引数と返り値の意味は realloc() と同じ。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。 つまりこの関数が返り値を返したときは常に割り当ては成功している。