Add version and parameter info to bytecode_ops.inl
This commit is contained in:
530
bytecode_ops.inl
530
bytecode_ops.inl
@@ -1,264 +1,274 @@
|
||||
/* No parameter word */
|
||||
OPCODE(STOP_CODE)
|
||||
OPCODE(POP_TOP)
|
||||
OPCODE(ROT_TWO)
|
||||
OPCODE(ROT_THREE)
|
||||
OPCODE(DUP_TOP)
|
||||
OPCODE(DUP_TOP_TWO)
|
||||
OPCODE(UNARY_POSITIVE)
|
||||
OPCODE(UNARY_NEGATIVE)
|
||||
OPCODE(UNARY_NOT)
|
||||
OPCODE(UNARY_CONVERT)
|
||||
OPCODE(UNARY_CALL)
|
||||
OPCODE(UNARY_INVERT)
|
||||
OPCODE(BINARY_POWER)
|
||||
OPCODE(BINARY_MULTIPLY)
|
||||
OPCODE(BINARY_DIVIDE)
|
||||
OPCODE(BINARY_MODULO)
|
||||
OPCODE(BINARY_ADD)
|
||||
OPCODE(BINARY_SUBTRACT)
|
||||
OPCODE(BINARY_SUBSCR)
|
||||
OPCODE(BINARY_CALL)
|
||||
OPCODE(SLICE_0)
|
||||
OPCODE(SLICE_1)
|
||||
OPCODE(SLICE_2)
|
||||
OPCODE(SLICE_3)
|
||||
OPCODE(STORE_SLICE_0)
|
||||
OPCODE(STORE_SLICE_1)
|
||||
OPCODE(STORE_SLICE_2)
|
||||
OPCODE(STORE_SLICE_3)
|
||||
OPCODE(DELETE_SLICE_0)
|
||||
OPCODE(DELETE_SLICE_1)
|
||||
OPCODE(DELETE_SLICE_2)
|
||||
OPCODE(DELETE_SLICE_3)
|
||||
OPCODE(STORE_SUBSCR)
|
||||
OPCODE(DELETE_SUBSCR)
|
||||
OPCODE(BINARY_LSHIFT)
|
||||
OPCODE(BINARY_RSHIFT)
|
||||
OPCODE(BINARY_AND)
|
||||
OPCODE(BINARY_XOR)
|
||||
OPCODE(BINARY_OR)
|
||||
OPCODE(PRINT_EXPR)
|
||||
OPCODE(PRINT_ITEM)
|
||||
OPCODE(PRINT_NEWLINE)
|
||||
OPCODE(BREAK_LOOP)
|
||||
OPCODE(RAISE_EXCEPTION)
|
||||
OPCODE(LOAD_LOCALS)
|
||||
OPCODE(RETURN_VALUE)
|
||||
OPCODE(LOAD_GLOBALS)
|
||||
OPCODE(EXEC_STMT)
|
||||
OPCODE(BUILD_FUNCTION)
|
||||
OPCODE(POP_BLOCK)
|
||||
OPCODE(END_FINALLY)
|
||||
OPCODE(BUILD_CLASS)
|
||||
OPCODE(ROT_FOUR)
|
||||
OPCODE(NOP)
|
||||
OPCODE(LIST_APPEND)
|
||||
OPCODE(BINARY_FLOOR_DIVIDE)
|
||||
OPCODE(BINARY_TRUE_DIVIDE)
|
||||
OPCODE(INPLACE_FLOOR_DIVIDE)
|
||||
OPCODE(INPLACE_TRUE_DIVIDE)
|
||||
OPCODE(GET_LEN)
|
||||
OPCODE(MATCH_MAPPING)
|
||||
OPCODE(MATCH_SEQUENCE)
|
||||
OPCODE(MATCH_KEYS)
|
||||
OPCODE(COPY_DICT_WITHOUT_KEYS)
|
||||
OPCODE(STORE_MAP)
|
||||
OPCODE(INPLACE_ADD)
|
||||
OPCODE(INPLACE_SUBTRACT)
|
||||
OPCODE(INPLACE_MULTIPLY)
|
||||
OPCODE(INPLACE_DIVIDE)
|
||||
OPCODE(INPLACE_MODULO)
|
||||
OPCODE(INPLACE_POWER)
|
||||
OPCODE(GET_ITER)
|
||||
OPCODE(PRINT_ITEM_TO)
|
||||
OPCODE(PRINT_NEWLINE_TO)
|
||||
OPCODE(INPLACE_LSHIFT)
|
||||
OPCODE(INPLACE_RSHIFT)
|
||||
OPCODE(INPLACE_AND)
|
||||
OPCODE(INPLACE_XOR)
|
||||
OPCODE(INPLACE_OR)
|
||||
OPCODE(WITH_CLEANUP)
|
||||
OPCODE(WITH_CLEANUP_START)
|
||||
OPCODE(WITH_CLEANUP_FINISH)
|
||||
OPCODE(IMPORT_STAR)
|
||||
OPCODE(SETUP_ANNOTATIONS)
|
||||
OPCODE(YIELD_VALUE)
|
||||
OPCODE(LOAD_BUILD_CLASS)
|
||||
OPCODE(STORE_LOCALS)
|
||||
OPCODE(POP_EXCEPT)
|
||||
OPCODE(SET_ADD)
|
||||
OPCODE(YIELD_FROM)
|
||||
OPCODE(BINARY_MATRIX_MULTIPLY)
|
||||
OPCODE(INPLACE_MATRIX_MULTIPLY)
|
||||
OPCODE(GET_AITER)
|
||||
OPCODE(GET_ANEXT)
|
||||
OPCODE(BEFORE_ASYNC_WITH)
|
||||
OPCODE(GET_YIELD_FROM_ITER)
|
||||
OPCODE(GET_AWAITABLE)
|
||||
OPCODE(BEGIN_FINALLY)
|
||||
OPCODE(END_ASYNC_FOR)
|
||||
OPCODE(RERAISE)
|
||||
OPCODE(WITH_EXCEPT_START)
|
||||
OPCODE(LOAD_ASSERTION_ERROR)
|
||||
OPCODE(LIST_TO_TUPLE)
|
||||
OPCODE(CACHE)
|
||||
OPCODE(PUSH_NULL)
|
||||
OPCODE(PUSH_EXC_INFO)
|
||||
OPCODE(CHECK_EXC_MATCH)
|
||||
OPCODE(CHECK_EG_MATCH)
|
||||
OPCODE(BEFORE_WITH)
|
||||
OPCODE(RETURN_GENERATOR)
|
||||
OPCODE(ASYNC_GEN_WRAP)
|
||||
OPCODE(PREP_RERAISE_STAR)
|
||||
OPCODE(INTERPRETER_EXIT)
|
||||
OPCODE(END_FOR)
|
||||
OPCODE(END_SEND)
|
||||
OPCODE(RESERVED)
|
||||
OPCODE(BINARY_SLICE)
|
||||
OPCODE(STORE_SLICE)
|
||||
OPCODE(CLEANUP_THROW)
|
||||
OPCODE(STOP_CODE) // Python 1.0 - 3.2
|
||||
OPCODE(POP_TOP) // Python 1.0 ->
|
||||
OPCODE(ROT_TWO) // Python 1.0 - 3.10
|
||||
OPCODE(ROT_THREE) // Python 1.0 - 3.10
|
||||
OPCODE(DUP_TOP) // Python 1.0 - 3.10
|
||||
OPCODE(DUP_TOP_TWO) // Python 3.2 - 3.10
|
||||
OPCODE(UNARY_POSITIVE) // Python 1.0 - 3.11
|
||||
OPCODE(UNARY_NEGATIVE) // Python 1.0 ->
|
||||
OPCODE(UNARY_NOT) // Python 1.0 ->
|
||||
OPCODE(UNARY_CONVERT) // Python 1.0 - 2.7
|
||||
OPCODE(UNARY_CALL) // Python 1.0 - 1.2
|
||||
OPCODE(UNARY_INVERT) // Python 1.0 ->
|
||||
OPCODE(BINARY_POWER) // Python 1.4 - 3.10
|
||||
OPCODE(BINARY_MULTIPLY) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_DIVIDE) // Python 1.0 - 2.7
|
||||
OPCODE(BINARY_MODULO) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_ADD) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_SUBTRACT) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_SUBSCR) // Python 1.0 ->
|
||||
OPCODE(BINARY_CALL) // Python 1.0 - 1.2
|
||||
OPCODE(SLICE_0) // Python 1.0 - 2.7
|
||||
OPCODE(SLICE_1) // Python 1.0 - 2.7
|
||||
OPCODE(SLICE_2) // Python 1.0 - 2.7
|
||||
OPCODE(SLICE_3) // Python 1.0 - 2.7
|
||||
OPCODE(STORE_SLICE_0) // Python 1.0 - 2.7
|
||||
OPCODE(STORE_SLICE_1) // Python 1.0 - 2.7
|
||||
OPCODE(STORE_SLICE_2) // Python 1.0 - 2.7
|
||||
OPCODE(STORE_SLICE_3) // Python 1.0 - 2.7
|
||||
OPCODE(DELETE_SLICE_0) // Python 1.0 - 2.7
|
||||
OPCODE(DELETE_SLICE_1) // Python 1.0 - 2.7
|
||||
OPCODE(DELETE_SLICE_2) // Python 1.0 - 2.7
|
||||
OPCODE(DELETE_SLICE_3) // Python 1.0 - 2.7
|
||||
OPCODE(STORE_SUBSCR) // Python 1.0 ->
|
||||
OPCODE(DELETE_SUBSCR) // Python 1.0 ->
|
||||
OPCODE(BINARY_LSHIFT) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_RSHIFT) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_AND) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_XOR) // Python 1.0 - 3.10
|
||||
OPCODE(BINARY_OR) // Python 1.0 - 3.10
|
||||
OPCODE(PRINT_EXPR) // Python 1.0 - 3.11
|
||||
OPCODE(PRINT_ITEM) // Python 1.0 - 2.7
|
||||
OPCODE(PRINT_NEWLINE) // Python 1.0 - 2.7
|
||||
OPCODE(BREAK_LOOP) // Python 1.0 - 3.7
|
||||
OPCODE(RAISE_EXCEPTION) // Python 1.0 - 1.2
|
||||
OPCODE(LOAD_LOCALS) // Python 1.0 - 2.7, 3.12 ->
|
||||
OPCODE(RETURN_VALUE) // Python 1.0 ->
|
||||
OPCODE(LOAD_GLOBALS) // Python 1.0 - 1.2
|
||||
OPCODE(EXEC_STMT) // Python 1.0 - 2.7
|
||||
OPCODE(BUILD_FUNCTION) // Python 1.0 - 1.2
|
||||
OPCODE(POP_BLOCK) // Python 1.0 - 3.10
|
||||
OPCODE(END_FINALLY) // Python 1.0 - 3.8
|
||||
OPCODE(BUILD_CLASS) // Python 1.0 - 2.7
|
||||
OPCODE(ROT_FOUR) // Python 2.0 - 3.1, 3.8 - 3.10
|
||||
OPCODE(NOP) // Python 2.4 ->
|
||||
OPCODE(LIST_APPEND) // Python 2.4 - 2.6, 3.0
|
||||
OPCODE(BINARY_FLOOR_DIVIDE) // Python 2.2 - 3.10
|
||||
OPCODE(BINARY_TRUE_DIVIDE) // Python 2.2 - 3.10
|
||||
OPCODE(INPLACE_FLOOR_DIVIDE) // Python 2.2 - 3.10
|
||||
OPCODE(INPLACE_TRUE_DIVIDE) // Python 2.2 - 3.10
|
||||
OPCODE(GET_LEN) // Python 3.10 ->
|
||||
OPCODE(MATCH_MAPPING) // Python 3.10 ->
|
||||
OPCODE(MATCH_SEQUENCE) // Python 3.10 ->
|
||||
OPCODE(MATCH_KEYS) // Python 3.10 ->
|
||||
OPCODE(COPY_DICT_WITHOUT_KEYS) // Python 3.10
|
||||
OPCODE(STORE_MAP) // Python 2.6 - 3.4
|
||||
OPCODE(INPLACE_ADD) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_SUBTRACT) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_MULTIPLY) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_DIVIDE) // Python 2.0 - 2.7
|
||||
OPCODE(INPLACE_MODULO) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_POWER) // Python 2.0 - 3.10
|
||||
OPCODE(GET_ITER) // Python 2.2 ->
|
||||
OPCODE(PRINT_ITEM_TO) // Python 2.0 - 2.7
|
||||
OPCODE(PRINT_NEWLINE_TO) // Python 2.0 - 2.7
|
||||
OPCODE(INPLACE_LSHIFT) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_RSHIFT) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_AND) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_XOR) // Python 2.0 - 3.10
|
||||
OPCODE(INPLACE_OR) // Python 2.0 - 3.10
|
||||
OPCODE(WITH_CLEANUP) // Python 2.5 - 3.4
|
||||
OPCODE(WITH_CLEANUP_START) // Python 3.5 - 3.8
|
||||
OPCODE(WITH_CLEANUP_FINISH) // Python 3.5 - 3.8
|
||||
OPCODE(IMPORT_STAR) // Python 2.0 - 3.11
|
||||
OPCODE(SETUP_ANNOTATIONS) // Python 3.6 ->
|
||||
OPCODE(YIELD_VALUE) // Python 2.2 - 3.11
|
||||
OPCODE(LOAD_BUILD_CLASS) // Python 3.0 ->
|
||||
OPCODE(STORE_LOCALS) // Python 3.0 - 3.3
|
||||
OPCODE(POP_EXCEPT) // Python 3.0 ->
|
||||
OPCODE(SET_ADD) // Python 3.0
|
||||
OPCODE(YIELD_FROM) // Python 3.3 - 3.10
|
||||
OPCODE(BINARY_MATRIX_MULTIPLY) // Python 3.5 - 3.10
|
||||
OPCODE(INPLACE_MATRIX_MULTIPLY) // Python 3.5 - 3.10
|
||||
OPCODE(GET_AITER) // Python 3.5 ->
|
||||
OPCODE(GET_ANEXT) // Python 3.5 ->
|
||||
OPCODE(BEFORE_ASYNC_WITH) // Python 3.5 ->
|
||||
OPCODE(GET_YIELD_FROM_ITER) // Python 3.5 ->
|
||||
OPCODE(GET_AWAITABLE) // Python 3.5 - 3.10
|
||||
OPCODE(BEGIN_FINALLY) // Python 3.8
|
||||
OPCODE(END_ASYNC_FOR) // Python 3.8 ->
|
||||
OPCODE(RERAISE) // Python 3.9
|
||||
OPCODE(WITH_EXCEPT_START) // Python 3.9 ->
|
||||
OPCODE(LOAD_ASSERTION_ERROR) // Python 3.9 ->
|
||||
OPCODE(LIST_TO_TUPLE) // Python 3.9 - 3.11
|
||||
OPCODE(CACHE) // Python 3.11 ->
|
||||
OPCODE(PUSH_NULL) // Python 3.11 ->
|
||||
OPCODE(PUSH_EXC_INFO) // Python 3.11 ->
|
||||
OPCODE(CHECK_EXC_MATCH) // Python 3.11 ->
|
||||
OPCODE(CHECK_EG_MATCH) // Python 3.11 ->
|
||||
OPCODE(BEFORE_WITH) // Python 3.11 ->
|
||||
OPCODE(RETURN_GENERATOR) // Python 3.11 ->
|
||||
OPCODE(ASYNC_GEN_WRAP) // Python 3.11
|
||||
OPCODE(PREP_RERAISE_STAR) // Python 3.11
|
||||
OPCODE(INTERPRETER_EXIT) // Python 3.12 ->
|
||||
OPCODE(END_FOR) // Python 3.12 ->
|
||||
OPCODE(END_SEND) // Python 3.12 ->
|
||||
OPCODE(RESERVED) // Python 3.12 ->
|
||||
OPCODE(BINARY_SLICE) // Python 3.12 ->
|
||||
OPCODE(STORE_SLICE) // Python 3.12 ->
|
||||
OPCODE(CLEANUP_THROW) // Python 3.12 ->
|
||||
|
||||
/* Has parameter word */
|
||||
OPCODE_A_FIRST(STORE_NAME)
|
||||
OPCODE_A(DELETE_NAME)
|
||||
OPCODE_A(UNPACK_TUPLE)
|
||||
OPCODE_A(UNPACK_LIST)
|
||||
OPCODE_A(UNPACK_ARG)
|
||||
OPCODE_A(STORE_ATTR)
|
||||
OPCODE_A(DELETE_ATTR)
|
||||
OPCODE_A(STORE_GLOBAL)
|
||||
OPCODE_A(DELETE_GLOBAL)
|
||||
OPCODE_A(ROT_N)
|
||||
OPCODE_A(UNPACK_VARARG)
|
||||
OPCODE_A(LOAD_CONST)
|
||||
OPCODE_A(LOAD_NAME)
|
||||
OPCODE_A(BUILD_TUPLE)
|
||||
OPCODE_A(BUILD_LIST)
|
||||
OPCODE_A(BUILD_MAP)
|
||||
OPCODE_A(LOAD_ATTR)
|
||||
OPCODE_A(COMPARE_OP)
|
||||
OPCODE_A(IMPORT_NAME)
|
||||
OPCODE_A(IMPORT_FROM)
|
||||
OPCODE_A(ACCESS_MODE)
|
||||
OPCODE_A(JUMP_FORWARD)
|
||||
OPCODE_A(JUMP_IF_FALSE)
|
||||
OPCODE_A(JUMP_IF_TRUE)
|
||||
OPCODE_A(JUMP_ABSOLUTE)
|
||||
OPCODE_A(FOR_LOOP)
|
||||
OPCODE_A(LOAD_LOCAL)
|
||||
OPCODE_A(LOAD_GLOBAL)
|
||||
OPCODE_A(SET_FUNC_ARGS)
|
||||
OPCODE_A(SETUP_LOOP)
|
||||
OPCODE_A(SETUP_EXCEPT)
|
||||
OPCODE_A(SETUP_FINALLY)
|
||||
OPCODE_A(RESERVE_FAST)
|
||||
OPCODE_A(LOAD_FAST)
|
||||
OPCODE_A(STORE_FAST)
|
||||
OPCODE_A(DELETE_FAST)
|
||||
OPCODE_A(GEN_START)
|
||||
OPCODE_A(SET_LINENO)
|
||||
OPCODE_A(STORE_ANNOTATION)
|
||||
OPCODE_A(RAISE_VARARGS)
|
||||
OPCODE_A(CALL_FUNCTION)
|
||||
OPCODE_A(MAKE_FUNCTION)
|
||||
OPCODE_A(BUILD_SLICE)
|
||||
OPCODE_A(CALL_FUNCTION_VAR)
|
||||
OPCODE_A(CALL_FUNCTION_KW)
|
||||
OPCODE_A(CALL_FUNCTION_VAR_KW)
|
||||
OPCODE_A(CALL_FUNCTION_EX)
|
||||
OPCODE_A(UNPACK_SEQUENCE)
|
||||
OPCODE_A(FOR_ITER)
|
||||
OPCODE_A(DUP_TOPX)
|
||||
OPCODE_A(BUILD_SET)
|
||||
OPCODE_A(JUMP_IF_FALSE_OR_POP)
|
||||
OPCODE_A(JUMP_IF_TRUE_OR_POP)
|
||||
OPCODE_A(POP_JUMP_IF_FALSE)
|
||||
OPCODE_A(POP_JUMP_IF_TRUE)
|
||||
OPCODE_A(CONTINUE_LOOP)
|
||||
OPCODE_A(MAKE_CLOSURE)
|
||||
OPCODE_A(LOAD_CLOSURE)
|
||||
OPCODE_A(LOAD_DEREF)
|
||||
OPCODE_A(STORE_DEREF)
|
||||
OPCODE_A(DELETE_DEREF)
|
||||
OPCODE_A(EXTENDED_ARG)
|
||||
OPCODE_A(SETUP_WITH)
|
||||
OPCODE_A(SET_ADD)
|
||||
OPCODE_A(MAP_ADD)
|
||||
OPCODE_A(UNPACK_EX)
|
||||
OPCODE_A(LIST_APPEND)
|
||||
OPCODE_A(LOAD_CLASSDEREF)
|
||||
OPCODE_A(MATCH_CLASS)
|
||||
OPCODE_A(BUILD_LIST_UNPACK)
|
||||
OPCODE_A(BUILD_MAP_UNPACK)
|
||||
OPCODE_A(BUILD_MAP_UNPACK_WITH_CALL)
|
||||
OPCODE_A(BUILD_TUPLE_UNPACK)
|
||||
OPCODE_A(BUILD_SET_UNPACK)
|
||||
OPCODE_A(SETUP_ASYNC_WITH)
|
||||
OPCODE_A(FORMAT_VALUE)
|
||||
OPCODE_A(BUILD_CONST_KEY_MAP)
|
||||
OPCODE_A(BUILD_STRING)
|
||||
OPCODE_A(BUILD_TUPLE_UNPACK_WITH_CALL)
|
||||
OPCODE_A(LOAD_METHOD)
|
||||
OPCODE_A(CALL_METHOD)
|
||||
OPCODE_A(CALL_FINALLY)
|
||||
OPCODE_A(POP_FINALLY)
|
||||
OPCODE_A(IS_OP)
|
||||
OPCODE_A(CONTAINS_OP)
|
||||
OPCODE_A(RERAISE)
|
||||
OPCODE_A(JUMP_IF_NOT_EXC_MATCH)
|
||||
OPCODE_A(LIST_EXTEND)
|
||||
OPCODE_A(SET_UPDATE)
|
||||
OPCODE_A(DICT_MERGE)
|
||||
OPCODE_A(DICT_UPDATE)
|
||||
OPCODE_A(SWAP)
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_FALSE)
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_TRUE)
|
||||
OPCODE_A(COPY)
|
||||
OPCODE_A(BINARY_OP)
|
||||
OPCODE_A(SEND)
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_NOT_NONE)
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_NONE)
|
||||
OPCODE_A(GET_AWAITABLE)
|
||||
OPCODE_A(JUMP_BACKWARD_NO_INTERRUPT)
|
||||
OPCODE_A(MAKE_CELL)
|
||||
OPCODE_A(JUMP_BACKWARD)
|
||||
OPCODE_A(COPY_FREE_VARS)
|
||||
OPCODE_A(RESUME)
|
||||
OPCODE_A(PRECALL)
|
||||
OPCODE_A(CALL)
|
||||
OPCODE_A(KW_NAMES)
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_NOT_NONE)
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_NONE)
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_FALSE)
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_TRUE)
|
||||
OPCODE_A(RETURN_CONST)
|
||||
OPCODE_A(LOAD_FAST_CHECK)
|
||||
OPCODE_A(POP_JUMP_IF_NOT_NONE)
|
||||
OPCODE_A(POP_JUMP_IF_NONE)
|
||||
OPCODE_A(LOAD_SUPER_ATTR)
|
||||
OPCODE_A(LOAD_FAST_AND_CLEAR)
|
||||
OPCODE_A(YIELD_VALUE)
|
||||
OPCODE_A(CALL_INTRINSIC_1)
|
||||
OPCODE_A(CALL_INTRINSIC_2)
|
||||
OPCODE_A(LOAD_FROM_DICT_OR_GLOBALS)
|
||||
OPCODE_A(LOAD_FROM_DICT_OR_DEREF)
|
||||
OPCODE_A_FIRST(STORE_NAME) // Python 1.0 -> names[A]
|
||||
OPCODE_A(DELETE_NAME) // Python 1.0 -> names[A]
|
||||
OPCODE_A(UNPACK_TUPLE) // Python 1.0 - 1.6 A=count
|
||||
OPCODE_A(UNPACK_LIST) // Python 1.0 - 1.6 A=count
|
||||
OPCODE_A(UNPACK_ARG) // Python 1.0 - 1.4 A=count
|
||||
OPCODE_A(STORE_ATTR) // Python 1.0 -> names[A]
|
||||
OPCODE_A(DELETE_ATTR) // Python 1.0 -> names[A]
|
||||
OPCODE_A(STORE_GLOBAL) // Python 1.0 -> names[A]
|
||||
OPCODE_A(DELETE_GLOBAL) // Python 1.0 -> names[A]
|
||||
OPCODE_A(ROT_N) // Python 3.10 A=count
|
||||
OPCODE_A(UNPACK_VARARG) // Python 1.0 - 1.4 A=count
|
||||
OPCODE_A(LOAD_CONST) // Python 1.0 -> consts[A]
|
||||
OPCODE_A(LOAD_NAME) // Python 1.0 -> names[A]
|
||||
OPCODE_A(BUILD_TUPLE) // Python 1.0 -> A=size
|
||||
OPCODE_A(BUILD_LIST) // Python 1.0 -> A=size
|
||||
OPCODE_A(BUILD_MAP) // Python 1.0 -> A=size
|
||||
OPCODE_A(LOAD_ATTR) // Python 1.0 -> names[A]
|
||||
OPCODE_A(COMPARE_OP) // Python 1.0 -> cmp_ops[A]
|
||||
OPCODE_A(IMPORT_NAME) // Python 1.0 -> names[A]
|
||||
OPCODE_A(IMPORT_FROM) // Python 1.0 -> names[A]
|
||||
OPCODE_A(ACCESS_MODE) // Python 1.0 - 1.4 names[A]
|
||||
OPCODE_A(JUMP_FORWARD) // Python 1.0 -> rel jmp +A
|
||||
OPCODE_A(JUMP_IF_FALSE) // Python 1.0 - 2.6, 3.0 rel jmp +A
|
||||
OPCODE_A(JUMP_IF_TRUE) // Python 1.0 - 2.6, 3.0 rel jmp +A
|
||||
OPCODE_A(JUMP_ABSOLUTE) // Python 1.0 - 3.10 abs jmp A
|
||||
OPCODE_A(FOR_LOOP) // Python 1.0 - 2.2 rel jmp +A
|
||||
OPCODE_A(LOAD_LOCAL) // Python 1.0 - 1.4 names[A]
|
||||
OPCODE_A(LOAD_GLOBAL) // Python 1.0 -> names[A]
|
||||
OPCODE_A(SET_FUNC_ARGS) // Python 1.1 - 1.4 A=count
|
||||
OPCODE_A(SETUP_LOOP) // Python 1.0 - 3.7 rel jmp +A
|
||||
OPCODE_A(SETUP_EXCEPT) // Python 1.0 - 3.7 rel jmp +A
|
||||
OPCODE_A(SETUP_FINALLY) // Python 1.0 - 3.10 rel jmp +A
|
||||
OPCODE_A(RESERVE_FAST) // Python 1.0 - 1.2 A=count
|
||||
OPCODE_A(LOAD_FAST) // Python 1.0 -> locals[A]
|
||||
OPCODE_A(STORE_FAST) // Python 1.0 -> locals[A]
|
||||
OPCODE_A(DELETE_FAST) // Python 1.0 -> locals[A]
|
||||
OPCODE_A(GEN_START) // Python 3.10 ???
|
||||
OPCODE_A(SET_LINENO) // Python 1.0 - 2.2 A=line
|
||||
OPCODE_A(STORE_ANNOTATION) // Python 3.6 names[A]
|
||||
OPCODE_A(RAISE_VARARGS) // Python 1.3 -> A=count
|
||||
OPCODE_A(CALL_FUNCTION) // Python 1.3 - 3.5 A=(#args)+(#kwargs<<8)
|
||||
// Python 3.6 - 3.10 A=#args
|
||||
OPCODE_A(MAKE_FUNCTION) // Python 1.3 - 2.7 A=#defaults
|
||||
// Python 3.0 - 3.5 A=(#defaults)+(#kwdefaults<<8)+(#annotations<<16)
|
||||
// Python 3.6 -> A=flags
|
||||
OPCODE_A(BUILD_SLICE) // Python 1.4 -> A=count
|
||||
OPCODE_A(CALL_FUNCTION_VAR) // Python 1.6 - 3.5 A=(#args)+(#kwargs<<8)
|
||||
OPCODE_A(CALL_FUNCTION_KW) // Python 1.6 - 3.5 A=(#args)+(#kwargs<<8)
|
||||
// Python 3.6 - 3.10 A=#args
|
||||
OPCODE_A(CALL_FUNCTION_VAR_KW) // Python 1.6 - 3.5 A=(#args)+(#kwargs<<8)
|
||||
OPCODE_A(CALL_FUNCTION_EX) // Python 3.6 -> A=flags
|
||||
OPCODE_A(UNPACK_SEQUENCE) // Python 2.0 -> A=count
|
||||
OPCODE_A(FOR_ITER) // Python 2.0 -> rel jmp +A
|
||||
OPCODE_A(DUP_TOPX) // Python 2.0 - 3.1 A=count
|
||||
OPCODE_A(BUILD_SET) // Python 2.7 -> A=size
|
||||
OPCODE_A(JUMP_IF_FALSE_OR_POP) // Python 2.7, 3.1 - 3.11 abs jmp A
|
||||
OPCODE_A(JUMP_IF_TRUE_OR_POP) // Python 2.7, 3.1 - 3.11 abs jmp A
|
||||
OPCODE_A(POP_JUMP_IF_FALSE) // Python 2.7, 3.1 - 3.10 abs jmp A
|
||||
// Python 3.12 -> rel jmp +A
|
||||
OPCODE_A(POP_JUMP_IF_TRUE) // Python 2.7, 3.1 - 3.10 abs jmp A
|
||||
// Python 3.12 -> rel jmp +A
|
||||
OPCODE_A(CONTINUE_LOOP) // Python 2.1 - 3.7 abs jmp A
|
||||
OPCODE_A(MAKE_CLOSURE) // Python 2.1 - 2.7 A=#defaults
|
||||
// Python 3.0 - 3.5 A=(#defaults)+(#kwdefaults<<8)+(#annotations<<16)
|
||||
OPCODE_A(LOAD_CLOSURE) // Python 2.1 -> freevars[A]
|
||||
OPCODE_A(LOAD_DEREF) // Python 2.1 -> freevars[A]
|
||||
OPCODE_A(STORE_DEREF) // Python 2.1 -> freevars[A]
|
||||
OPCODE_A(DELETE_DEREF) // Python 3.2 -> freevars[A]
|
||||
OPCODE_A(EXTENDED_ARG) // Python 2.0 -> A=extended_arg
|
||||
OPCODE_A(SETUP_WITH) // Python 2.7, 3.2 - 3.10 rel jmp +A
|
||||
OPCODE_A(SET_ADD) // Python 2.7, 3.1 -> stack[A]
|
||||
OPCODE_A(MAP_ADD) // Python 2.7, 3.1 -> stack[A]
|
||||
OPCODE_A(UNPACK_EX) // Python 3.0 -> A=(before)+(after<<8)
|
||||
OPCODE_A(LIST_APPEND) // Python 2.7, 3.1 -> stack[A]
|
||||
OPCODE_A(LOAD_CLASSDEREF) // Python 3.4 - 3.10 (cellvars+freevars)[A]
|
||||
// Python 3.11 localsplusnames[A]
|
||||
OPCODE_A(MATCH_CLASS) // Python 3.10 -> A=#args
|
||||
OPCODE_A(BUILD_LIST_UNPACK) // Python 3.5 - 3.8 A=count
|
||||
OPCODE_A(BUILD_MAP_UNPACK) // Python 3.5 - 3.8 A=count
|
||||
OPCODE_A(BUILD_MAP_UNPACK_WITH_CALL) // Python 3.5 A=(count)+(fnloc<<8)
|
||||
// Python 3.6 - 3.8 A=count
|
||||
OPCODE_A(BUILD_TUPLE_UNPACK) // Python 3.5 - 3.8 A=count
|
||||
OPCODE_A(BUILD_SET_UNPACK) // Python 3.5 - 3.8 A=count
|
||||
OPCODE_A(SETUP_ASYNC_WITH) // Python 3.5 - 3.10 rel jmp +A
|
||||
OPCODE_A(FORMAT_VALUE) // Python 3.6 -> A=conversion_type
|
||||
OPCODE_A(BUILD_CONST_KEY_MAP) // Python 3.6 -> A=count
|
||||
OPCODE_A(BUILD_STRING) // Python 3.6 -> A=count
|
||||
OPCODE_A(BUILD_TUPLE_UNPACK_WITH_CALL) // Python 3.6 - 3.8 A=count
|
||||
OPCODE_A(LOAD_METHOD) // Python 3.7 - 3.11 names[A]
|
||||
OPCODE_A(CALL_METHOD) // Python 3.7 - 3.10 A=#args
|
||||
OPCODE_A(CALL_FINALLY) // Python 3.8 rel jmp +A
|
||||
OPCODE_A(POP_FINALLY) // Python 3.8 A=flags
|
||||
OPCODE_A(IS_OP) // Python 3.9 -> A=inverted
|
||||
OPCODE_A(CONTAINS_OP) // Python 3.9 -> A=inverted
|
||||
OPCODE_A(RERAISE) // Python 3.10 -> A=flag
|
||||
OPCODE_A(JUMP_IF_NOT_EXC_MATCH) // Python 3.9 - 3.10 abs jmp A
|
||||
OPCODE_A(LIST_EXTEND) // Python 3.9 -> stack[A]
|
||||
OPCODE_A(SET_UPDATE) // Python 3.9 -> stack[A]
|
||||
OPCODE_A(DICT_MERGE) // Python 3.9 -> stack[A]
|
||||
OPCODE_A(DICT_UPDATE) // Python 3.9 -> stack[A]
|
||||
OPCODE_A(SWAP) // Python 3.11 -> stack[A]
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_FALSE) // Python 3.11 rel jmp +A
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_TRUE) // Python 3.11 rel jmp +A
|
||||
OPCODE_A(COPY) // Python 3.11 -> stack[A]
|
||||
OPCODE_A(BINARY_OP) // Python 3.11 -> bin_ops[A]
|
||||
OPCODE_A(SEND) // Python 3.11 -> rel jmp +A
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_NOT_NONE) // Python 3.11 rel jmp +A
|
||||
OPCODE_A(POP_JUMP_FORWARD_IF_NONE) // Python 3.11 rel jmp +A
|
||||
OPCODE_A(GET_AWAITABLE) // Python 3.11 -> A=awaitable_type
|
||||
OPCODE_A(JUMP_BACKWARD_NO_INTERRUPT) // Python 3.11 -> rel jmp -A
|
||||
OPCODE_A(MAKE_CELL) // Python 3.11 -> locals[A]
|
||||
OPCODE_A(JUMP_BACKWARD) // Python 3.11 -> rel jmp -A
|
||||
OPCODE_A(COPY_FREE_VARS) // Python 3.11 -> A=count
|
||||
OPCODE_A(RESUME) // Python 3.11 -> ???
|
||||
OPCODE_A(PRECALL) // Python 3.11 A=#args
|
||||
OPCODE_A(CALL) // Python 3.11 -> A=#args
|
||||
OPCODE_A(KW_NAMES) // Python 3.11 -> consts[A]
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_NOT_NONE) // Python 3.11 jmp rel -A
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_NONE) // Python 3.11 jmp rel -A
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_FALSE) // Python 3.11 jmp rel -A
|
||||
OPCODE_A(POP_JUMP_BACKWARD_IF_TRUE) // Python 3.11 jmp rel -A
|
||||
OPCODE_A(RETURN_CONST) // Python 3.12 -> consts[A]
|
||||
OPCODE_A(LOAD_FAST_CHECK) // Python 3.12 -> locals[A]
|
||||
OPCODE_A(POP_JUMP_IF_NOT_NONE) // Python 3.12 -> rel jmp +A
|
||||
OPCODE_A(POP_JUMP_IF_NONE) // Python 3.12 -> rel jmp +A
|
||||
OPCODE_A(LOAD_SUPER_ATTR) // Python 3.12 -> A=(flags&0x3)+names[A<<2]
|
||||
OPCODE_A(LOAD_FAST_AND_CLEAR) // Python 3.12 -> locals[A]
|
||||
OPCODE_A(YIELD_VALUE) // Python 3.12 -> ???
|
||||
OPCODE_A(CALL_INTRINSIC_1) // Python 3.12 -> intrinsics_1[A]
|
||||
OPCODE_A(CALL_INTRINSIC_2) // Python 3.12 -> intrinsics_2[A]
|
||||
OPCODE_A(LOAD_FROM_DICT_OR_GLOBALS) // Python 3.12 -> names[A]
|
||||
OPCODE_A(LOAD_FROM_DICT_OR_DEREF) // Python 3.12 -> localsplusnames[A]
|
||||
|
||||
OPCODE_A(INSTRUMENTED_LOAD_SUPER_ATTR)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_NONE)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_NOT_NONE)
|
||||
OPCODE_A(INSTRUMENTED_RESUME)
|
||||
OPCODE_A(INSTRUMENTED_CALL)
|
||||
OPCODE_A(INSTRUMENTED_RETURN_VALUE)
|
||||
OPCODE_A(INSTRUMENTED_YIELD_VALUE)
|
||||
OPCODE_A(INSTRUMENTED_CALL_FUNCTION_EX)
|
||||
OPCODE_A(INSTRUMENTED_JUMP_FORWARD)
|
||||
OPCODE_A(INSTRUMENTED_JUMP_BACKWARD)
|
||||
OPCODE_A(INSTRUMENTED_RETURN_CONST)
|
||||
OPCODE_A(INSTRUMENTED_FOR_ITER)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_FALSE)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_TRUE)
|
||||
OPCODE_A(INSTRUMENTED_END_FOR)
|
||||
OPCODE_A(INSTRUMENTED_END_SEND)
|
||||
OPCODE_A(INSTRUMENTED_INSTRUCTION)
|
||||
OPCODE_A(INSTRUMENTED_LINE)
|
||||
/* Instrumented opcodes */
|
||||
OPCODE_A(INSTRUMENTED_LOAD_SUPER_ATTR) // Python 3.12 -> (see LOAD_SUPER_ATTR)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_NONE) // Python 3.12 -> (see POP_JUMP_IF_NONE)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_NOT_NONE) // Python 3.12 -> (see POP_JUMP_IF_NOT_NONE)
|
||||
OPCODE_A(INSTRUMENTED_RESUME) // Python 3.12 -> (see RESUME)
|
||||
OPCODE_A(INSTRUMENTED_CALL) // Python 3.12 -> (see CALL)
|
||||
OPCODE_A(INSTRUMENTED_RETURN_VALUE) // Python 3.12 -> (see RETURN_VALUE)
|
||||
OPCODE_A(INSTRUMENTED_YIELD_VALUE) // Python 3.12 -> (see YIELD_VALUE)
|
||||
OPCODE_A(INSTRUMENTED_CALL_FUNCTION_EX) // Python 3.12 -> (see CALL_FUNCTION_EX)
|
||||
OPCODE_A(INSTRUMENTED_JUMP_FORWARD) // Python 3.12 -> (see JUMP_FORWARD)
|
||||
OPCODE_A(INSTRUMENTED_JUMP_BACKWARD) // Python 3.12 -> (see JUMP_BACKWARD)
|
||||
OPCODE_A(INSTRUMENTED_RETURN_CONST) // Python 3.12 -> (see RETURN_CONST)
|
||||
OPCODE_A(INSTRUMENTED_FOR_ITER) // Python 3.12 -> (see FOR_ITER)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_FALSE) // Python 3.12 -> (see POP_JUMP_IF_FALSE)
|
||||
OPCODE_A(INSTRUMENTED_POP_JUMP_IF_TRUE) // Python 3.12 -> (see POP_JUMP_IF_TRUE)
|
||||
OPCODE_A(INSTRUMENTED_END_FOR) // Python 3.12 -> (see END_FOR)
|
||||
OPCODE_A(INSTRUMENTED_END_SEND) // Python 3.12 -> (see END_SEND)
|
||||
OPCODE_A(INSTRUMENTED_INSTRUCTION) // Python 3.12 -> ???
|
||||
OPCODE_A(INSTRUMENTED_LINE) // Python 3.12 -> ???
|
||||
|
Reference in New Issue
Block a user