bpo-29607: Fix stack_effect computation for CALL_FUNCTION_EX (GH-219)

(cherry picked from commit 3a9ac827c7)
This commit is contained in:
INADA Naoki 2017-02-22 02:33:24 +09:00 committed by GitHub
parent e48fd93bbb
commit 3ab24bdd47
2 changed files with 4 additions and 1 deletions

View file

@ -10,6 +10,9 @@ What's New in Python 3.6.1 release candidate 1?
Core and Builtins
-----------------
- bpo-29607: Fix stack_effect computation for CALL_FUNCTION_EX.
Patch by Matthieu Dartiailh.
- bpo-29602: Fix incorrect handling of signed zeros in complex constructor for
complex subclasses and for inputs having a __complex__ method. Patch
by Serhiy Storchaka.

View file

@ -1043,7 +1043,7 @@ PyCompile_OpcodeStackEffect(int opcode, int oparg)
case CALL_FUNCTION_KW:
return -oparg-1;
case CALL_FUNCTION_EX:
return - ((oparg & 0x01) != 0) - ((oparg & 0x02) != 0);
return -1 - ((oparg & 0x01) != 0);
case MAKE_FUNCTION:
return -1 - ((oparg & 0x01) != 0) - ((oparg & 0x02) != 0) -
((oparg & 0x04) != 0) - ((oparg & 0x08) != 0);