GH-125837: Split LOAD_CONST into three. (GH-125972)

* Add LOAD_CONST_IMMORTAL opcode

* Add LOAD_SMALL_INT opcode

* Remove RETURN_CONST opcode
This commit is contained in:
Mark Shannon 2024-10-29 11:15:42 +00:00 committed by GitHub
parent 67f5c5bd6f
commit faa3272fb8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 706 additions and 538 deletions

View file

@ -6,6 +6,9 @@ _specializations = {
"RESUME": [
"RESUME_CHECK",
],
"LOAD_CONST": [
"LOAD_CONST_IMMORTAL",
],
"TO_BOOL": [
"TO_BOOL_ALWAYS_TRUE",
"TO_BOOL_BOOL",
@ -174,26 +177,27 @@ _specialized_opmap = {
'LOAD_ATTR_PROPERTY': 204,
'LOAD_ATTR_SLOT': 205,
'LOAD_ATTR_WITH_HINT': 206,
'LOAD_GLOBAL_BUILTIN': 207,
'LOAD_GLOBAL_MODULE': 208,
'LOAD_SUPER_ATTR_ATTR': 209,
'LOAD_SUPER_ATTR_METHOD': 210,
'RESUME_CHECK': 211,
'SEND_GEN': 212,
'STORE_ATTR_INSTANCE_VALUE': 213,
'STORE_ATTR_SLOT': 214,
'STORE_ATTR_WITH_HINT': 215,
'STORE_SUBSCR_DICT': 216,
'STORE_SUBSCR_LIST_INT': 217,
'TO_BOOL_ALWAYS_TRUE': 218,
'TO_BOOL_BOOL': 219,
'TO_BOOL_INT': 220,
'TO_BOOL_LIST': 221,
'TO_BOOL_NONE': 222,
'TO_BOOL_STR': 223,
'UNPACK_SEQUENCE_LIST': 224,
'UNPACK_SEQUENCE_TUPLE': 225,
'UNPACK_SEQUENCE_TWO_TUPLE': 226,
'LOAD_CONST_IMMORTAL': 207,
'LOAD_GLOBAL_BUILTIN': 208,
'LOAD_GLOBAL_MODULE': 209,
'LOAD_SUPER_ATTR_ATTR': 210,
'LOAD_SUPER_ATTR_METHOD': 211,
'RESUME_CHECK': 212,
'SEND_GEN': 213,
'STORE_ATTR_INSTANCE_VALUE': 214,
'STORE_ATTR_SLOT': 215,
'STORE_ATTR_WITH_HINT': 216,
'STORE_SUBSCR_DICT': 217,
'STORE_SUBSCR_LIST_INT': 218,
'TO_BOOL_ALWAYS_TRUE': 219,
'TO_BOOL_BOOL': 220,
'TO_BOOL_INT': 221,
'TO_BOOL_LIST': 222,
'TO_BOOL_NONE': 223,
'TO_BOOL_STR': 224,
'UNPACK_SEQUENCE_LIST': 225,
'UNPACK_SEQUENCE_TUPLE': 226,
'UNPACK_SEQUENCE_TWO_TUPLE': 227,
}
opmap = {
@ -288,18 +292,18 @@ opmap = {
'LOAD_FROM_DICT_OR_GLOBALS': 86,
'LOAD_GLOBAL': 87,
'LOAD_NAME': 88,
'LOAD_SPECIAL': 89,
'LOAD_SUPER_ATTR': 90,
'MAKE_CELL': 91,
'MAP_ADD': 92,
'MATCH_CLASS': 93,
'POP_JUMP_IF_FALSE': 94,
'POP_JUMP_IF_NONE': 95,
'POP_JUMP_IF_NOT_NONE': 96,
'POP_JUMP_IF_TRUE': 97,
'RAISE_VARARGS': 98,
'RERAISE': 99,
'RETURN_CONST': 100,
'LOAD_SMALL_INT': 89,
'LOAD_SPECIAL': 90,
'LOAD_SUPER_ATTR': 91,
'MAKE_CELL': 92,
'MAP_ADD': 93,
'MATCH_CLASS': 94,
'POP_JUMP_IF_FALSE': 95,
'POP_JUMP_IF_NONE': 96,
'POP_JUMP_IF_NOT_NONE': 97,
'POP_JUMP_IF_TRUE': 98,
'RAISE_VARARGS': 99,
'RERAISE': 100,
'SEND': 101,
'SET_ADD': 102,
'SET_FUNCTION_ATTRIBUTE': 103,
@ -315,21 +319,20 @@ opmap = {
'UNPACK_EX': 113,
'UNPACK_SEQUENCE': 114,
'YIELD_VALUE': 115,
'INSTRUMENTED_END_FOR': 236,
'INSTRUMENTED_END_SEND': 237,
'INSTRUMENTED_LOAD_SUPER_ATTR': 238,
'INSTRUMENTED_FOR_ITER': 239,
'INSTRUMENTED_CALL_KW': 240,
'INSTRUMENTED_CALL_FUNCTION_EX': 241,
'INSTRUMENTED_INSTRUCTION': 242,
'INSTRUMENTED_JUMP_FORWARD': 243,
'INSTRUMENTED_POP_JUMP_IF_TRUE': 244,
'INSTRUMENTED_POP_JUMP_IF_FALSE': 245,
'INSTRUMENTED_POP_JUMP_IF_NONE': 246,
'INSTRUMENTED_POP_JUMP_IF_NOT_NONE': 247,
'INSTRUMENTED_RESUME': 248,
'INSTRUMENTED_RETURN_VALUE': 249,
'INSTRUMENTED_RETURN_CONST': 250,
'INSTRUMENTED_END_FOR': 237,
'INSTRUMENTED_END_SEND': 238,
'INSTRUMENTED_LOAD_SUPER_ATTR': 239,
'INSTRUMENTED_FOR_ITER': 240,
'INSTRUMENTED_CALL_KW': 241,
'INSTRUMENTED_CALL_FUNCTION_EX': 242,
'INSTRUMENTED_INSTRUCTION': 243,
'INSTRUMENTED_JUMP_FORWARD': 244,
'INSTRUMENTED_POP_JUMP_IF_TRUE': 245,
'INSTRUMENTED_POP_JUMP_IF_FALSE': 246,
'INSTRUMENTED_POP_JUMP_IF_NONE': 247,
'INSTRUMENTED_POP_JUMP_IF_NOT_NONE': 248,
'INSTRUMENTED_RESUME': 249,
'INSTRUMENTED_RETURN_VALUE': 250,
'INSTRUMENTED_YIELD_VALUE': 251,
'INSTRUMENTED_CALL': 252,
'INSTRUMENTED_JUMP_BACKWARD': 253,
@ -346,4 +349,4 @@ opmap = {
}
HAVE_ARGUMENT = 41
MIN_INSTRUMENTED_OPCODE = 236
MIN_INSTRUMENTED_OPCODE = 237