diff -r 07d8272d61e7 Python/compile.c --- a/Python/compile.c Mon Nov 28 12:06:13 2016 +0100 +++ b/Python/compile.c Mon Nov 28 17:47:48 2016 +0200 @@ -3344,11 +3344,8 @@ compiler_dict(struct compiler *c, expr_t /* If there is more than one dict, they need to be merged into a new * dict. If there is one dict and it's an unpacking, then it needs * to be copied into a new dict." */ - while (containers > 1 || is_unpacking) { - int oparg = containers < 255 ? containers : 255; - ADDOP_I(c, BUILD_MAP_UNPACK, oparg); - containers -= (oparg - 1); - is_unpacking = 0; + if (containers > 1 || is_unpacking) { + ADDOP_I(c, BUILD_MAP_UNPACK, containers); } return 1; }