@@ -666,15 +666,6 @@ extern const char *_PyUopName(int index);
666
666
* so consume 3 units of C stack */
667
667
#define PY_EVAL_C_STACK_UNITS 2
668
668
669
- #if defined(_MSC_VER ) && defined(_Py_USING_PGO )
670
- /* gh-111786: _PyEval_EvalFrameDefault is too large to optimize for speed with
671
- PGO on MSVC. Disable that optimization temporarily. If this is fixed
672
- upstream, we should gate this on the version of MSVC.
673
- */
674
- # pragma optimize("t", off)
675
- /* This setting is reversed below following _PyEval_EvalFrameDefault */
676
- #endif
677
-
678
669
PyObject * _Py_HOT_FUNCTION
679
670
_PyEval_EvalFrameDefault (PyThreadState * tstate , _PyInterpreterFrame * frame , int throwflag )
680
671
{
@@ -689,8 +680,8 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
689
680
#ifdef Py_STATS
690
681
int lastopcode = 0 ;
691
682
#endif
692
- int opcode ; /* Current opcode */
693
- int oparg ; /* Current opcode argument, if any */
683
+ uint16_t opcode ; /* Current opcode */
684
+ int oparg ; /* Current opcode argument, if any */
694
685
#ifdef LLTRACE
695
686
int lltrace = 0 ;
696
687
#endif
@@ -822,7 +813,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
822
813
#if USE_COMPUTED_GOTOS
823
814
_unknown_opcode :
824
815
#else
825
- EXTRA_CASES // From pycore_opcode .h, a 'case' for each unused opcode
816
+ EXTRA_CASES // From pycore_opcode_metadata .h, a 'case' for each unused opcode
826
817
#endif
827
818
/* Tell C compilers not to hold the opcode variable in the loop.
828
819
next_instr points the current instruction without TARGET(). */
@@ -1092,7 +1083,6 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
1092
1083
# pragma GCC diagnostic pop
1093
1084
#elif defined(_MSC_VER ) /* MS_WINDOWS */
1094
1085
# pragma warning(pop)
1095
- # pragma optimize("", on)
1096
1086
#endif
1097
1087
1098
1088
static void
0 commit comments