• Home
  • Raw
  • Download

Lines Matching refs:gen

29 gen_traverse(PyGenObject *gen, visitproc visit, void *arg)  in gen_traverse()  argument
31 Py_VISIT((PyObject *)gen->gi_frame); in gen_traverse()
32 Py_VISIT(gen->gi_code); in gen_traverse()
33 Py_VISIT(gen->gi_name); in gen_traverse()
34 Py_VISIT(gen->gi_qualname); in gen_traverse()
37 return exc_state_traverse(&gen->gi_exc_state, visit, arg); in gen_traverse()
43 PyGenObject *gen = (PyGenObject *)self; in _PyGen_Finalize() local
47 if (gen->gi_frame == NULL || gen->gi_frame->f_stacktop == NULL) { in _PyGen_Finalize()
77 if (gen->gi_code != NULL && in _PyGen_Finalize()
78 ((PyCodeObject *)gen->gi_code)->co_flags & CO_COROUTINE && in _PyGen_Finalize()
79 gen->gi_frame->f_lasti == -1) in _PyGen_Finalize()
81 _PyErr_WarnUnawaitedCoroutine((PyObject *)gen); in _PyGen_Finalize()
84 res = gen_close(gen, NULL); in _PyGen_Finalize()
116 gen_dealloc(PyGenObject *gen) in gen_dealloc() argument
118 PyObject *self = (PyObject *) gen; in gen_dealloc()
120 _PyObject_GC_UNTRACK(gen); in gen_dealloc()
122 if (gen->gi_weakreflist != NULL) in gen_dealloc()
131 if (PyAsyncGen_CheckExact(gen)) { in gen_dealloc()
135 Py_CLEAR(((PyAsyncGenObject*)gen)->ag_finalizer); in gen_dealloc()
137 if (gen->gi_frame != NULL) { in gen_dealloc()
138 gen->gi_frame->f_gen = NULL; in gen_dealloc()
139 Py_CLEAR(gen->gi_frame); in gen_dealloc()
141 if (((PyCodeObject *)gen->gi_code)->co_flags & CO_COROUTINE) { in gen_dealloc()
142 Py_CLEAR(((PyCoroObject *)gen)->cr_origin); in gen_dealloc()
144 Py_CLEAR(gen->gi_code); in gen_dealloc()
145 Py_CLEAR(gen->gi_name); in gen_dealloc()
146 Py_CLEAR(gen->gi_qualname); in gen_dealloc()
147 exc_state_clear(&gen->gi_exc_state); in gen_dealloc()
148 PyObject_GC_Del(gen); in gen_dealloc()
152 gen_send_ex(PyGenObject *gen, PyObject *arg, int exc, int closing) in gen_send_ex() argument
155 PyFrameObject *f = gen->gi_frame; in gen_send_ex()
158 if (gen->gi_running) { in gen_send_ex()
160 if (PyCoro_CheckExact(gen)) { in gen_send_ex()
163 else if (PyAsyncGen_CheckExact(gen)) { in gen_send_ex()
170 if (PyCoro_CheckExact(gen) && !closing) { in gen_send_ex()
181 if (PyAsyncGen_CheckExact(gen)) { in gen_send_ex()
195 if (PyCoro_CheckExact(gen)) { in gen_send_ex()
198 else if (PyAsyncGen_CheckExact(gen)) { in gen_send_ex()
218 gen->gi_running = 1; in gen_send_ex()
219 gen->gi_exc_state.previous_item = tstate->exc_info; in gen_send_ex()
220 tstate->exc_info = &gen->gi_exc_state; in gen_send_ex()
222 tstate->exc_info = gen->gi_exc_state.previous_item; in gen_send_ex()
223 gen->gi_exc_state.previous_item = NULL; in gen_send_ex()
224 gen->gi_running = 0; in gen_send_ex()
237 if (PyAsyncGen_CheckExact(gen)) { in gen_send_ex()
246 assert(!PyAsyncGen_CheckExact(gen)); in gen_send_ex()
253 if (PyCoro_CheckExact(gen)) { in gen_send_ex()
256 else if PyAsyncGen_CheckExact(gen) { in gen_send_ex()
262 else if (!result && PyAsyncGen_CheckExact(gen) && in gen_send_ex()
275 exc_state_clear(&gen->gi_exc_state); in gen_send_ex()
276 gen->gi_frame->f_gen = NULL; in gen_send_ex()
277 gen->gi_frame = NULL; in gen_send_ex()
289 _PyGen_Send(PyGenObject *gen, PyObject *arg) in _PyGen_Send() argument
291 return gen_send_ex(gen, arg, 0, 0); in _PyGen_Send()
330 _PyGen_yf(PyGenObject *gen) in _PyGen_yf() argument
333 PyFrameObject *f = gen->gi_frame; in _PyGen_yf()
357 gen_close(PyGenObject *gen, PyObject *args) in gen_close() argument
360 PyObject *yf = _PyGen_yf(gen); in gen_close()
364 gen->gi_running = 1; in gen_close()
366 gen->gi_running = 0; in gen_close()
371 retval = gen_send_ex(gen, Py_None, 1, 1); in gen_close()
374 if (PyCoro_CheckExact(gen)) { in gen_close()
376 } else if (PyAsyncGen_CheckExact(gen)) { in gen_close()
397 _gen_throw(PyGenObject *gen, int close_on_genexit, in _gen_throw() argument
400 PyObject *yf = _PyGen_yf(gen); in _gen_throw()
413 gen->gi_running = 1; in _gen_throw()
415 gen->gi_running = 0; in _gen_throw()
418 return gen_send_ex(gen, Py_None, 1, 0); in _gen_throw()
423 gen->gi_running = 1; in _gen_throw()
428 gen->gi_running = 0; in _gen_throw()
440 gen->gi_running = 1; in _gen_throw()
442 gen->gi_running = 0; in _gen_throw()
449 ret = *(--gen->gi_frame->f_stacktop); in _gen_throw()
453 assert(gen->gi_frame->f_lasti >= 0); in _gen_throw()
454 gen->gi_frame->f_lasti += sizeof(_Py_CODEUNIT); in _gen_throw()
456 ret = gen_send_ex(gen, val, 0, 0); in _gen_throw()
459 ret = gen_send_ex(gen, Py_None, 1, 0); in _gen_throw()
513 return gen_send_ex(gen, Py_None, 1, 0); in _gen_throw()
525 gen_throw(PyGenObject *gen, PyObject *args) in gen_throw() argument
535 return _gen_throw(gen, 1, typ, val, tb); in gen_throw()
540 gen_iternext(PyGenObject *gen) in gen_iternext() argument
542 return gen_send_ex(gen, NULL, 0, 0); in gen_iternext()
640 gen_repr(PyGenObject *gen) in gen_repr() argument
643 gen->gi_qualname, gen); in gen_repr()
691 gen_getyieldfrom(PyGenObject *gen, void *Py_UNUSED(ignored)) in gen_getyieldfrom() argument
693 PyObject *yf = _PyGen_yf(gen); in gen_getyieldfrom()
781 PyGenObject *gen = PyObject_GC_New(PyGenObject, type); in gen_new_with_qualname() local
782 if (gen == NULL) { in gen_new_with_qualname()
786 gen->gi_frame = f; in gen_new_with_qualname()
787 f->f_gen = (PyObject *) gen; in gen_new_with_qualname()
789 gen->gi_code = (PyObject *)(f->f_code); in gen_new_with_qualname()
790 gen->gi_running = 0; in gen_new_with_qualname()
791 gen->gi_weakreflist = NULL; in gen_new_with_qualname()
792 gen->gi_exc_state.exc_type = NULL; in gen_new_with_qualname()
793 gen->gi_exc_state.exc_value = NULL; in gen_new_with_qualname()
794 gen->gi_exc_state.exc_traceback = NULL; in gen_new_with_qualname()
795 gen->gi_exc_state.previous_item = NULL; in gen_new_with_qualname()
797 gen->gi_name = name; in gen_new_with_qualname()
799 gen->gi_name = ((PyCodeObject *)gen->gi_code)->co_name; in gen_new_with_qualname()
800 Py_INCREF(gen->gi_name); in gen_new_with_qualname()
802 gen->gi_qualname = qualname; in gen_new_with_qualname()
804 gen->gi_qualname = gen->gi_name; in gen_new_with_qualname()
805 Py_INCREF(gen->gi_qualname); in gen_new_with_qualname()
806 _PyObject_GC_TRACK(gen); in gen_new_with_qualname()
807 return (PyObject *)gen; in gen_new_with_qualname()
823 PyGen_NeedsFinalizing(PyGenObject *gen) in PyGen_NeedsFinalizing() argument
826 PyFrameObject *f = gen->gi_frame; in PyGen_NeedsFinalizing()
1244 async_gen_traverse(PyAsyncGenObject *gen, visitproc visit, void *arg) in async_gen_traverse() argument
1246 Py_VISIT(gen->ag_finalizer); in async_gen_traverse()
1247 return gen_traverse((PyGenObject*)gen, visit, arg); in async_gen_traverse()
1477 async_gen_unwrap_value(PyAsyncGenObject *gen, PyObject *result) in async_gen_unwrap_value() argument
1487 gen->ag_closed = 1; in async_gen_unwrap_value()
1653 async_gen_asend_new(PyAsyncGenObject *gen, PyObject *sendval) in async_gen_asend_new() argument
1667 Py_INCREF(gen); in async_gen_asend_new()
1668 o->ags_gen = gen; in async_gen_asend_new()
1799 PyGenObject *gen = (PyGenObject*)o->agt_gen; in async_gen_athrow_send() local
1800 PyFrameObject *f = gen->gi_frame; in async_gen_athrow_send()
1826 retval = _gen_throw((PyGenObject *)gen, in async_gen_athrow_send()
1845 retval = _gen_throw((PyGenObject *)gen, in async_gen_athrow_send()
1859 retval = gen_send_ex((PyGenObject *)gen, arg, 0, 0); in async_gen_athrow_send()
2007 async_gen_athrow_new(PyAsyncGenObject *gen, PyObject *args) in async_gen_athrow_new() argument
2014 o->agt_gen = gen; in async_gen_athrow_new()
2017 Py_INCREF(gen); in async_gen_athrow_new()