support yield fast path