gh-132775: Add _PyCode_GetXIData() (gh-133475)

This commit is contained in:
Eric Snow 2025-05-05 17:46:03 -06:00 committed by GitHub
parent e9616110aa
commit ea598730ef
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 116 additions and 6 deletions

View file

@ -654,6 +654,30 @@ error:
return -1;
}
// code
PyObject *
_PyCode_FromXIData(_PyXIData_t *xidata)
{
return _PyMarshal_ReadObjectFromXIData(xidata);
}
int
_PyCode_GetXIData(PyThreadState *tstate, PyObject *obj, _PyXIData_t *xidata)
{
if (!PyCode_Check(obj)) {
_PyXIData_FormatNotShareableError(tstate, "expected code, got %R", obj);
return -1;
}
if (_PyMarshal_GetXIData(tstate, obj, xidata) < 0) {
return -1;
}
assert(_PyXIData_CHECK_NEW_OBJECT(xidata, _PyMarshal_ReadObjectFromXIData));
_PyXIData_SET_NEW_OBJECT(xidata, _PyCode_FromXIData);
return 0;
}
// registration
static void