@@ -7,7 +7,7 @@ use crate::{
77 self , BinaryOperator , BuildSliceArgCount , CommonConstant , ComparisonOperator ,
88 ConvertValueOparg , IntrinsicFunction1 , IntrinsicFunction2 , Invert , Label , LoadAttr ,
99 LoadSuperAttr , MakeFunctionFlag , NameIdx , OpArg , OpArgByte , OpArgType , RaiseKind ,
10- SpecialMethod , StoreFastLoadFast , UnpackExArgs ,
10+ SpecialMethod , UnpackExArgs ,
1111 } ,
1212 } ,
1313 marshal:: MarshalError ,
@@ -201,13 +201,13 @@ pub enum Instruction {
201201 var_num : Arg < oparg:: VarNum > ,
202202 } = 86 ,
203203 LoadFastBorrowLoadFastBorrow {
204- var_nums : Arg < u32 > ,
204+ var_nums : Arg < oparg :: VarNums > ,
205205 } = 87 ,
206206 LoadFastCheck {
207207 var_num : Arg < oparg:: VarNum > ,
208208 } = 88 ,
209209 LoadFastLoadFast {
210- var_nums : Arg < u32 > ,
210+ var_nums : Arg < oparg :: VarNums > ,
211211 } = 89 ,
212212 LoadFromDictOrDeref {
213213 i : Arg < NameIdx > ,
@@ -279,10 +279,10 @@ pub enum Instruction {
279279 var_num : Arg < oparg:: VarNum > ,
280280 } = 112 ,
281281 StoreFastLoadFast {
282- var_nums : Arg < StoreFastLoadFast > ,
282+ var_nums : Arg < oparg :: VarNums > ,
283283 } = 113 ,
284284 StoreFastStoreFast {
285- var_nums : Arg < u32 > ,
285+ var_nums : Arg < oparg :: VarNums > ,
286286 } = 114 ,
287287 StoreGlobal {
288288 namei : Arg < NameIdx > ,
@@ -1224,18 +1224,16 @@ impl InstructionMetadata for Instruction {
12241224 Self :: LoadFastCheck { var_num } => w ! ( LOAD_FAST_CHECK , varname = var_num) ,
12251225 Self :: LoadFastLoadFast { var_nums } => {
12261226 let oparg = var_nums. get ( arg) ;
1227- let idx1 = oparg >> 4 ;
1228- let idx2 = oparg & 15 ;
1229- let name1 = varname ( idx1. into ( ) ) ;
1230- let name2 = varname ( idx2. into ( ) ) ;
1227+ let ( idx1, idx2) = oparg. indexes ( ) ;
1228+ let name1 = varname ( idx1) ;
1229+ let name2 = varname ( idx2) ;
12311230 write ! ( f, "{:pad$}({}, {})" , "LOAD_FAST_LOAD_FAST" , name1, name2)
12321231 }
12331232 Self :: LoadFastBorrowLoadFastBorrow { var_nums } => {
12341233 let oparg = var_nums. get ( arg) ;
1235- let idx1 = oparg >> 4 ;
1236- let idx2 = oparg & 15 ;
1237- let name1 = varname ( idx1. into ( ) ) ;
1238- let name2 = varname ( idx2. into ( ) ) ;
1234+ let ( idx1, idx2) = oparg. indexes ( ) ;
1235+ let name1 = varname ( idx1) ;
1236+ let name2 = varname ( idx2) ;
12391237 write ! (
12401238 f,
12411239 "{:pad$}({}, {})" ,
@@ -1349,21 +1347,19 @@ impl InstructionMetadata for Instruction {
13491347 Self :: StoreFast { var_num } => w ! ( STORE_FAST , varname = var_num) ,
13501348 Self :: StoreFastLoadFast { var_nums } => {
13511349 let oparg = var_nums. get ( arg) ;
1352- let store_idx = oparg. store_idx ( ) ;
1353- let load_idx = oparg. load_idx ( ) ;
1350+ let ( store_idx, load_idx) = oparg. indexes ( ) ;
13541351 write ! ( f, "STORE_FAST_LOAD_FAST" ) ?;
13551352 write ! ( f, " ({}, {})" , store_idx, load_idx)
13561353 }
13571354 Self :: StoreFastStoreFast { var_nums } => {
13581355 let oparg = var_nums. get ( arg) ;
1359- let idx1 = oparg >> 4 ;
1360- let idx2 = oparg & 15 ;
1356+ let ( idx1, idx2) = oparg. indexes ( ) ;
13611357 write ! (
13621358 f,
13631359 "{:pad$}({}, {})" ,
13641360 "STORE_FAST_STORE_FAST" ,
1365- varname( idx1. into ( ) ) ,
1366- varname( idx2. into ( ) )
1361+ varname( idx1) ,
1362+ varname( idx2)
13671363 )
13681364 }
13691365 Self :: StoreGlobal { namei } => w ! ( STORE_GLOBAL , name = namei) ,
0 commit comments