mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 03:09:18 +02:00
modify and cleanup python headers and libs
This commit is contained in:
@@ -56,7 +56,7 @@ must use the platform malloc heap(s), or shared memory, or C++ local storage or
|
||||
operator new), you must first allocate the object with your custom allocator,
|
||||
then pass its pointer to PyObject_{Init, InitVar} for filling in its Python-
|
||||
specific fields: reference count, type pointer, possibly others. You should
|
||||
be aware that Python no control over these objects because they don't
|
||||
be aware that Python has no control over these objects because they don't
|
||||
cooperate with the Python memory manager. Such objects may not be eligible
|
||||
for automatic garbage collection and you have to make sure that they are
|
||||
released accordingly whenever their destructor gets called (cf. the specific
|
||||
@@ -248,6 +248,20 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t);
|
||||
/* for source compatibility with 2.2 */
|
||||
#define _PyObject_GC_Del PyObject_GC_Del
|
||||
|
||||
/*
|
||||
* Former over-aligned definition of PyGC_Head, used to compute the size of the
|
||||
* padding for the new version below.
|
||||
*/
|
||||
union _gc_head;
|
||||
union _gc_head_old {
|
||||
struct {
|
||||
union _gc_head_old *gc_next;
|
||||
union _gc_head_old *gc_prev;
|
||||
Py_ssize_t gc_refs;
|
||||
} gc;
|
||||
long double dummy;
|
||||
};
|
||||
|
||||
/* GC information is stored BEFORE the object structure. */
|
||||
typedef union _gc_head {
|
||||
struct {
|
||||
@@ -255,7 +269,8 @@ typedef union _gc_head {
|
||||
union _gc_head *gc_prev;
|
||||
Py_ssize_t gc_refs;
|
||||
} gc;
|
||||
long double dummy; /* force worst-case alignment */
|
||||
double dummy; /* Force at least 8-byte alignment. */
|
||||
char dummy_padding[sizeof(union _gc_head_old)];
|
||||
} PyGC_Head;
|
||||
|
||||
extern PyGC_Head *_PyGC_generation0;
|
||||
|
||||
Reference in New Issue
Block a user