@@ -666,15 +666,6 @@ extern const char *_PyUopName(int index);
666666 * so consume 3 units of C stack */
667667#define PY_EVAL_C_STACK_UNITS 2
668668
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-
678669PyObject * _Py_HOT_FUNCTION
679670_PyEval_EvalFrameDefault (PyThreadState * tstate , _PyInterpreterFrame * frame , int throwflag )
680671{
@@ -689,8 +680,8 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
689680#ifdef Py_STATS
690681 int lastopcode = 0 ;
691682#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 */
694685#ifdef LLTRACE
695686 int lltrace = 0 ;
696687#endif
@@ -822,7 +813,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
822813#if USE_COMPUTED_GOTOS
823814 _unknown_opcode :
824815#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
826817#endif
827818 /* Tell C compilers not to hold the opcode variable in the loop.
828819 next_instr points the current instruction without TARGET(). */
@@ -1092,7 +1083,6 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
10921083# pragma GCC diagnostic pop
10931084#elif defined(_MSC_VER ) /* MS_WINDOWS */
10941085# pragma warning(pop)
1095- # pragma optimize("", on)
10961086#endif
10971087
10981088static void
0 commit comments