bpo-44525: Specialize simple Python calls. (GH-29033)

This commit is contained in:
Mark Shannon 2021-10-20 16:08:28 +01:00 committed by GitHub
parent 8d6740f489
commit 8863a0fcc5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 176 additions and 60 deletions

47
Include/opcode.h generated
View file

@ -153,29 +153,30 @@ extern "C" {
#define CALL_FUNCTION_BUILTIN_FAST 45
#define CALL_FUNCTION_LEN 46
#define CALL_FUNCTION_ISINSTANCE 47
#define JUMP_ABSOLUTE_QUICK 48
#define LOAD_ATTR_ADAPTIVE 58
#define LOAD_ATTR_INSTANCE_VALUE 80
#define LOAD_ATTR_WITH_HINT 81
#define LOAD_ATTR_SLOT 87
#define LOAD_ATTR_MODULE 88
#define LOAD_GLOBAL_ADAPTIVE 120
#define LOAD_GLOBAL_MODULE 122
#define LOAD_GLOBAL_BUILTIN 123
#define LOAD_METHOD_ADAPTIVE 127
#define LOAD_METHOD_CACHED 128
#define LOAD_METHOD_CLASS 134
#define LOAD_METHOD_MODULE 140
#define LOAD_METHOD_NO_DICT 143
#define STORE_ATTR_ADAPTIVE 149
#define STORE_ATTR_INSTANCE_VALUE 150
#define STORE_ATTR_SLOT 151
#define STORE_ATTR_WITH_HINT 153
#define LOAD_FAST__LOAD_FAST 154
#define STORE_FAST__LOAD_FAST 158
#define LOAD_FAST__LOAD_CONST 159
#define LOAD_CONST__LOAD_FAST 167
#define STORE_FAST__STORE_FAST 168
#define CALL_FUNCTION_PY_SIMPLE 48
#define JUMP_ABSOLUTE_QUICK 58
#define LOAD_ATTR_ADAPTIVE 80
#define LOAD_ATTR_INSTANCE_VALUE 81
#define LOAD_ATTR_WITH_HINT 87
#define LOAD_ATTR_SLOT 88
#define LOAD_ATTR_MODULE 120
#define LOAD_GLOBAL_ADAPTIVE 122
#define LOAD_GLOBAL_MODULE 123
#define LOAD_GLOBAL_BUILTIN 127
#define LOAD_METHOD_ADAPTIVE 128
#define LOAD_METHOD_CACHED 134
#define LOAD_METHOD_CLASS 140
#define LOAD_METHOD_MODULE 143
#define LOAD_METHOD_NO_DICT 149
#define STORE_ATTR_ADAPTIVE 150
#define STORE_ATTR_INSTANCE_VALUE 151
#define STORE_ATTR_SLOT 153
#define STORE_ATTR_WITH_HINT 154
#define LOAD_FAST__LOAD_FAST 158
#define STORE_FAST__LOAD_FAST 159
#define LOAD_FAST__LOAD_CONST 167
#define LOAD_CONST__LOAD_FAST 168
#define STORE_FAST__STORE_FAST 169
#define DO_TRACING 255
#ifdef NEED_OPCODE_JUMP_TABLES
static uint32_t _PyOpcode_RelativeJump[8] = {