Micro optimization. In the first case, we know that frame->f_exc_type
is NULL, so there's no reason to do anything with it. In the second case,
we know frame->f_exc_type is not NULL, so we can just do an INCREF.
diff --git a/Python/ceval.c b/Python/ceval.c
index bfc6108..d242414 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2899,7 +2899,6 @@
Py_INCREF(Py_None);
tstate->exc_type = Py_None;
}
- tmp_type = frame->f_exc_type;
tmp_value = frame->f_exc_value;
tmp_tb = frame->f_exc_traceback;
Py_XINCREF(tstate->exc_type);
@@ -2908,7 +2907,6 @@
frame->f_exc_type = tstate->exc_type;
frame->f_exc_value = tstate->exc_value;
frame->f_exc_traceback = tstate->exc_traceback;
- Py_XDECREF(tmp_type);
Py_XDECREF(tmp_value);
Py_XDECREF(tmp_tb);
}
@@ -2942,7 +2940,7 @@
tmp_type = tstate->exc_type;
tmp_value = tstate->exc_value;
tmp_tb = tstate->exc_traceback;
- Py_XINCREF(frame->f_exc_type);
+ Py_INCREF(frame->f_exc_type);
Py_XINCREF(frame->f_exc_value);
Py_XINCREF(frame->f_exc_traceback);
tstate->exc_type = frame->f_exc_type;