diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst
index 8a1431c..75e2383 100644
--- a/Doc/c-api/structures.rst
+++ b/Doc/c-api/structures.rst
@@ -101,6 +101,13 @@
       (((PyVarObject*)(o))->ob_size)
 
 
+.. c:function:: void Py_SET_SIZE(PyVarObject *o, Py_ssize_t size)
+
+   Set the object *o* size of *size*.
+
+   .. versionadded:: 3.9
+
+
 .. c:macro:: PyObject_HEAD_INIT(type)
 
    This is a macro which expands to initialization values for a new
diff --git a/Include/cpython/objimpl.h b/Include/cpython/objimpl.h
index ebb3e23..8e3c964 100644
--- a/Include/cpython/objimpl.h
+++ b/Include/cpython/objimpl.h
@@ -30,7 +30,7 @@
 _PyObject_INIT_VAR(PyVarObject *op, PyTypeObject *typeobj, Py_ssize_t size)
 {
     assert(op != NULL);
-    Py_SIZE(op) = size;
+    Py_SET_SIZE(op, size);
     PyObject_INIT((PyObject *)op, typeobj);
     return op;
 }
diff --git a/Include/object.h b/Include/object.h
index eb887f4..68200f7 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -133,6 +133,11 @@
 }
 #define Py_SET_TYPE(ob, type) _Py_SET_TYPE(_PyObject_CAST(ob), type)
 
+static inline void _Py_SET_SIZE(PyVarObject *ob, Py_ssize_t refcnt) {
+    ob->ob_size = refcnt;
+}
+#define Py_SET_SIZE(ob, refcnt) _Py_SET_SIZE(_PyVarObject_CAST(ob), refcnt)
+
 
 /*
 Type objects contain a string containing the type name (to help somewhat
diff --git a/Misc/NEWS.d/next/C API/2020-02-07-10-41-53.bpo-39573.EG9VDI.rst b/Misc/NEWS.d/next/C API/2020-02-07-10-41-53.bpo-39573.EG9VDI.rst
new file mode 100644
index 0000000..d84cddc
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2020-02-07-10-41-53.bpo-39573.EG9VDI.rst
@@ -0,0 +1 @@
+Add :c:func:`Py_SET_SIZE` function to set the size of an object.
diff --git a/Objects/object.c b/Objects/object.c
index ff6c497..81de3b8 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -160,7 +160,7 @@
         return (PyVarObject *) PyErr_NoMemory();
     }
 
-    Py_SIZE(op) = size;
+    Py_SET_SIZE(op, size);
     PyObject_Init((PyObject *)op, tp);
     return op;
 }
