Backed out changeset e7062dd9085e (#25731)
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 7015667..d78f298 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -6272,7 +6272,7 @@
                sanity checks and constructing a new argument
                list.  Cut all that nonsense short -- this speeds
                up instance creation tremendously. */
-            specific = (void *)((PyTypeObject *)PyCFunction_GET_SELF(descr))->tp_new;
+            specific = (void *)type->tp_new;
             /* XXX I'm not 100% sure that there isn't a hole
                in this reasoning that requires additional
                sanity checks.  I'll buy the first person to