@@ -668,45 +668,45 @@ impl ExecutingFrame<'_> {
668
668
} => self . execute_build_map ( vm, * size, * unpack, * for_call) ,
669
669
bytecode:: Instruction :: BuildSlice { step } => self . execute_build_slice ( vm, * step) ,
670
670
bytecode:: Instruction :: ListAppend { i } => {
671
+ let item = self . pop_value ( ) ;
671
672
let obj = self . nth_value ( * i) ;
672
673
let list: PyListRef = unsafe {
673
674
// SAFETY: trust compiler
674
675
obj. downcast_unchecked ( )
675
676
} ;
676
- let item = self . pop_value ( ) ;
677
677
list. append ( item) ;
678
678
Ok ( None )
679
679
}
680
680
bytecode:: Instruction :: SetAdd { i } => {
681
+ let item = self . pop_value ( ) ;
681
682
let obj = self . nth_value ( * i) ;
682
683
let set: PyRef < PySet > = unsafe {
683
684
// SAFETY: trust compiler
684
685
obj. downcast_unchecked ( )
685
686
} ;
686
- let item = self . pop_value ( ) ;
687
687
set. add ( item, vm) ?;
688
688
Ok ( None )
689
689
}
690
690
bytecode:: Instruction :: MapAdd { i } => {
691
- let obj = self . nth_value ( * i + 1 ) ;
691
+ let key = self . pop_value ( ) ;
692
+ let value = self . pop_value ( ) ;
693
+ let obj = self . nth_value ( * i) ;
692
694
let dict: PyDictRef = unsafe {
693
695
// SAFETY: trust compiler
694
696
obj. downcast_unchecked ( )
695
697
} ;
696
- let key = self . pop_value ( ) ;
697
- let value = self . pop_value ( ) ;
698
698
dict. set_item ( & * key, value, vm) ?;
699
699
Ok ( None )
700
700
}
701
701
bytecode:: Instruction :: MapAddRev { i } => {
702
702
// change order of evalutio of key and value to support Py3.8 Named expressions in dict comprehension
703
- let obj = self . nth_value ( * i + 1 ) ;
703
+ let value = self . pop_value ( ) ;
704
+ let key = self . pop_value ( ) ;
705
+ let obj = self . nth_value ( * i) ;
704
706
let dict: PyDictRef = unsafe {
705
707
// SAFETY: trust compiler
706
708
obj. downcast_unchecked ( )
707
709
} ;
708
- let value = self . pop_value ( ) ;
709
- let key = self . pop_value ( ) ;
710
710
dict. set_item ( & * key, value, vm) ?;
711
711
Ok ( None )
712
712
}
0 commit comments