Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
diff --git a/Objects/descrobject.c b/Objects/descrobject.c
index 6e2d34e..b328a45 100644
--- a/Objects/descrobject.c
+++ b/Objects/descrobject.c
@@ -1311,7 +1311,7 @@
                 in dict of the subclass instance instead,
                 otherwise it gets shadowed by __doc__ in the
                 class's dict. */
-                int err = PyObject_SetAttrString(self, "__doc__", get_doc);
+                int err = _PyObject_SetAttrId(self, &PyId___doc__, get_doc);
                 Py_DECREF(get_doc);
                 if (err < 0)
                     return -1;
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 3896b31..865feff 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -1387,7 +1387,8 @@
         result = -1;
 
     else if (arg != NULL) {
-        if (PyObject_HasAttrString(arg, "keys"))
+        _Py_IDENTIFIER(keys);
+        if (_PyObject_HasAttrId(arg, &PyId_keys))
             result = PyDict_Merge(self, arg, 1);
         else
             result = PyDict_MergeFromSeq2(self, arg, 1);
@@ -2747,7 +2748,7 @@
 {
     PyObject *result = PySet_New(self);
     PyObject *tmp;
-    _Py_identifier(update);
+    _Py_IDENTIFIER(update);
 
     if (result == NULL)
         return NULL;