bpo-29607: Fix stack_effect computation for CALL_FUNCTION_EX (#202)

This commit is contained in:
Matthieu Dartiailh 2017-02-21 14:25:22 +01:00 committed by Serhiy Storchaka
parent fb8fe72fc5
commit 3a9ac827c7
2 changed files with 4 additions and 1 deletions

View File

@ -10,6 +10,9 @@ What's New in Python 3.7.0 alpha 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

@ -1045,7 +1045,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);