SF bug #1004088:   big code objects (>64K) may be optimized incorrectly
Will backport.
diff --git a/Python/compile.c b/Python/compile.c
index 0b5ba6c..5c67987 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -379,6 +379,11 @@
 	if (codestr == NULL)
 		goto exitUnchanged;
 	codestr = memcpy(codestr, PyString_AS_STRING(code), codelen);
+
+	/* Avoid situations where jump retargeting could overflow */
+	if (codelen > 65000)
+		goto exitUnchanged;
+
 	blocks = markblocks(codestr, codelen);
 	if (blocks == NULL) {
 		PyMem_Free(codestr);