Use trampoline to avoid stack overflow.