GH-104909: Split LOAD_ATTR_INSTANCE_VALUE into micro-ops (GH-106678)

This commit is contained in:
Mark Shannon 2023-07-13 16:36:19 +01:00 committed by GitHub
parent 32718f908c
commit 487861c6ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 87 additions and 46 deletions

View file

@ -39,10 +39,12 @@
#define _SKIP_CACHE 317
#define _GUARD_GLOBALS_VERSION 318
#define _GUARD_BUILTINS_VERSION 319
#define IS_NONE 320
#define _ITER_CHECK_RANGE 321
#define _ITER_EXHAUSTED_RANGE 322
#define _ITER_NEXT_RANGE 323
#define _GUARD_TYPE_VERSION 320
#define _CHECK_MANAGED_OBJECT_HAS_VALUES 321
#define IS_NONE 322
#define _ITER_CHECK_RANGE 323
#define _ITER_EXHAUSTED_RANGE 324
#define _ITER_NEXT_RANGE 325
#ifndef NEED_OPCODE_METADATA
extern int _PyOpcode_num_popped(int opcode, int oparg, bool jump);
@ -932,7 +934,7 @@ _PyOpcode_num_pushed(int opcode, int oparg, bool jump) {
}
#endif
enum InstructionFormat { INSTR_FMT_IB, INSTR_FMT_IBC, INSTR_FMT_IBC00, INSTR_FMT_IBC000, INSTR_FMT_IBC00000000, INSTR_FMT_IX, INSTR_FMT_IXC, INSTR_FMT_IXC00, INSTR_FMT_IXC000 };
enum InstructionFormat { INSTR_FMT_IB, INSTR_FMT_IBC, INSTR_FMT_IBC00, INSTR_FMT_IBC000, INSTR_FMT_IBC00000, INSTR_FMT_IBC00000000, INSTR_FMT_IX, INSTR_FMT_IXC, INSTR_FMT_IXC0, INSTR_FMT_IXC00, INSTR_FMT_IXC000 };
#define HAS_ARG_FLAG (1)
#define HAS_CONST_FLAG (2)
#define HAS_NAME_FLAG (4)
@ -1321,9 +1323,11 @@ const char * const _PyOpcode_uop_name[512] = {
[317] = "_SKIP_CACHE",
[318] = "_GUARD_GLOBALS_VERSION",
[319] = "_GUARD_BUILTINS_VERSION",
[320] = "IS_NONE",
[321] = "_ITER_CHECK_RANGE",
[322] = "_ITER_EXHAUSTED_RANGE",
[323] = "_ITER_NEXT_RANGE",
[320] = "_GUARD_TYPE_VERSION",
[321] = "_CHECK_MANAGED_OBJECT_HAS_VALUES",
[322] = "IS_NONE",
[323] = "_ITER_CHECK_RANGE",
[324] = "_ITER_EXHAUSTED_RANGE",
[325] = "_ITER_NEXT_RANGE",
};
#endif // NEED_OPCODE_METADATA