2121except ImportError :
2222 pass
2323
24- cmp_op = ('<' , '<=' , '==' , '!=' , '>' , '>=' , 'in' , 'not in' , 'is' ,
25- 'is not' , 'exception match' , 'BAD' )
24+ cmp_op = ('<' , '<=' , '==' , '!=' , '>' , '>=' )
2625
2726hasconst = []
2827hasname = []
@@ -60,14 +59,14 @@ def jabs_op(name, op):
6059def_op ('ROT_THREE' , 3 )
6160def_op ('DUP_TOP' , 4 )
6261def_op ('DUP_TOP_TWO' , 5 )
62+ def_op ('ROT_FOUR' , 6 )
6363
6464def_op ('NOP' , 9 )
6565def_op ('UNARY_POSITIVE' , 10 )
6666def_op ('UNARY_NEGATIVE' , 11 )
6767def_op ('UNARY_NOT' , 12 )
6868
6969def_op ('UNARY_INVERT' , 15 )
70-
7170def_op ('BINARY_MATRIX_MULTIPLY' , 16 )
7271def_op ('INPLACE_MATRIX_MULTIPLY' , 17 )
7372
@@ -82,11 +81,18 @@ def jabs_op(name, op):
8281def_op ('BINARY_TRUE_DIVIDE' , 27 )
8382def_op ('INPLACE_FLOOR_DIVIDE' , 28 )
8483def_op ('INPLACE_TRUE_DIVIDE' , 29 )
84+ def_op ('GET_LEN' , 30 )
85+ def_op ('MATCH_MAPPING' , 31 )
86+ def_op ('MATCH_SEQUENCE' , 32 )
87+ def_op ('MATCH_KEYS' , 33 )
88+ def_op ('COPY_DICT_WITHOUT_KEYS' , 34 )
8589
90+ def_op ('WITH_EXCEPT_START' , 49 )
8691def_op ('GET_AITER' , 50 )
8792def_op ('GET_ANEXT' , 51 )
8893def_op ('BEFORE_ASYNC_WITH' , 52 )
8994
95+ def_op ('END_ASYNC_FOR' , 54 )
9096def_op ('INPLACE_ADD' , 55 )
9197def_op ('INPLACE_SUBTRACT' , 56 )
9298def_op ('INPLACE_MULTIPLY' , 57 )
@@ -102,27 +108,24 @@ def jabs_op(name, op):
102108def_op ('INPLACE_POWER' , 67 )
103109def_op ('GET_ITER' , 68 )
104110def_op ('GET_YIELD_FROM_ITER' , 69 )
105-
106111def_op ('PRINT_EXPR' , 70 )
107112def_op ('LOAD_BUILD_CLASS' , 71 )
108113def_op ('YIELD_FROM' , 72 )
109114def_op ('GET_AWAITABLE' , 73 )
110-
115+ def_op ( 'LOAD_ASSERTION_ERROR' , 74 )
111116def_op ('INPLACE_LSHIFT' , 75 )
112117def_op ('INPLACE_RSHIFT' , 76 )
113118def_op ('INPLACE_AND' , 77 )
114119def_op ('INPLACE_XOR' , 78 )
115120def_op ('INPLACE_OR' , 79 )
116- def_op ('BREAK_LOOP' , 80 )
117- def_op ('WITH_CLEANUP_START' , 81 )
118- def_op ('WITH_CLEANUP_FINISH' , 82 )
119121
122+ def_op ('LIST_TO_TUPLE' , 82 )
120123def_op ('RETURN_VALUE' , 83 )
121124def_op ('IMPORT_STAR' , 84 )
122125def_op ('SETUP_ANNOTATIONS' , 85 )
123126def_op ('YIELD_VALUE' , 86 )
124127def_op ('POP_BLOCK' , 87 )
125- def_op ( 'END_FINALLY' , 88 )
128+
126129def_op ('POP_EXCEPT' , 89 )
127130
128131HAVE_ARGUMENT = 90 # Opcodes from here have an argument:
@@ -136,45 +139,46 @@ def jabs_op(name, op):
136139name_op ('DELETE_ATTR' , 96 ) # ""
137140name_op ('STORE_GLOBAL' , 97 ) # ""
138141name_op ('DELETE_GLOBAL' , 98 ) # ""
142+ def_op ('ROT_N' , 99 )
139143def_op ('LOAD_CONST' , 100 ) # Index in const list
140144hasconst .append (100 )
141145name_op ('LOAD_NAME' , 101 ) # Index in name list
142146def_op ('BUILD_TUPLE' , 102 ) # Number of tuple items
143147def_op ('BUILD_LIST' , 103 ) # Number of list items
144148def_op ('BUILD_SET' , 104 ) # Number of set items
145- def_op ('BUILD_MAP' , 105 ) # Number of dict entries (upto 255)
149+ def_op ('BUILD_MAP' , 105 ) # Number of dict entries
146150name_op ('LOAD_ATTR' , 106 ) # Index in name list
147151def_op ('COMPARE_OP' , 107 ) # Comparison operator
148152hascompare .append (107 )
149153name_op ('IMPORT_NAME' , 108 ) # Index in name list
150154name_op ('IMPORT_FROM' , 109 ) # Index in name list
151-
152155jrel_op ('JUMP_FORWARD' , 110 ) # Number of bytes to skip
153156jabs_op ('JUMP_IF_FALSE_OR_POP' , 111 ) # Target byte offset from beginning of code
154157jabs_op ('JUMP_IF_TRUE_OR_POP' , 112 ) # ""
155158jabs_op ('JUMP_ABSOLUTE' , 113 ) # ""
156159jabs_op ('POP_JUMP_IF_FALSE' , 114 ) # ""
157160jabs_op ('POP_JUMP_IF_TRUE' , 115 ) # ""
158-
159161name_op ('LOAD_GLOBAL' , 116 ) # Index in name list
162+ def_op ('IS_OP' , 117 )
163+ def_op ('CONTAINS_OP' , 118 )
164+ def_op ('RERAISE' , 119 )
160165
161- jabs_op ('CONTINUE_LOOP' , 119 ) # Target address
162- jrel_op ('SETUP_LOOP' , 120 ) # Distance to target address
163- jrel_op ('SETUP_EXCEPT' , 121 ) # ""
164- jrel_op ('SETUP_FINALLY' , 122 ) # ""
166+ jabs_op ('JUMP_IF_NOT_EXC_MATCH' , 121 )
167+ jrel_op ('SETUP_FINALLY' , 122 ) # Distance to target address
165168
166169def_op ('LOAD_FAST' , 124 ) # Local variable number
167170haslocal .append (124 )
168171def_op ('STORE_FAST' , 125 ) # Local variable number
169172haslocal .append (125 )
170173def_op ('DELETE_FAST' , 126 ) # Local variable number
171174haslocal .append (126 )
172- name_op ('STORE_ANNOTATION' , 127 ) # Index in name list
173175
176+ def_op ('GEN_START' , 129 ) # Kind of generator/coroutine
174177def_op ('RAISE_VARARGS' , 130 ) # Number of raise arguments (1, 2, or 3)
175178def_op ('CALL_FUNCTION' , 131 ) # #args
176179def_op ('MAKE_FUNCTION' , 132 ) # Flags
177180def_op ('BUILD_SLICE' , 133 ) # Number of items
181+
178182def_op ('LOAD_CLOSURE' , 135 )
179183hasfree .append (135 )
180184def_op ('LOAD_DEREF' , 136 )
@@ -186,30 +190,27 @@ def jabs_op(name, op):
186190
187191def_op ('CALL_FUNCTION_KW' , 141 ) # #args + #kwargs
188192def_op ('CALL_FUNCTION_EX' , 142 ) # Flags
189-
190193jrel_op ('SETUP_WITH' , 143 )
191-
194+ def_op ('EXTENDED_ARG' , 144 )
195+ EXTENDED_ARG = 144
192196def_op ('LIST_APPEND' , 145 )
193197def_op ('SET_ADD' , 146 )
194198def_op ('MAP_ADD' , 147 )
195-
196199def_op ('LOAD_CLASSDEREF' , 148 )
197200hasfree .append (148 )
198201
199- def_op ('EXTENDED_ARG' , 144 )
200- EXTENDED_ARG = 144
201-
202- def_op ('BUILD_LIST_UNPACK' , 149 )
203- def_op ('BUILD_MAP_UNPACK' , 150 )
204- def_op ('BUILD_MAP_UNPACK_WITH_CALL' , 151 )
205- def_op ('BUILD_TUPLE_UNPACK' , 152 )
206- def_op ('BUILD_SET_UNPACK' , 153 )
202+ def_op ('MATCH_CLASS' , 152 )
207203
208204jrel_op ('SETUP_ASYNC_WITH' , 154 )
209-
210205def_op ('FORMAT_VALUE' , 155 )
211206def_op ('BUILD_CONST_KEY_MAP' , 156 )
212207def_op ('BUILD_STRING' , 157 )
213- def_op ('BUILD_TUPLE_UNPACK_WITH_CALL' , 158 )
208+
209+ name_op ('LOAD_METHOD' , 160 )
210+ def_op ('CALL_METHOD' , 161 )
211+ def_op ('LIST_EXTEND' , 162 )
212+ def_op ('SET_UPDATE' , 163 )
213+ def_op ('DICT_MERGE' , 164 )
214+ def_op ('DICT_UPDATE' , 165 )
214215
215216del def_op , name_op , jrel_op , jabs_op
0 commit comments