gi: support caller allocate