bpo-45367: Specialize BINARY_MULTIPLY (GH-28727)

This commit is contained in:
Dennis Sweeney 2021-10-14 10:56:33 -04:00 committed by GitHub
parent c96d1546b1
commit 3b3d30e8f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 162 additions and 55 deletions

57
Include/opcode.h generated
View file

@ -141,33 +141,36 @@ extern "C" {
#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_INSTANCE_VALUE 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 LOAD_METHOD_NO_DICT 88
#define STORE_ATTR_ADAPTIVE 120
#define STORE_ATTR_INSTANCE_VALUE 122
#define STORE_ATTR_SLOT 123
#define STORE_ATTR_WITH_HINT 127
#define LOAD_FAST__LOAD_FAST 128
#define STORE_FAST__LOAD_FAST 134
#define LOAD_FAST__LOAD_CONST 140
#define LOAD_CONST__LOAD_FAST 143
#define STORE_FAST__STORE_FAST 149
#define BINARY_MULTIPLY_ADAPTIVE 21
#define BINARY_MULTIPLY_INT 36
#define BINARY_MULTIPLY_FLOAT 38
#define BINARY_SUBSCR_ADAPTIVE 39
#define BINARY_SUBSCR_LIST_INT 40
#define BINARY_SUBSCR_TUPLE_INT 41
#define BINARY_SUBSCR_DICT 42
#define JUMP_ABSOLUTE_QUICK 43
#define LOAD_ATTR_ADAPTIVE 44
#define LOAD_ATTR_INSTANCE_VALUE 45
#define LOAD_ATTR_WITH_HINT 46
#define LOAD_ATTR_SLOT 47
#define LOAD_ATTR_MODULE 48
#define LOAD_GLOBAL_ADAPTIVE 58
#define LOAD_GLOBAL_MODULE 80
#define LOAD_GLOBAL_BUILTIN 81
#define LOAD_METHOD_ADAPTIVE 87
#define LOAD_METHOD_CACHED 88
#define LOAD_METHOD_CLASS 120
#define LOAD_METHOD_MODULE 122
#define LOAD_METHOD_NO_DICT 123
#define STORE_ATTR_ADAPTIVE 127
#define STORE_ATTR_INSTANCE_VALUE 128
#define STORE_ATTR_SLOT 134
#define STORE_ATTR_WITH_HINT 140
#define LOAD_FAST__LOAD_FAST 143
#define STORE_FAST__LOAD_FAST 149
#define LOAD_FAST__LOAD_CONST 150
#define LOAD_CONST__LOAD_FAST 151
#define STORE_FAST__STORE_FAST 153
#define DO_TRACING 255
#ifdef NEED_OPCODE_JUMP_TABLES
static uint32_t _PyOpcode_RelativeJump[8] = {