GH-96793: Specialize FOR_ITER for generators. (GH-98772)

This commit is contained in:
Mark Shannon
2022-11-07 06:49:51 -08:00
committed by GitHub
parent 80c08d1cd6
commit 4a1c58d504
13 changed files with 207 additions and 71 deletions

63
Include/opcode.h generated
View File

@@ -168,37 +168,38 @@ extern "C" {
#define FOR_ITER_ADAPTIVE 66
#define FOR_ITER_LIST 67
#define FOR_ITER_RANGE 72
#define LOAD_ATTR_ADAPTIVE 73
#define LOAD_ATTR_CLASS 76
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 77
#define LOAD_ATTR_INSTANCE_VALUE 78
#define LOAD_ATTR_MODULE 79
#define LOAD_ATTR_PROPERTY 80
#define LOAD_ATTR_SLOT 81
#define LOAD_ATTR_WITH_HINT 86
#define LOAD_ATTR_METHOD_LAZY_DICT 113
#define LOAD_ATTR_METHOD_NO_DICT 121
#define LOAD_ATTR_METHOD_WITH_DICT 141
#define LOAD_ATTR_METHOD_WITH_VALUES 143
#define LOAD_CONST__LOAD_FAST 153
#define LOAD_FAST__LOAD_CONST 154
#define LOAD_FAST__LOAD_FAST 158
#define LOAD_GLOBAL_ADAPTIVE 159
#define LOAD_GLOBAL_BUILTIN 160
#define LOAD_GLOBAL_MODULE 161
#define STORE_ATTR_ADAPTIVE 166
#define STORE_ATTR_INSTANCE_VALUE 167
#define STORE_ATTR_SLOT 168
#define STORE_ATTR_WITH_HINT 169
#define STORE_FAST__LOAD_FAST 170
#define STORE_FAST__STORE_FAST 173
#define STORE_SUBSCR_ADAPTIVE 174
#define STORE_SUBSCR_DICT 175
#define STORE_SUBSCR_LIST_INT 176
#define UNPACK_SEQUENCE_ADAPTIVE 177
#define UNPACK_SEQUENCE_LIST 178
#define UNPACK_SEQUENCE_TUPLE 179
#define UNPACK_SEQUENCE_TWO_TUPLE 180
#define FOR_ITER_GEN 73
#define LOAD_ATTR_ADAPTIVE 76
#define LOAD_ATTR_CLASS 77
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 78
#define LOAD_ATTR_INSTANCE_VALUE 79
#define LOAD_ATTR_MODULE 80
#define LOAD_ATTR_PROPERTY 81
#define LOAD_ATTR_SLOT 86
#define LOAD_ATTR_WITH_HINT 113
#define LOAD_ATTR_METHOD_LAZY_DICT 121
#define LOAD_ATTR_METHOD_NO_DICT 141
#define LOAD_ATTR_METHOD_WITH_DICT 143
#define LOAD_ATTR_METHOD_WITH_VALUES 153
#define LOAD_CONST__LOAD_FAST 154
#define LOAD_FAST__LOAD_CONST 158
#define LOAD_FAST__LOAD_FAST 159
#define LOAD_GLOBAL_ADAPTIVE 160
#define LOAD_GLOBAL_BUILTIN 161
#define LOAD_GLOBAL_MODULE 166
#define STORE_ATTR_ADAPTIVE 167
#define STORE_ATTR_INSTANCE_VALUE 168
#define STORE_ATTR_SLOT 169
#define STORE_ATTR_WITH_HINT 170
#define STORE_FAST__LOAD_FAST 173
#define STORE_FAST__STORE_FAST 174
#define STORE_SUBSCR_ADAPTIVE 175
#define STORE_SUBSCR_DICT 176
#define STORE_SUBSCR_LIST_INT 177
#define UNPACK_SEQUENCE_ADAPTIVE 178
#define UNPACK_SEQUENCE_LIST 179
#define UNPACK_SEQUENCE_TUPLE 180
#define UNPACK_SEQUENCE_TWO_TUPLE 181
#define DO_TRACING 255
#define HAS_ARG(op) ((((op) >= HAVE_ARGUMENT) && (!IS_PSEUDO_OPCODE(op)))\