def unicode_dealloc(space, py_obj): if get_wbuffer(py_obj): lltype.free(get_wbuffer(py_obj), flavor="raw") if get_utf8(py_obj): lltype.free(get_utf8(py_obj), flavor="raw") from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def frame_dealloc(space, py_obj): py_frame = rffi.cast(PyFrameObject, py_obj) py_code = rffi.cast(PyObject, py_frame.c_f_code) Py_DecRef(space, py_code) Py_DecRef(space, py_frame.c_f_globals) Py_DecRef(space, py_frame.c_f_locals) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def unicode_dealloc(space, py_obj): py_unicode = rffi.cast(PyUnicodeObject, py_obj) Py_DecRef(space, py_unicode.c_defenc) if py_unicode.c_str: lltype.free(py_unicode.c_str, flavor="raw") from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def buffer_dealloc(space, py_obj): py_buf = rffi.cast(PyBufferObject, py_obj) if py_buf.c_b_base: decref(space, py_buf.c_b_base) else: rffi.free_charp(rffi.cast(rffi.CCHARP, py_buf.c_b_ptr)) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def buffer_dealloc(space, py_obj): py_buf = rffi.cast(PyBufferObject, py_obj) if py_buf.c_b_base: Py_DecRef(space, py_buf.c_b_base) else: rffi.free_charp(rffi.cast(rffi.CCHARP, py_buf.c_b_ptr)) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def tuple_dealloc(space, py_obj): """Frees allocated PyTupleObject resources. """ py_tup = rffi.cast(PyTupleObject, py_obj) p = py_tup.c_ob_item for i in range(py_tup.c_ob_size): decref(space, p[i]) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def slice_dealloc(space, py_obj): """Frees allocated PySliceObject resources. """ py_slice = rffi.cast(PySliceObject, py_obj) decref(space, py_slice.c_start) decref(space, py_slice.c_stop) decref(space, py_slice.c_step) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def slice_dealloc(space, py_obj): """Frees allocated PyBytesObject resources. """ py_slice = rffi.cast(PySliceObject, py_obj) Py_DecRef(space, py_slice.c_start) Py_DecRef(space, py_slice.c_stop) Py_DecRef(space, py_slice.c_step) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def memory_dealloc(space, py_obj): mem_obj = rffi.cast(PyMemoryViewObject, py_obj) view = mem_obj.c_view if view.c_obj: decref(space, view.c_obj) view.c_obj = rffi.cast(PyObject, 0) flags = widen(view.c_flags) if flags & FORMAT_ALLOCATED == FORMAT_ALLOCATED: lltype.free(view.c_format, flavor='raw') _dealloc(space, py_obj)
def type_dealloc(space, obj): from pypy.module.cpyext.object import _dealloc obj_pto = rffi.cast(PyTypeObjectPtr, obj) base_pyo = rffi.cast(PyObject, obj_pto.c_tp_base) Py_DecRef(space, obj_pto.c_tp_bases) Py_DecRef(space, obj_pto.c_tp_mro) Py_DecRef(space, obj_pto.c_tp_cache) # let's do it like cpython Py_DecRef(space, obj_pto.c_tp_dict) if obj_pto.c_tp_flags & Py_TPFLAGS_HEAPTYPE: heaptype = rffi.cast(PyHeapTypeObject, obj) Py_DecRef(space, heaptype.c_ht_name) Py_DecRef(space, base_pyo) _dealloc(space, obj)
def type_dealloc(space, obj): from pypy.module.cpyext.object import _dealloc obj_pto = rffi.cast(PyTypeObjectPtr, obj) base_pyo = rffi.cast(PyObject, obj_pto.c_tp_base) decref(space, obj_pto.c_tp_bases) decref(space, obj_pto.c_tp_mro) decref(space, obj_pto.c_tp_cache) # let's do it like cpython decref(space, obj_pto.c_tp_dict) if obj_pto.c_tp_flags & Py_TPFLAGS_HEAPTYPE: heaptype = rffi.cast(PyHeapTypeObject, obj) decref(space, heaptype.c_ht_name) decref(space, base_pyo) _dealloc(space, obj)
def type_dealloc(space, py_obj): from pypy.module.cpyext.object import _dealloc state = space.fromcache(State) # cannot raise here, so just crash assert len(state.datetimeAPI) > 0 if state.datetimeAPI[0].c_TimeType == py_obj.c_ob_type: py_datetime = rffi.cast(PyDateTime_Time, py_obj) if (widen(py_datetime.c_hastzinfo) != 0): decref(space, py_datetime.c_tzinfo) elif state.datetimeAPI[0].c_DateTimeType == py_obj.c_ob_type: py_datetime = rffi.cast(PyDateTime_DateTime, py_obj) if (widen(py_datetime.c_hastzinfo) != 0): decref(space, py_datetime.c_tzinfo) _dealloc(space, py_obj)
def bytes_dealloc(space, py_obj): """Frees allocated PyBytesObject resources. """ from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def date_dealloc(space, py_obj): from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def type_dealloc(space, py_obj): py_datetime = rffi.cast(PyDateTime_Time, py_obj) if (widen(py_datetime.c_hastzinfo) != 0): decref(space, py_datetime.c_tzinfo) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def gi_dealloc(space, py_obj): _dealloc(space, py_obj)
def cfunction_dealloc(space, py_obj): py_func = rffi.cast(PyCFunctionObject, py_obj) Py_DecRef(space, py_func.c_m_self) Py_DecRef(space, py_func.c_m_module) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def set_dealloc(space, py_obj): py_set = rffi.cast(PySetObject, py_obj) decref(space, py_set.c__tmplist) py_set.c__tmplist = lltype.nullptr(PyObject.TO) _dealloc(space, py_obj)
def stopiteration_dealloc(space, py_obj): py_stopiteration = rffi.cast(PyStopIterationObject, py_obj) decref(space, py_stopiteration.c_value) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def function_dealloc(space, py_obj): py_func = rffi.cast(PyFunctionObject, py_obj) Py_DecRef(space, py_func.c_func_name) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def traceback_dealloc(space, py_obj): py_traceback = rffi.cast(PyTracebackObject, py_obj) Py_DecRef(space, rffi.cast(PyObject, py_traceback.c_tb_next)) Py_DecRef(space, rffi.cast(PyObject, py_traceback.c_tb_frame)) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def module_dealloc(space, py_obj): py_module = rffi.cast(PyModuleObject, py_obj) if py_module.c_md_state: lltype.free(py_module.c_md_state, flavor='raw') from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def code_dealloc(space, py_obj): py_code = rffi.cast(PyCodeObject, py_obj) Py_DecRef(space, py_code.c_co_name) Py_DecRef(space, py_code.c_co_filename) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)
def dict_dealloc(space, py_obj): py_dict = rffi.cast(PyDictObject, py_obj) decref(space, py_dict.c__tmpkeys) py_dict.c__tmpkeys = lltype.nullptr(PyObject.TO) _dealloc(space, py_obj)
def memory_dealloc(space, py_obj): mem_obj = rffi.cast(PyMemoryViewObject, py_obj) if mem_obj.c_view.c_obj: decref(space, mem_obj.c_view.c_obj) mem_obj.c_view.c_obj = rffi.cast(PyObject, 0) _dealloc(space, py_obj)
def descr_dealloc(space, py_obj): from pypy.module.cpyext.object import _dealloc py_descr = cts.cast('PyDescrObject*', py_obj) decref(space, py_descr.c_d_type) decref(space, py_descr.c_d_name) _dealloc(space, py_obj)
def traceback_dealloc(space, py_obj): py_traceback = rffi.cast(PyTracebackObject, py_obj) decref(space, rffi.cast(PyObject, py_traceback.c_tb_next)) decref(space, rffi.cast(PyObject, py_traceback.c_tb_frame)) from pypy.module.cpyext.object import _dealloc _dealloc(space, py_obj)