reduce overhead in c<->lua, need C99 for __func__