* Eliminate duplicate call to PyObject_Size().
  (Spotted by Michael Hudson.)

* Now that "selflen" is no longer inside a loop, it should not be a
  register variable.
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 78def29..9ee5756 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -650,12 +650,13 @@
 static int
 listextend_internal(PyListObject *self, PyObject *b)
 {
-	register int selflen = PyList_GET_SIZE(self);
+	int selflen = PyList_GET_SIZE(self);
 	int blen;
 	register int i;
 	PyObject **src, **dest;
 
-	if (PyObject_Size(b) == 0) {
+	blen = PyObject_Size(b);
+	if (blen == 0) {
 		/* short circuit when b is empty */
 		Py_DECREF(b);
 		return 0;
@@ -679,7 +680,6 @@
 		}
 	}
 
-	blen = PyObject_Size(b);
 	if (list_resize(self, selflen + blen) == -1) {
 		Py_DECREF(b);
 		return -1;