bpo-44945: Specialize BINARY_ADD (GH-27967)

This commit is contained in:
Mark Shannon 2021-08-27 09:21:01 +01:00 committed by GitHub
parent 245f1f2605
commit d3eaf0cc5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 253 additions and 78 deletions

57
Include/opcode.h generated
View file

@ -136,32 +136,37 @@ extern "C" {
#define DICT_MERGE 164
#define DICT_UPDATE 165
#define CALL_METHOD_KW 166
#define BINARY_SUBSCR_ADAPTIVE 7
#define BINARY_SUBSCR_LIST_INT 8
#define BINARY_SUBSCR_TUPLE_INT 13
#define BINARY_SUBSCR_DICT 14
#define JUMP_ABSOLUTE_QUICK 18
#define LOAD_ATTR_ADAPTIVE 21
#define LOAD_ATTR_SPLIT_KEYS 36
#define LOAD_ATTR_WITH_HINT 38
#define LOAD_ATTR_SLOT 39
#define LOAD_ATTR_MODULE 40
#define LOAD_GLOBAL_ADAPTIVE 41
#define LOAD_GLOBAL_MODULE 42
#define LOAD_GLOBAL_BUILTIN 43
#define LOAD_METHOD_ADAPTIVE 44
#define LOAD_METHOD_CACHED 45
#define LOAD_METHOD_CLASS 46
#define LOAD_METHOD_MODULE 47
#define STORE_ATTR_ADAPTIVE 48
#define STORE_ATTR_SPLIT_KEYS 58
#define STORE_ATTR_SLOT 80
#define STORE_ATTR_WITH_HINT 81
#define LOAD_FAST__LOAD_FAST 87
#define STORE_FAST__LOAD_FAST 88
#define LOAD_FAST__LOAD_CONST 120
#define LOAD_CONST__LOAD_FAST 122
#define STORE_FAST__STORE_FAST 123
#define BINARY_ADD_ADAPTIVE 7
#define BINARY_ADD_INT 8
#define BINARY_ADD_FLOAT 13
#define BINARY_ADD_UNICODE 14
#define BINARY_ADD_UNICODE_INPLACE_FAST 18
#define BINARY_SUBSCR_ADAPTIVE 21
#define BINARY_SUBSCR_LIST_INT 36
#define BINARY_SUBSCR_TUPLE_INT 38
#define BINARY_SUBSCR_DICT 39
#define JUMP_ABSOLUTE_QUICK 40
#define LOAD_ATTR_ADAPTIVE 41
#define LOAD_ATTR_SPLIT_KEYS 42
#define LOAD_ATTR_WITH_HINT 43
#define LOAD_ATTR_SLOT 44
#define LOAD_ATTR_MODULE 45
#define LOAD_GLOBAL_ADAPTIVE 46
#define LOAD_GLOBAL_MODULE 47
#define LOAD_GLOBAL_BUILTIN 48
#define LOAD_METHOD_ADAPTIVE 58
#define LOAD_METHOD_CACHED 80
#define LOAD_METHOD_CLASS 81
#define LOAD_METHOD_MODULE 87
#define STORE_ATTR_ADAPTIVE 88
#define STORE_ATTR_SPLIT_KEYS 120
#define STORE_ATTR_SLOT 122
#define STORE_ATTR_WITH_HINT 123
#define LOAD_FAST__LOAD_FAST 127
#define STORE_FAST__LOAD_FAST 128
#define LOAD_FAST__LOAD_CONST 134
#define LOAD_CONST__LOAD_FAST 140
#define STORE_FAST__STORE_FAST 143
#ifdef NEED_OPCODE_JUMP_TABLES
static uint32_t _PyOpcode_RelativeJump[8] = {
0U,