Initial support for Python 3.6 disassembly
This commit is contained in:
@@ -11,7 +11,7 @@ endif()
|
|||||||
set(PYTHON_VERSIONS
|
set(PYTHON_VERSIONS
|
||||||
10 11 13 14 15 16 # Python 1.1 and 1.2 are marshal-identical
|
10 11 13 14 15 16 # Python 1.1 and 1.2 are marshal-identical
|
||||||
20 21 22 23 24 25 26 27
|
20 21 22 23 24 25 26 27
|
||||||
30 31 32 33 34 35
|
30 31 32 33 34 35 36
|
||||||
)
|
)
|
||||||
|
|
||||||
foreach(ver ${PYTHON_VERSIONS})
|
foreach(ver ${PYTHON_VERSIONS})
|
||||||
|
@@ -5,7 +5,7 @@ Python MAGIC Python MAGIC Python MAGIC
|
|||||||
1.3 0x0A0D2E89 2.3 0x0A0DF23B 3.3 0x0A0D0C9E
|
1.3 0x0A0D2E89 2.3 0x0A0DF23B 3.3 0x0A0D0C9E
|
||||||
1.4 0x0A0D1704 2.4 0x0A0DF26D 3.4 0x0A0D0CEE
|
1.4 0x0A0D1704 2.4 0x0A0DF26D 3.4 0x0A0D0CEE
|
||||||
1.5 0x0A0D4E99 2.5 0x0A0DF2B3 3.5 0x0A0D0D16
|
1.5 0x0A0D4E99 2.5 0x0A0DF2B3 3.5 0x0A0D0D16
|
||||||
1.6 0x0A0DC4FC 2.6 0x0A0DF2D1
|
1.6 0x0A0DC4FC 2.6 0x0A0DF2D1 3.6 0x0A0D0D2C
|
||||||
2.7 0x0A0DF303
|
2.7 0x0A0DF303
|
||||||
|
|
||||||
|
|
||||||
@@ -346,173 +346,173 @@ MAP_ADD [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
|||||||
.
|
.
|
||||||
|
|
||||||
|
|
||||||
3.0 3.1 3.2 3.3 3.4 3.5
|
3.0 3.1 3.2 3.3 3.4 3.5 3.6
|
||||||
STOP_CODE [X] [X] [X] [ ] [ ] [ ]
|
STOP_CODE [X] [X] [X] [ ] [ ] [ ] [ ]
|
||||||
POP_TOP [X] [X] [X] [X] [X] [X]
|
POP_TOP [X] [X] [X] [X] [X] [X] [X]
|
||||||
ROT_TWO [X] [X] [X] [X] [X] [X]
|
ROT_TWO [X] [X] [X] [X] [X] [X] [X]
|
||||||
ROT_THREE [X] [X] [X] [X] [X] [X]
|
ROT_THREE [X] [X] [X] [X] [X] [X] [X]
|
||||||
DUP_TOP [X] [X] [X] [X] [X] [X]
|
DUP_TOP [X] [X] [X] [X] [X] [X] [X]
|
||||||
ROT_FOUR ! [X] [X]
|
ROT_FOUR ! [X] [X]
|
||||||
DUP_TOP_TWO ! [X] [X] [X] [X]
|
DUP_TOP_TWO ! [X] [X] [X] [X] [X]
|
||||||
<6> [ ] [ ] [ ] [ ] [ ] [ ]
|
<6> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<7> [ ] [ ] [ ] [ ] [ ] [ ]
|
<7> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<8> [ ] [ ] [ ] [ ] [ ] [ ]
|
<8> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
NOP [X] [X] [X] [X] [X] [X]
|
NOP [X] [X] [X] [X] [X] [X] [X]
|
||||||
UNARY_POSITIVE [X] [X] [X] [X] [X] [X]
|
UNARY_POSITIVE [X] [X] [X] [X] [X] [X] [X]
|
||||||
UNARY_NEGATIVE [X] [X] [X] [X] [X] [X]
|
UNARY_NEGATIVE [X] [X] [X] [X] [X] [X] [X]
|
||||||
UNARY_NOT [X] [X] [X] [X] [X] [X]
|
UNARY_NOT [X] [X] [X] [X] [X] [X] [X]
|
||||||
<13> [ ] [ ] [ ] [ ] [ ] [ ]
|
<13> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<14> [ ] [ ] [ ] [ ] [ ] [ ]
|
<14> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
UNARY_INVERT [X] [X] [X] [X] [X] [X]
|
UNARY_INVERT [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_MATRIX_MULTIPLY [ ] [ ] [ ] [ ] [ ] [X]
|
BINARY_MATRIX_MULTIPLY [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
SET_ADD ! [X] [ ] [ ] [ ] [ ]
|
SET_ADD ! [X] [ ] [ ] [ ] [ ]
|
||||||
INPLACE_MATRIX_MULTIPLY ! [X]
|
INPLACE_MATRIX_MULTIPLY ! [X] [X]
|
||||||
LIST_APPEND [X] [ ] [ ] [ ] [ ] [ ]
|
LIST_APPEND [X] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
BINARY_POWER [X] [X] [X] [X] [X] [X]
|
BINARY_POWER [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_MULTIPLY [X] [X] [X] [X] [X] [X]
|
BINARY_MULTIPLY [X] [X] [X] [X] [X] [X] [X]
|
||||||
<21> [ ] [ ] [ ] [ ] [ ] [ ]
|
<21> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
BINARY_MODULO [X] [X] [X] [X] [X] [X]
|
BINARY_MODULO [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_ADD [X] [X] [X] [X] [X] [X]
|
BINARY_ADD [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_SUBTRACT [X] [X] [X] [X] [X] [X]
|
BINARY_SUBTRACT [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_SUBSCR [X] [X] [X] [X] [X] [X]
|
BINARY_SUBSCR [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_FLOOR_DIVIDE [X] [X] [X] [X] [X] [X]
|
BINARY_FLOOR_DIVIDE [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_TRUE_DIVIDE [X] [X] [X] [X] [X] [X]
|
BINARY_TRUE_DIVIDE [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_FLOOR_DIVIDE [X] [X] [X] [X] [X] [X]
|
INPLACE_FLOOR_DIVIDE [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_TRUE_DIVIDE [X] [X] [X] [X] [X] [X]
|
INPLACE_TRUE_DIVIDE [X] [X] [X] [X] [X] [X] [X]
|
||||||
<30> [ ] [ ] [ ] [ ] [ ] [ ]
|
<30> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<31> [ ] [ ] [ ] [ ] [ ] [ ]
|
<31> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<32> [ ] [ ] [ ] [ ] [ ] [ ]
|
<32> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<33> [ ] [ ] [ ] [ ] [ ] [ ]
|
<33> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<34> [ ] [ ] [ ] [ ] [ ] [ ]
|
<34> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<35> [ ] [ ] [ ] [ ] [ ] [ ]
|
<35> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<36> [ ] [ ] [ ] [ ] [ ] [ ]
|
<36> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<37> [ ] [ ] [ ] [ ] [ ] [ ]
|
<37> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<38> [ ] [ ] [ ] [ ] [ ] [ ]
|
<38> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<39> [ ] [ ] [ ] [ ] [ ] [ ]
|
<39> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<40> [ ] [ ] [ ] [ ] [ ] [ ]
|
<40> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<41> [ ] [ ] [ ] [ ] [ ] [ ]
|
<41> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<42> [ ] [ ] [ ] [ ] [ ] [ ]
|
<42> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<43> [ ] [ ] [ ] [ ] [ ] [ ]
|
<43> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<44> [ ] [ ] [ ] [ ] [ ] [ ]
|
<44> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<45> [ ] [ ] [ ] [ ] [ ] [ ]
|
<45> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<46> [ ] [ ] [ ] [ ] [ ] [ ]
|
<46> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<47> [ ] [ ] [ ] [ ] [ ] [ ]
|
<47> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<48> [ ] [ ] [ ] [ ] [ ] [ ]
|
<48> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<49> [ ] [ ] [ ] [ ] [ ] [ ]
|
<49> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
GET_AITER [ ] [ ] [ ] [ ] [ ] [X]
|
GET_AITER [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
GET_ANEXT [ ] [ ] [ ] [ ] [ ] [X]
|
GET_ANEXT [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
BEFORE_ASYNC_WITH [ ] [ ] [ ] [ ] [ ] [X]
|
BEFORE_ASYNC_WITH [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
<53> [ ] [ ] [ ] [ ] [ ] [ ]
|
<53> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
STORE_MAP [X] [X] [X] [X] [X] [ ]
|
STORE_MAP [X] [X] [X] [X] [X] [ ] [ ]
|
||||||
INPLACE_ADD [X] [X] [X] [X] [X] [X]
|
INPLACE_ADD [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_SUBTRACT [X] [X] [X] [X] [X] [X]
|
INPLACE_SUBTRACT [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_MULTIPLY [X] [X] [X] [X] [X] [X]
|
INPLACE_MULTIPLY [X] [X] [X] [X] [X] [X] [X]
|
||||||
<58> [ ] [ ] [ ] [ ] [ ] [ ]
|
<58> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
INPLACE_MODULO [X] [X] [X] [X] [X] [X]
|
INPLACE_MODULO [X] [X] [X] [X] [X] [X] [X]
|
||||||
STORE_SUBSCR [X] [X] [X] [X] [X] [X]
|
STORE_SUBSCR [X] [X] [X] [X] [X] [X] [X]
|
||||||
DELETE_SUBSCR [X] [X] [X] [X] [X] [X]
|
DELETE_SUBSCR [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_LSHIFT [X] [X] [X] [X] [X] [X]
|
BINARY_LSHIFT [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_RSHIFT [X] [X] [X] [X] [X] [X]
|
BINARY_RSHIFT [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_AND [X] [X] [X] [X] [X] [X]
|
BINARY_AND [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_XOR [X] [X] [X] [X] [X] [X]
|
BINARY_XOR [X] [X] [X] [X] [X] [X] [X]
|
||||||
BINARY_OR [X] [X] [X] [X] [X] [X]
|
BINARY_OR [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_POWER [X] [X] [X] [X] [X] [X]
|
INPLACE_POWER [X] [X] [X] [X] [X] [X] [X]
|
||||||
GET_ITER [X] [X] [X] [X] [X] [X]
|
GET_ITER [X] [X] [X] [X] [X] [X] [X]
|
||||||
STORE_LOCALS ! [X] [X] [X] [X] [ ]
|
STORE_LOCALS ! [X] [X] [X] [X] [ ]
|
||||||
GET_YIELD_FROM_ITER ! [X]
|
GET_YIELD_FROM_ITER ! [X] [X]
|
||||||
PRINT_EXPR [X] [X] [X] [X] [X] [X]
|
PRINT_EXPR [X] [X] [X] [X] [X] [X] [X]
|
||||||
LOAD_BUILD_CLASS [X] [X] [X] [X] [X] [X]
|
LOAD_BUILD_CLASS [X] [X] [X] [X] [X] [X] [X]
|
||||||
YIELD_FROM [ ] [ ] [ ] [X] [X] [X]
|
YIELD_FROM [ ] [ ] [ ] [X] [X] [X] [X]
|
||||||
GET_AWAITABLE [ ] [ ] [ ] [ ] [ ] [X]
|
GET_AWAITABLE [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
<74> [ ] [ ] [ ] [ ] [ ] [ ]
|
<74> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
INPLACE_LSHIFT [X] [X] [X] [X] [X] [X]
|
INPLACE_LSHIFT [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_RSHIFT [X] [X] [X] [X] [X] [X]
|
INPLACE_RSHIFT [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_AND [X] [X] [X] [X] [X] [X]
|
INPLACE_AND [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_XOR [X] [X] [X] [X] [X] [X]
|
INPLACE_XOR [X] [X] [X] [X] [X] [X] [X]
|
||||||
INPLACE_OR [X] [X] [X] [X] [X] [X]
|
INPLACE_OR [X] [X] [X] [X] [X] [X] [X]
|
||||||
BREAK_LOOP [X] [X] [X] [X] [X] [X]
|
BREAK_LOOP [X] [X] [X] [X] [X] [X] [X]
|
||||||
WITH_CLEANUP ! [X] [X] [X] [X] [X]
|
WITH_CLEANUP ! [X] [X] [X] [X] [X]
|
||||||
WITH_CLEANUP_START ! [X]
|
WITH_CLEANUP_START ! [X] [X]
|
||||||
WITH_CLEANUP_FINISH [ ] [ ] [ ] [ ] [ ] [X]
|
WITH_CLEANUP_FINISH [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
RETURN_VALUE [X] [X] [X] [X] [X] [X]
|
RETURN_VALUE [X] [X] [X] [X] [X] [X] [X]
|
||||||
IMPORT_STAR [X] [X] [X] [X] [X] [X]
|
IMPORT_STAR [X] [X] [X] [X] [X] [X] [X]
|
||||||
<85> [ ] [ ] [ ] [ ] [ ] [ ]
|
<85> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
YIELD_VALUE [X] [X] [X] [X] [X] [X]
|
YIELD_VALUE [X] [X] [X] [X] [X] [X] [X]
|
||||||
POP_BLOCK [X] [X] [X] [X] [X] [X]
|
POP_BLOCK [X] [X] [X] [X] [X] [X] [X]
|
||||||
END_FINALLY [X] [X] [X] [X] [X] [X]
|
END_FINALLY [X] [X] [X] [X] [X] [X] [X]
|
||||||
POP_EXCEPT [X] [X] [X] [X] [X] [X]
|
POP_EXCEPT [X] [X] [X] [X] [X] [X] [X]
|
||||||
STORE_NAME [X] [X] [X] [X] [X] [X]
|
STORE_NAME [X] [X] [X] [X] [X] [X] [X]
|
||||||
DELETE_NAME [X] [X] [X] [X] [X] [X]
|
DELETE_NAME [X] [X] [X] [X] [X] [X] [X]
|
||||||
UNPACK_SEQUENCE [X] [X] [X] [X] [X] [X]
|
UNPACK_SEQUENCE [X] [X] [X] [X] [X] [X] [X]
|
||||||
FOR_ITER [X] [X] [X] [X] [X] [X]
|
FOR_ITER [X] [X] [X] [X] [X] [X] [X]
|
||||||
UNPACK_EX [X] [X] [X] [X] [X] [X]
|
UNPACK_EX [X] [X] [X] [X] [X] [X] [X]
|
||||||
STORE_ATTR [X] [X] [X] [X] [X] [X]
|
STORE_ATTR [X] [X] [X] [X] [X] [X] [X]
|
||||||
DELETE_ATTR [X] [X] [X] [X] [X] [X]
|
DELETE_ATTR [X] [X] [X] [X] [X] [X] [X]
|
||||||
STORE_GLOBAL [X] [X] [X] [X] [X] [X]
|
STORE_GLOBAL [X] [X] [X] [X] [X] [X] [X]
|
||||||
DELETE_GLOBAL [X] [X] [X] [X] [X] [X]
|
DELETE_GLOBAL [X] [X] [X] [X] [X] [X] [X]
|
||||||
DUP_TOPX [X] [X] [ ] [ ] [ ] [ ]
|
DUP_TOPX [X] [X] [ ] [ ] [ ] [ ] [ ]
|
||||||
LOAD_CONST [X] [X] [X] [X] [X] [X]
|
LOAD_CONST [X] [X] [X] [X] [X] [X] [X]
|
||||||
LOAD_NAME [X] [X] [X] [X] [X] [X]
|
LOAD_NAME [X] [X] [X] [X] [X] [X] [X]
|
||||||
BUILD_TUPLE [X] [X] [X] [X] [X] [X]
|
BUILD_TUPLE [X] [X] [X] [X] [X] [X] [X]
|
||||||
BUILD_LIST [X] [X] [X] [X] [X] [X]
|
BUILD_LIST [X] [X] [X] [X] [X] [X] [X]
|
||||||
BUILD_SET [X] [X] [X] [X] [X] [X]
|
BUILD_SET [X] [X] [X] [X] [X] [X] [X]
|
||||||
BUILD_MAP [X] [X] [X] [X] [X] [X]
|
BUILD_MAP [X] [X] [X] [X] [X] [X] [X]
|
||||||
LOAD_ATTR [X] [X] [X] [X] [X] [X]
|
LOAD_ATTR [X] [X] [X] [X] [X] [X] [X]
|
||||||
COMPARE_OP [X] [X] [X] [X] [X] [X]
|
COMPARE_OP [X] [X] [X] [X] [X] [X] [X]
|
||||||
IMPORT_NAME [X] [X] [X] [X] [X] [X]
|
IMPORT_NAME [X] [X] [X] [X] [X] [X] [X]
|
||||||
IMPORT_FROM [X] [X] [X] [X] [X] [X]
|
IMPORT_FROM [X] [X] [X] [X] [X] [X] [X]
|
||||||
JUMP_FORWARD [X] [X] [X] [X] [X] [X]
|
JUMP_FORWARD [X] [X] [X] [X] [X] [X] [X]
|
||||||
JUMP_IF_FALSE (_OR_POP) [X] [X] [+] [+] [+] [+]
|
JUMP_IF_FALSE (_OR_POP) [X] [X] [+] [+] [+] [+] [+]
|
||||||
JUMP_IF_TRUE (_OR_POP) [X] [X] [+] [+] [+] [+]
|
JUMP_IF_TRUE (_OR_POP) [X] [X] [+] [+] [+] [+] [+]
|
||||||
JUMP_ABSOLUTE [X] [X] [X] [X] [X] [X]
|
JUMP_ABSOLUTE [X] [X] [X] [X] [X] [X] [X]
|
||||||
POP_JUMP_IF_FALSE [ ] [X] [X] [X] [X] [X]
|
POP_JUMP_IF_FALSE [ ] [X] [X] [X] [X] [X] [X]
|
||||||
POP_JUMP_IF_TRUE [ ] [X] [X] [X] [X] [X]
|
POP_JUMP_IF_TRUE [ ] [X] [X] [X] [X] [X] [X]
|
||||||
LOAD_GLOBAL [X] [X] [X] [X] [X] [X]
|
LOAD_GLOBAL [X] [X] [X] [X] [X] [X] [X]
|
||||||
<117> [ ] [ ] [ ] [ ] [ ] [ ]
|
<117> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<118> [ ] [ ] [ ] [ ] [ ] [ ]
|
<118> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
CONTINUE_LOOP [X] [X] [X] [X] [X] [X]
|
CONTINUE_LOOP [X] [X] [X] [X] [X] [X] [X]
|
||||||
SETUP_LOOP [X] [X] [X] [X] [X] [X]
|
SETUP_LOOP [X] [X] [X] [X] [X] [X] [X]
|
||||||
SETUP_EXCEPT [X] [X] [X] [X] [X] [X]
|
SETUP_EXCEPT [X] [X] [X] [X] [X] [X] [X]
|
||||||
SETUP_FINALLY [X] [X] [X] [X] [X] [X]
|
SETUP_FINALLY [X] [X] [X] [X] [X] [X] [X]
|
||||||
<123> [ ] [ ] [ ] [ ] [ ] [ ]
|
<123> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
LOAD_FAST [X] [X] [X] [X] [X] [X]
|
LOAD_FAST [X] [X] [X] [X] [X] [X] [X]
|
||||||
STORE_FAST [X] [X] [X] [X] [X] [X]
|
STORE_FAST [X] [X] [X] [X] [X] [X] [X]
|
||||||
DELETE_FAST [X] [X] [X] [X] [X] [X]
|
DELETE_FAST [X] [X] [X] [X] [X] [X] [X]
|
||||||
<127> [ ] [ ] [ ] [ ] [ ] [ ]
|
<127> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<128> [ ] [ ] [ ] [ ] [ ] [ ]
|
<128> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<129> [ ] [ ] [ ] [ ] [ ] [ ]
|
<129> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
RAISE_VARARGS [X] [X] [X] [X] [X] [X]
|
RAISE_VARARGS [X] [X] [X] [X] [X] [X] [X]
|
||||||
CALL_FUNCTION [X] [X] [X] [X] [X] [X]
|
CALL_FUNCTION [X] [X] [X] [X] [X] [X] [X]
|
||||||
MAKE_FUNCTION [X] [X] [X] [X] [X] [X]
|
MAKE_FUNCTION [X] [X] [X] [X] [X] [X] [X]
|
||||||
BUILD_SLICE [X] [X] [X] [X] [X] [X]
|
BUILD_SLICE [X] [X] [X] [X] [X] [X] [X]
|
||||||
MAKE_CLOSURE [X] [X] [X] [X] [X] [X]
|
MAKE_CLOSURE [X] [X] [X] [X] [X] [X] [ ]
|
||||||
LOAD_CLOSURE [X] [X] [X] [X] [X] [X]
|
LOAD_CLOSURE [X] [X] [X] [X] [X] [X] [X]
|
||||||
LOAD_DEREF [X] [X] [X] [X] [X] [X]
|
LOAD_DEREF [X] [X] [X] [X] [X] [X] [X]
|
||||||
STORE_DEREF [X] [X] [X] [X] [X] [X]
|
STORE_DEREF [X] [X] [X] [X] [X] [X] [X]
|
||||||
DELETE_DEREF [ ] [ ] [X] [X] [X] [X]
|
DELETE_DEREF [ ] [ ] [X] [X] [X] [X] [X]
|
||||||
<139> [ ] [ ] [ ] [ ] [ ] [ ]
|
<139> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
CALL_FUNCTION_VAR [X] [X] [X] [X] [X] [X]
|
CALL_FUNCTION_VAR [X] [X] [X] [X] [X] [X] [X]
|
||||||
CALL_FUNCTION_KW [X] [X] [X] [X] [X] [X]
|
CALL_FUNCTION_KW [X] [X] [X] [X] [X] [X] [X]
|
||||||
CALL_FUNCTION_VAR_KW [X] [X] [X] [X] [X] [X]
|
CALL_FUNCTION_VAR_KW [X] [X] [X] [X] [X] [X] [X]
|
||||||
EXTENDED_ARG ! [X] [X]
|
EXTENDED_ARG ! [X] [X]
|
||||||
SETUP_WITH ! [X] [X] [X] [X]
|
SETUP_WITH ! [X] [X] [X] [X] [X]
|
||||||
<144> ! [ ] [ ]
|
<144> ! [ ] [ ]
|
||||||
EXTENDED_ARG ! [X] [X] [X] [X]
|
EXTENDED_ARG ! [X] [X] [X] [X] [X]
|
||||||
LIST_APPEND [ ] [X] [X] [X] [X] [X]
|
LIST_APPEND [ ] [X] [X] [X] [X] [X] [X]
|
||||||
SET_ADD [ ] [X] [X] [X] [X] [X]
|
SET_ADD [ ] [X] [X] [X] [X] [X] [X]
|
||||||
MAP_ADD [ ] [X] [X] [X] [X] [X]
|
MAP_ADD [ ] [X] [X] [X] [X] [X] [X]
|
||||||
LOAD_CLASSDEREF [ ] [ ] [ ] [ ] [X] [X]
|
LOAD_CLASSDEREF [ ] [ ] [ ] [ ] [X] [X] [X]
|
||||||
BUILD_LIST_UNPACK [ ] [ ] [ ] [ ] [ ] [X]
|
BUILD_LIST_UNPACK [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
BUILD_MAP_UNPACK [ ] [ ] [ ] [ ] [ ] [X]
|
BUILD_MAP_UNPACK [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
BUILD_MAP_UNPACK_WITH_CALL [ ] [ ] [ ] [ ] [ ] [X]
|
BUILD_MAP_UNPACK_WITH_CALL [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
BUILD_TUPLE_UNPACK [ ] [ ] [ ] [ ] [ ] [X]
|
BUILD_TUPLE_UNPACK [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
BUILD_SET_UNPACK [ ] [ ] [ ] [ ] [ ] [X]
|
BUILD_SET_UNPACK [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
SETUP_ASYNC_WITH [ ] [ ] [ ] [ ] [ ] [X]
|
SETUP_ASYNC_WITH [ ] [ ] [ ] [ ] [ ] [X] [X]
|
||||||
<155> [ ] [ ] [ ] [ ] [ ] [ ]
|
FORMAT_VALUE [ ] [ ] [ ] [ ] [ ] [ ] [X]
|
||||||
<156> [ ] [ ] [ ] [ ] [ ] [ ]
|
BUILD_CONST_KEY_MAP [ ] [ ] [ ] [ ] [ ] [ ] [X]
|
||||||
<157> [ ] [ ] [ ] [ ] [ ] [ ]
|
<157> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<158> [ ] [ ] [ ] [ ] [ ] [ ]
|
<158> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
<159> [ ] [ ] [ ] [ ] [ ] [ ]
|
<159> [ ] [ ] [ ] [ ] [ ] [ ] [ ]
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
@@ -563,36 +563,36 @@ TYPE_SET '<' '<'
|
|||||||
TYPE_FROZENSET '>' '>' '>'
|
TYPE_FROZENSET '>' '>' '>'
|
||||||
|
|
||||||
|
|
||||||
3.0 3.1 3.2 3.3 3.4 3.5
|
3.0 3.1 3.2 3.3 3.4 3.5 3.6
|
||||||
TYPE_NULL '0' '0' '0' '0' '0' '0'
|
TYPE_NULL '0' '0' '0' '0' '0' '0' '0'
|
||||||
TYPE_NONE 'N' 'N' 'N' 'N' 'N' 'N'
|
TYPE_NONE 'N' 'N' 'N' 'N' 'N' 'N' 'N'
|
||||||
TYPE_FALSE 'F' 'F' 'F' 'F' 'F' 'F'
|
TYPE_FALSE 'F' 'F' 'F' 'F' 'F' 'F' 'F'
|
||||||
TYPE_TRUE 'T' 'T' 'T' 'T' 'T' 'T'
|
TYPE_TRUE 'T' 'T' 'T' 'T' 'T' 'T' 'T'
|
||||||
TYPE_STOPITER 'S' 'S' 'S' 'S' 'S' 'S'
|
TYPE_STOPITER 'S' 'S' 'S' 'S' 'S' 'S' 'S'
|
||||||
TYPE_ELLIPSIS '.' '.' '.' '.' '.' '.'
|
TYPE_ELLIPSIS '.' '.' '.' '.' '.' '.' '.'
|
||||||
TYPE_INT 'i' 'i' 'i' 'i' 'i' 'i'
|
TYPE_INT 'i' 'i' 'i' 'i' 'i' 'i' 'i'
|
||||||
TYPE_INT64 'I' 'I' 'I' 'I'
|
TYPE_INT64 'I' 'I' 'I' 'I'
|
||||||
TYPE_FLOAT 'f' 'f' 'f' 'f' 'f' 'f'
|
TYPE_FLOAT 'f' 'f' 'f' 'f' 'f' 'f' 'f'
|
||||||
TYPE_BINARY_FLOAT 'g' 'g' 'g' 'g' 'g' 'g'
|
TYPE_BINARY_FLOAT 'g' 'g' 'g' 'g' 'g' 'g' 'g'
|
||||||
TYPE_COMPLEX 'x' 'x' 'x' 'x' 'x' 'x'
|
TYPE_COMPLEX 'x' 'x' 'x' 'x' 'x' 'x' 'x'
|
||||||
TYPE_BINARY_COMPLEX 'y' 'y' 'y' 'y' 'y' 'y'
|
TYPE_BINARY_COMPLEX 'y' 'y' 'y' 'y' 'y' 'y' 'y'
|
||||||
TYPE_LONG 'l' 'l' 'l' 'l' 'l' 'l'
|
TYPE_LONG 'l' 'l' 'l' 'l' 'l' 'l' 'l'
|
||||||
TYPE_STRING 's' 's' 's' 's' 's' 's'
|
TYPE_STRING 's' 's' 's' 's' 's' 's' 's'
|
||||||
TYPE_INTERNED 't' 't'
|
TYPE_INTERNED 't' 't' 't'
|
||||||
TYPE_REF 'r' 'r'
|
TYPE_REF 'r' 'r' 'r'
|
||||||
TYPE_TUPLE '(' '(' '(' '(' '(' '('
|
TYPE_TUPLE '(' '(' '(' '(' '(' '(' '('
|
||||||
TYPE_LIST '[' '[' '[' '[' '[' '['
|
TYPE_LIST '[' '[' '[' '[' '[' '[' '['
|
||||||
TYPE_DICT '{' '{' '{' '{' '{' '{'
|
TYPE_DICT '{' '{' '{' '{' '{' '{' '{'
|
||||||
TYPE_CODE 'c' 'c' 'c' 'c' 'c' 'c'
|
TYPE_CODE 'c' 'c' 'c' 'c' 'c' 'c' 'c'
|
||||||
TYPE_UNICODE 'u' 'u' 'u' 'u' 'u' 'u'
|
TYPE_UNICODE 'u' 'u' 'u' 'u' 'u' 'u' 'u'
|
||||||
TYPE_UNKNOWN '?' '?' '?' '?' '?' '?'
|
TYPE_UNKNOWN '?' '?' '?' '?' '?' '?' '?'
|
||||||
TYPE_SET '<' '<' '<' '<' '<' '<'
|
TYPE_SET '<' '<' '<' '<' '<' '<' '<'
|
||||||
TYPE_FROZENSET '>' '>' '>' '>' '>' '>'
|
TYPE_FROZENSET '>' '>' '>' '>' '>' '>' '>'
|
||||||
TYPE_ASCII 'a' 'a'
|
TYPE_ASCII 'a' 'a' 'a'
|
||||||
TYPE_ASCII_INTERNED 'A' 'A'
|
TYPE_ASCII_INTERNED 'A' 'A' 'A'
|
||||||
TYPE_SMALL_TUPLE ')' ')'
|
TYPE_SMALL_TUPLE ')' ')' ')'
|
||||||
TYPE_SHORT_ASCII 'z' 'z'
|
TYPE_SHORT_ASCII 'z' 'z' 'z'
|
||||||
TYPE_SHORT_ASCII_INTERNED 'Z' 'Z'
|
TYPE_SHORT_ASCII_INTERNED 'Z' 'Z' 'Z'
|
||||||
|
|
||||||
|
|
||||||
[TYPE_CODE] 1.0 1.3 1.5 2.1 2.3 3.0
|
[TYPE_CODE] 1.0 1.3 1.5 2.1 2.3 3.0
|
||||||
|
29
bytecode.cpp
29
bytecode.cpp
@@ -29,6 +29,7 @@ DECLARE_PYTHON(3, 2)
|
|||||||
DECLARE_PYTHON(3, 3)
|
DECLARE_PYTHON(3, 3)
|
||||||
DECLARE_PYTHON(3, 4)
|
DECLARE_PYTHON(3, 4)
|
||||||
DECLARE_PYTHON(3, 5)
|
DECLARE_PYTHON(3, 5)
|
||||||
|
DECLARE_PYTHON(3, 6)
|
||||||
|
|
||||||
const char* Pyc::OpcodeName(int opcode)
|
const char* Pyc::OpcodeName(int opcode)
|
||||||
{
|
{
|
||||||
@@ -72,7 +73,7 @@ const char* Pyc::OpcodeName(int opcode)
|
|||||||
"EXTENDED_ARG", "SETUP_WITH", "SET_ADD", "MAP_ADD", "UNPACK_EX",
|
"EXTENDED_ARG", "SETUP_WITH", "SET_ADD", "MAP_ADD", "UNPACK_EX",
|
||||||
"LIST_APPEND", "LOAD_CLASSDEREF", "BUILD_LIST_UNPACK", "BUILD_MAP_UNPACK",
|
"LIST_APPEND", "LOAD_CLASSDEREF", "BUILD_LIST_UNPACK", "BUILD_MAP_UNPACK",
|
||||||
"BUILD_MAP_UNPACK_WITH_CALL", "BUILD_TUPLE_UNPACK", "BUILD_SET_UNPACK",
|
"BUILD_MAP_UNPACK_WITH_CALL", "BUILD_TUPLE_UNPACK", "BUILD_SET_UNPACK",
|
||||||
"SETUP_ASYNC_WITH",
|
"SETUP_ASYNC_WITH", "FORMAT_VALUE", "BUILD_CONST_KEY_MAP",
|
||||||
};
|
};
|
||||||
|
|
||||||
#if __cplusplus >= 201103L
|
#if __cplusplus >= 201103L
|
||||||
@@ -124,6 +125,7 @@ int Pyc::ByteToOpcode(int maj, int min, int opcode)
|
|||||||
case 3: return python_33_map(opcode);
|
case 3: return python_33_map(opcode);
|
||||||
case 4: return python_34_map(opcode);
|
case 4: return python_34_map(opcode);
|
||||||
case 5: return python_35_map(opcode);
|
case 5: return python_35_map(opcode);
|
||||||
|
case 6: return python_36_map(opcode);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -293,15 +295,28 @@ void print_const(PycRef<PycObject> obj, PycModule* mod)
|
|||||||
void bc_next(PycBuffer& source, PycModule* mod, int& opcode, int& operand, int& pos)
|
void bc_next(PycBuffer& source, PycModule* mod, int& opcode, int& operand, int& pos)
|
||||||
{
|
{
|
||||||
opcode = Pyc::ByteToOpcode(mod->majorVer(), mod->minorVer(), source.getByte());
|
opcode = Pyc::ByteToOpcode(mod->majorVer(), mod->minorVer(), source.getByte());
|
||||||
operand = 0;
|
bool py36_opcode = (mod->majorVer() > 3 || (mod->majorVer() == 3 && mod->minorVer() >= 6));
|
||||||
pos += 1;
|
if (py36_opcode) {
|
||||||
|
operand = source.getByte();
|
||||||
|
pos += 2;
|
||||||
|
} else {
|
||||||
|
operand = 0;
|
||||||
|
pos += 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (opcode == Pyc::EXTENDED_ARG_A) {
|
if (opcode == Pyc::EXTENDED_ARG_A) {
|
||||||
operand = source.get16() << 16;
|
if (py36_opcode) {
|
||||||
opcode = Pyc::ByteToOpcode(mod->majorVer(), mod->minorVer(), source.getByte());
|
opcode = Pyc::ByteToOpcode(mod->majorVer(), mod->minorVer(), source.getByte());
|
||||||
pos += 3;
|
operand <<= 8;
|
||||||
|
operand |= source.getByte();
|
||||||
|
pos += 2;
|
||||||
|
} else {
|
||||||
|
operand = source.get16() << 16;
|
||||||
|
opcode = Pyc::ByteToOpcode(mod->majorVer(), mod->minorVer(), source.getByte());
|
||||||
|
pos += 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (opcode >= Pyc::PYC_HAVE_ARG) {
|
if (!py36_opcode && (opcode >= Pyc::PYC_HAVE_ARG)) {
|
||||||
operand |= source.get16();
|
operand |= source.get16();
|
||||||
pos += 2;
|
pos += 2;
|
||||||
}
|
}
|
||||||
|
@@ -46,7 +46,7 @@ enum Opcode {
|
|||||||
EXTENDED_ARG_A, SETUP_WITH_A, SET_ADD_A, MAP_ADD_A, UNPACK_EX_A,
|
EXTENDED_ARG_A, SETUP_WITH_A, SET_ADD_A, MAP_ADD_A, UNPACK_EX_A,
|
||||||
LIST_APPEND_A, LOAD_CLASSDEREF_A, BUILD_LIST_UNPACK_A, BUILD_MAP_UNPACK_A,
|
LIST_APPEND_A, LOAD_CLASSDEREF_A, BUILD_LIST_UNPACK_A, BUILD_MAP_UNPACK_A,
|
||||||
BUILD_MAP_UNPACK_WITH_CALL_A, BUILD_TUPLE_UNPACK_A, BUILD_SET_UNPACK_A,
|
BUILD_MAP_UNPACK_WITH_CALL_A, BUILD_TUPLE_UNPACK_A, BUILD_SET_UNPACK_A,
|
||||||
SETUP_ASYNC_WITH_A,
|
SETUP_ASYNC_WITH_A, FORMAT_VALUE_A, BUILD_CONST_KEY_MAP_A,
|
||||||
|
|
||||||
PYC_LAST_OPCODE,
|
PYC_LAST_OPCODE,
|
||||||
PYC_INVALID_OPCODE = -1,
|
PYC_INVALID_OPCODE = -1,
|
||||||
|
@@ -27,7 +27,7 @@ if not os.path.exists(sys.argv[2]):
|
|||||||
|
|
||||||
maplist = [ 10, 11, 13, 14, 15, 16,
|
maplist = [ 10, 11, 13, 14, 15, 16,
|
||||||
20, 21, 22, 23, 24, 25, 26, 27,
|
20, 21, 22, 23, 24, 25, 26, 27,
|
||||||
30, 31, 32, 33, 34, 35 ]
|
30, 31, 32, 33, 34, 35, 36 ]
|
||||||
|
|
||||||
for mapver in maplist:
|
for mapver in maplist:
|
||||||
infile = open(os.path.join(sys.argv[1], 'python_%d.map' % mapver), 'rt')
|
infile = open(os.path.join(sys.argv[1], 'python_%d.map' % mapver), 'rt')
|
||||||
|
115
bytes/python_36.map
Normal file
115
bytes/python_36.map
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
1 POP_TOP
|
||||||
|
2 ROT_TWO
|
||||||
|
3 ROT_THREE
|
||||||
|
4 DUP_TOP
|
||||||
|
5 DUP_TOP_TWO
|
||||||
|
9 NOP
|
||||||
|
10 UNARY_POSITIVE
|
||||||
|
11 UNARY_NEGATIVE
|
||||||
|
12 UNARY_NOT
|
||||||
|
15 UNARY_INVERT
|
||||||
|
16 BINARY_MATRIX_MULTIPLY
|
||||||
|
17 INPLACE_MATRIX_MULTIPLY
|
||||||
|
19 BINARY_POWER
|
||||||
|
20 BINARY_MULTIPLY
|
||||||
|
22 BINARY_MODULO
|
||||||
|
23 BINARY_ADD
|
||||||
|
24 BINARY_SUBTRACT
|
||||||
|
25 BINARY_SUBSCR
|
||||||
|
26 BINARY_FLOOR_DIVIDE
|
||||||
|
27 BINARY_TRUE_DIVIDE
|
||||||
|
28 INPLACE_FLOOR_DIVIDE
|
||||||
|
29 INPLACE_TRUE_DIVIDE
|
||||||
|
50 GET_AITER
|
||||||
|
51 GET_ANEXT
|
||||||
|
52 BEFORE_ASYNC_WITH
|
||||||
|
55 INPLACE_ADD
|
||||||
|
56 INPLACE_SUBTRACT
|
||||||
|
57 INPLACE_MULTIPLY
|
||||||
|
59 INPLACE_MODULO
|
||||||
|
60 STORE_SUBSCR
|
||||||
|
61 DELETE_SUBSCR
|
||||||
|
62 BINARY_LSHIFT
|
||||||
|
63 BINARY_RSHIFT
|
||||||
|
64 BINARY_AND
|
||||||
|
65 BINARY_XOR
|
||||||
|
66 BINARY_OR
|
||||||
|
67 INPLACE_POWER
|
||||||
|
68 GET_ITER
|
||||||
|
69 GET_YIELD_FROM_ITER
|
||||||
|
70 PRINT_EXPR
|
||||||
|
71 LOAD_BUILD_CLASS
|
||||||
|
72 YIELD_FROM
|
||||||
|
73 GET_AWAITABLE
|
||||||
|
75 INPLACE_LSHIFT
|
||||||
|
76 INPLACE_RSHIFT
|
||||||
|
77 INPLACE_AND
|
||||||
|
78 INPLACE_XOR
|
||||||
|
79 INPLACE_OR
|
||||||
|
80 BREAK_LOOP
|
||||||
|
81 WITH_CLEANUP_START
|
||||||
|
82 WITH_CLEANUP_FINISH
|
||||||
|
83 RETURN_VALUE
|
||||||
|
84 IMPORT_STAR
|
||||||
|
86 YIELD_VALUE
|
||||||
|
87 POP_BLOCK
|
||||||
|
88 END_FINALLY
|
||||||
|
89 POP_EXCEPT
|
||||||
|
90 STORE_NAME_A
|
||||||
|
91 DELETE_NAME_A
|
||||||
|
92 UNPACK_SEQUENCE_A
|
||||||
|
93 FOR_ITER_A
|
||||||
|
94 UNPACK_EX_A
|
||||||
|
95 STORE_ATTR_A
|
||||||
|
96 DELETE_ATTR_A
|
||||||
|
97 STORE_GLOBAL_A
|
||||||
|
98 DELETE_GLOBAL_A
|
||||||
|
100 LOAD_CONST_A
|
||||||
|
101 LOAD_NAME_A
|
||||||
|
102 BUILD_TUPLE_A
|
||||||
|
103 BUILD_LIST_A
|
||||||
|
104 BUILD_SET_A
|
||||||
|
105 BUILD_MAP_A
|
||||||
|
106 LOAD_ATTR_A
|
||||||
|
107 COMPARE_OP_A
|
||||||
|
108 IMPORT_NAME_A
|
||||||
|
109 IMPORT_FROM_A
|
||||||
|
110 JUMP_FORWARD_A
|
||||||
|
111 JUMP_IF_FALSE_OR_POP_A
|
||||||
|
112 JUMP_IF_TRUE_OR_POP_A
|
||||||
|
113 JUMP_ABSOLUTE_A
|
||||||
|
114 POP_JUMP_IF_FALSE_A
|
||||||
|
115 POP_JUMP_IF_TRUE_A
|
||||||
|
116 LOAD_GLOBAL_A
|
||||||
|
119 CONTINUE_LOOP_A
|
||||||
|
120 SETUP_LOOP_A
|
||||||
|
121 SETUP_EXCEPT_A
|
||||||
|
122 SETUP_FINALLY_A
|
||||||
|
124 LOAD_FAST_A
|
||||||
|
125 STORE_FAST_A
|
||||||
|
126 DELETE_FAST_A
|
||||||
|
130 RAISE_VARARGS_A
|
||||||
|
131 CALL_FUNCTION_A
|
||||||
|
132 MAKE_FUNCTION_A
|
||||||
|
133 BUILD_SLICE_A
|
||||||
|
135 LOAD_CLOSURE_A
|
||||||
|
136 LOAD_DEREF_A
|
||||||
|
137 STORE_DEREF_A
|
||||||
|
138 DELETE_DEREF_A
|
||||||
|
140 CALL_FUNCTION_VAR_A
|
||||||
|
141 CALL_FUNCTION_KW_A
|
||||||
|
142 CALL_FUNCTION_VAR_KW_A
|
||||||
|
143 SETUP_WITH_A
|
||||||
|
144 EXTENDED_ARG_A
|
||||||
|
145 LIST_APPEND_A
|
||||||
|
146 SET_ADD_A
|
||||||
|
147 MAP_ADD_A
|
||||||
|
148 LOAD_CLASSDEREF_A
|
||||||
|
149 BUILD_LIST_UNPACK_A
|
||||||
|
150 BUILD_MAP_UNPACK_A
|
||||||
|
151 BUILD_MAP_UNPACK_WITH_CALL_A
|
||||||
|
152 BUILD_TUPLE_UNPACK_A
|
||||||
|
153 BUILD_SET_UNPACK_A
|
||||||
|
154 SETUP_ASYNC_WITH_A
|
||||||
|
155 FORMAT_VALUE_A
|
||||||
|
156 BUILD_CONST_KEY_MAP_A
|
@@ -130,6 +130,12 @@ void PycModule::setVersion(unsigned int magic)
|
|||||||
m_unicode = true;
|
m_unicode = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MAGIC_3_6:
|
||||||
|
m_maj = 3;
|
||||||
|
m_min = 6;
|
||||||
|
m_unicode = true;
|
||||||
|
break;
|
||||||
|
|
||||||
/* Bad Magic detected */
|
/* Bad Magic detected */
|
||||||
default:
|
default:
|
||||||
m_maj = -1;
|
m_maj = -1;
|
||||||
|
@@ -27,6 +27,7 @@ enum PycMagic {
|
|||||||
MAGIC_3_3 = 0x0A0D0C9E,
|
MAGIC_3_3 = 0x0A0D0C9E,
|
||||||
MAGIC_3_4 = 0x0A0D0CEE,
|
MAGIC_3_4 = 0x0A0D0CEE,
|
||||||
MAGIC_3_5 = 0x0A0D0D16,
|
MAGIC_3_5 = 0x0A0D0D16,
|
||||||
|
MAGIC_3_6 = 0x0A0D0D2C,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PYC_VERSION(maj, min) MAGIC_##maj##_##min
|
#define PYC_VERSION(maj, min) MAGIC_##maj##_##min
|
||||||
|
Reference in New Issue
Block a user