bpo-44525: Specialize for calls to type and other builtin classes with 1 argument. (GH-29942)

This commit is contained in:
Mark Shannon 2021-12-15 15:03:42 +00:00 committed by GitHub
parent f025ae63dc
commit 3a60bfef49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 105 additions and 40 deletions

50
Include/opcode.h generated
View file

@ -142,30 +142,32 @@ extern "C" {
#define CALL_NO_KW_PY_SIMPLE 45
#define CALL_NO_KW_LIST_APPEND 46
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 47
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 48
#define JUMP_ABSOLUTE_QUICK 55
#define LOAD_ATTR_ADAPTIVE 56
#define LOAD_ATTR_INSTANCE_VALUE 57
#define LOAD_ATTR_WITH_HINT 58
#define LOAD_ATTR_SLOT 59
#define LOAD_ATTR_MODULE 62
#define LOAD_GLOBAL_ADAPTIVE 63
#define LOAD_GLOBAL_MODULE 64
#define LOAD_GLOBAL_BUILTIN 65
#define LOAD_METHOD_ADAPTIVE 66
#define LOAD_METHOD_CACHED 67
#define LOAD_METHOD_CLASS 72
#define LOAD_METHOD_MODULE 75
#define LOAD_METHOD_NO_DICT 76
#define STORE_ATTR_ADAPTIVE 77
#define STORE_ATTR_INSTANCE_VALUE 78
#define STORE_ATTR_SLOT 79
#define STORE_ATTR_WITH_HINT 80
#define LOAD_FAST__LOAD_FAST 81
#define STORE_FAST__LOAD_FAST 87
#define LOAD_FAST__LOAD_CONST 128
#define LOAD_CONST__LOAD_FAST 131
#define STORE_FAST__STORE_FAST 134
#define CALL_NO_KW_TYPE_1 48
#define CALL_NO_KW_BUILTIN_CLASS_1 55
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 56
#define JUMP_ABSOLUTE_QUICK 57
#define LOAD_ATTR_ADAPTIVE 58
#define LOAD_ATTR_INSTANCE_VALUE 59
#define LOAD_ATTR_WITH_HINT 62
#define LOAD_ATTR_SLOT 63
#define LOAD_ATTR_MODULE 64
#define LOAD_GLOBAL_ADAPTIVE 65
#define LOAD_GLOBAL_MODULE 66
#define LOAD_GLOBAL_BUILTIN 67
#define LOAD_METHOD_ADAPTIVE 72
#define LOAD_METHOD_CACHED 75
#define LOAD_METHOD_CLASS 76
#define LOAD_METHOD_MODULE 77
#define LOAD_METHOD_NO_DICT 78
#define STORE_ATTR_ADAPTIVE 79
#define STORE_ATTR_INSTANCE_VALUE 80
#define STORE_ATTR_SLOT 81
#define STORE_ATTR_WITH_HINT 87
#define LOAD_FAST__LOAD_FAST 128
#define STORE_FAST__LOAD_FAST 131
#define LOAD_FAST__LOAD_CONST 134
#define LOAD_CONST__LOAD_FAST 140
#define STORE_FAST__STORE_FAST 141
#define DO_TRACING 255
#ifdef NEED_OPCODE_JUMP_TABLES
static uint32_t _PyOpcode_RelativeJump[8] = {