@@ -1798,28 +1798,26 @@ code_richcompare(PyObject *self, PyObject *other, int op)
17981798 for (int i = 0 ; i < Py_SIZE (co ); i ++ ) {
17991799 _Py_CODEUNIT co_instr = _PyCode_CODE (co )[i ];
18001800 _Py_CODEUNIT cp_instr = _PyCode_CODE (cp )[i ];
1801- uint8_t co_code = co_instr . op . code ;
1801+ uint8_t co_code = _Py_GetBaseOpcode ( co , i ) ;
18021802 uint8_t co_arg = co_instr .op .arg ;
1803- uint8_t cp_code = cp_instr . op . code ;
1803+ uint8_t cp_code = _Py_GetBaseOpcode ( cp , i ) ;
18041804 uint8_t cp_arg = cp_instr .op .arg ;
18051805
18061806 if (co_code == ENTER_EXECUTOR ) {
18071807 const int exec_index = co_arg ;
18081808 _PyExecutorObject * exec = co -> co_executors -> executors [exec_index ];
1809- co_code = exec -> vm_data .opcode ;
1809+ co_code = _PyOpcode_Deopt [ exec -> vm_data .opcode ] ;
18101810 co_arg = exec -> vm_data .oparg ;
18111811 }
18121812 assert (co_code != ENTER_EXECUTOR );
1813- co_code = _PyOpcode_Deopt [co_code ];
18141813
18151814 if (cp_code == ENTER_EXECUTOR ) {
18161815 const int exec_index = cp_arg ;
18171816 _PyExecutorObject * exec = cp -> co_executors -> executors [exec_index ];
1818- cp_code = exec -> vm_data .opcode ;
1817+ cp_code = _PyOpcode_Deopt [ exec -> vm_data .opcode ] ;
18191818 cp_arg = exec -> vm_data .oparg ;
18201819 }
18211820 assert (cp_code != ENTER_EXECUTOR );
1822- cp_code = _PyOpcode_Deopt [cp_code ];
18231821
18241822 if (co_code != cp_code || co_arg != cp_arg ) {
18251823 goto unequal ;
0 commit comments