Python 3.13 initial support (#497)
* Support for JUMP_BACKWARD * Initial support for Python 3.13 * Remove opcode from another old PR, not needed in the current one * Update bytes/python_3_13.cpp Co-authored-by: Michael Hansen <zrax0111@gmail.com> * Update bytecode_ops.inl Co-authored-by: Michael Hansen <zrax0111@gmail.com> * Update .gitignore Co-authored-by: Michael Hansen <zrax0111@gmail.com> * Update bytecode_ops.inl --------- Co-authored-by: Michael Hansen <zrax0111@gmail.com>
This commit is contained in:
@@ -118,6 +118,12 @@ OPCODE(RESERVED) // Python 3.12 ->
|
||||
OPCODE(BINARY_SLICE) // Python 3.12 ->
|
||||
OPCODE(STORE_SLICE) // Python 3.12 ->
|
||||
OPCODE(CLEANUP_THROW) // Python 3.12 ->
|
||||
OPCODE(BINARY_OP_INPLACE_ADD_UNICODE) // Python 3.13 ->
|
||||
OPCODE(EXIT_INIT_CHECK) // Python 3.13 ->
|
||||
OPCODE(FORMAT_SIMPLE) // Python 3.13 ->
|
||||
OPCODE(FORMAT_WITH_SPEC) // Python 3.13 ->
|
||||
OPCODE(MAKE_FUNCTION) // Python 3.13 ->
|
||||
OPCODE(TO_BOOL) // Python 3.13 ->
|
||||
|
||||
/* Has parameter word */
|
||||
OPCODE_A_FIRST(STORE_NAME) // Python 1.0 -> names[A]
|
||||
@@ -252,6 +258,86 @@ OPCODE_A(CALL_INTRINSIC_1) // Python 3.12 -> intrinsi
|
||||
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(CALL_KW) // Python 3.13 ->
|
||||
OPCODE_A(CONVERT_VALUE) // Python 3.13 ->
|
||||
OPCODE_A(ENTER_EXECUTOR) // Python 3.13 ->
|
||||
OPCODE_A(LOAD_FAST_LOAD_FAST) // Python 3.13 ->
|
||||
OPCODE_A(SET_FUNCTION_ATTRIBUTE) // Python 3.13 ->
|
||||
OPCODE_A(STORE_FAST_LOAD_FAST) // Python 3.13 ->
|
||||
OPCODE_A(STORE_FAST_STORE_FAST) // Python 3.13 ->
|
||||
OPCODE_A(BINARY_OP_ADD_FLOAT)
|
||||
OPCODE_A(BINARY_OP_ADD_INT)
|
||||
OPCODE_A(BINARY_OP_ADD_UNICODE)
|
||||
OPCODE_A(BINARY_OP_MULTIPLY_FLOAT)
|
||||
OPCODE_A(BINARY_OP_MULTIPLY_INT)
|
||||
OPCODE_A(BINARY_OP_SUBTRACT_FLOAT)
|
||||
OPCODE_A(BINARY_OP_SUBTRACT_INT)
|
||||
OPCODE_A(BINARY_SUBSCR_DICT)
|
||||
OPCODE_A(BINARY_SUBSCR_GETITEM)
|
||||
OPCODE_A(BINARY_SUBSCR_LIST_INT)
|
||||
OPCODE_A(BINARY_SUBSCR_STR_INT)
|
||||
OPCODE_A(BINARY_SUBSCR_TUPLE_INT)
|
||||
OPCODE_A(CALL_ALLOC_AND_ENTER_INIT)
|
||||
OPCODE_A(CALL_BOUND_METHOD_EXACT_ARGS)
|
||||
OPCODE_A(CALL_BOUND_METHOD_GENERAL)
|
||||
OPCODE_A(CALL_BUILTIN_CLASS)
|
||||
OPCODE_A(CALL_BUILTIN_FAST)
|
||||
OPCODE_A(CALL_BUILTIN_FAST_WITH_KEYWORDS)
|
||||
OPCODE_A(CALL_BUILTIN_O)
|
||||
OPCODE_A(CALL_ISINSTANCE)
|
||||
OPCODE_A(CALL_LEN)
|
||||
OPCODE_A(CALL_LIST_APPEND)
|
||||
OPCODE_A(CALL_METHOD_DESCRIPTOR_FAST)
|
||||
OPCODE_A(CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS)
|
||||
OPCODE_A(CALL_METHOD_DESCRIPTOR_NOARGS)
|
||||
OPCODE_A(CALL_METHOD_DESCRIPTOR_O)
|
||||
OPCODE_A(CALL_NON_PY_GENERAL)
|
||||
OPCODE_A(CALL_PY_EXACT_ARGS)
|
||||
OPCODE_A(CALL_PY_GENERAL)
|
||||
OPCODE_A(CALL_STR_1)
|
||||
OPCODE_A(CALL_TUPLE_1)
|
||||
OPCODE_A(CALL_TYPE_1)
|
||||
OPCODE_A(COMPARE_OP_FLOAT)
|
||||
OPCODE_A(COMPARE_OP_INT)
|
||||
OPCODE_A(COMPARE_OP_STR)
|
||||
OPCODE_A(CONTAINS_OP_DICT)
|
||||
OPCODE_A(CONTAINS_OP_SET)
|
||||
OPCODE_A(FOR_ITER_GEN)
|
||||
OPCODE_A(FOR_ITER_LIST)
|
||||
OPCODE_A(FOR_ITER_RANGE)
|
||||
OPCODE_A(FOR_ITER_TUPLE)
|
||||
OPCODE_A(LOAD_ATTR_CLASS)
|
||||
OPCODE_A(LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN)
|
||||
OPCODE_A(LOAD_ATTR_INSTANCE_VALUE)
|
||||
OPCODE_A(LOAD_ATTR_METHOD_LAZY_DICT)
|
||||
OPCODE_A(LOAD_ATTR_METHOD_NO_DICT)
|
||||
OPCODE_A(LOAD_ATTR_METHOD_WITH_VALUES)
|
||||
OPCODE_A(LOAD_ATTR_MODULE)
|
||||
OPCODE_A(LOAD_ATTR_NONDESCRIPTOR_NO_DICT)
|
||||
OPCODE_A(LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES)
|
||||
OPCODE_A(LOAD_ATTR_PROPERTY)
|
||||
OPCODE_A(LOAD_ATTR_SLOT)
|
||||
OPCODE_A(LOAD_ATTR_WITH_HINT)
|
||||
OPCODE_A(LOAD_GLOBAL_BUILTIN)
|
||||
OPCODE_A(LOAD_GLOBAL_MODULE)
|
||||
OPCODE_A(LOAD_SUPER_ATTR_ATTR)
|
||||
OPCODE_A(LOAD_SUPER_ATTR_METHOD)
|
||||
OPCODE_A(RESUME_CHECK)
|
||||
OPCODE_A(SEND_GEN)
|
||||
OPCODE_A(STORE_ATTR_INSTANCE_VALUE)
|
||||
OPCODE_A(STORE_ATTR_SLOT)
|
||||
OPCODE_A(STORE_ATTR_WITH_HINT)
|
||||
OPCODE_A(STORE_SUBSCR_DICT)
|
||||
OPCODE_A(STORE_SUBSCR_LIST_INT)
|
||||
OPCODE_A(TO_BOOL_ALWAYS_TRUE)
|
||||
OPCODE_A(TO_BOOL_BOOL)
|
||||
OPCODE_A(TO_BOOL_INT)
|
||||
OPCODE_A(TO_BOOL_LIST)
|
||||
OPCODE_A(TO_BOOL_NONE)
|
||||
OPCODE_A(TO_BOOL_STR)
|
||||
OPCODE_A(UNPACK_SEQUENCE_LIST)
|
||||
OPCODE_A(UNPACK_SEQUENCE_TUPLE)
|
||||
OPCODE_A(UNPACK_SEQUENCE_TWO_TUPLE)
|
||||
|
||||
/* Instrumented opcodes */
|
||||
OPCODE_A(INSTRUMENTED_LOAD_SUPER_ATTR) // Python 3.12 -> (see LOAD_SUPER_ATTR)
|
||||
@@ -272,3 +358,4 @@ OPCODE_A(INSTRUMENTED_END_FOR) // Python 3.12 -> (see END
|
||||
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 -> ???
|
||||
OPCODE_A(INSTRUMENTED_CALL_KW) // Python 3.13 -> ???
|
||||
|
Reference in New Issue
Block a user