https://github.com/python/cpython/commit/9e52e553f4a906c120f807e940891f7325011b67
commit: 9e52e553f4a906c120f807e940891f7325011b67
branch: main
author: Michael Droettboom <[email protected]>
committer: mdboom <[email protected]>
date: 2025-01-25T07:56:13-05:00
summary:

gh-129244: Remove workaround for MSVC compiler crash (#129263)

* Remove compiler workaround

* Remote _Py_USING_PGO

files:
M PCbuild/pyproject.props
M Python/ceval.c

diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props
index 17abfa85201a90..dbdb6b743bea37 100644
--- a/PCbuild/pyproject.props
+++ b/PCbuild/pyproject.props
@@ -53,7 +53,6 @@
     <ClCompile>
       
<AdditionalIncludeDirectories>$(PySourcePath)Include;$(PySourcePath)Include\internal;$(PySourcePath)Include\internal\mimalloc;$(GeneratedPyConfigDir);$(PySourcePath)PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;$(_Py3NamePreprocessorDefinition);$(_PlatformPreprocessorDefinition)$(_DebugPreprocessorDefinition)$(_PyStatsPreprocessorDefinition)$(_PydPreprocessorDefinition)%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessorDefinitions Condition="'$(SupportPGO)' and 
($(Configuration) == 'PGInstrument' or $(Configuration) == 
'PGUpdate')">_Py_USING_PGO=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
diff --git a/Python/ceval.c b/Python/ceval.c
index 1bdae338845758..5469874e97828b 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -766,23 +766,6 @@ _PyObjectArray_Free(PyObject **array, PyObject **scratch)
 #define PY_EVAL_C_STACK_UNITS 2
 
 
-/* _PyEval_EvalFrameDefault is too large to optimize for speed with PGO on MSVC
-   when the JIT is enabled or GIL is disabled. Disable that optimization around
-   this function only. If this is fixed upstream, we should gate this on the
-   version of MSVC.
- */
-#if (defined(_MSC_VER) && \
-     defined(_Py_USING_PGO) && \
-     (defined(_Py_JIT) || \
-      defined(Py_GIL_DISABLED)))
-#define DO_NOT_OPTIMIZE_INTERP_LOOP
-#endif
-
-#ifdef DO_NOT_OPTIMIZE_INTERP_LOOP
-#  pragma optimize("t", off)
-/* This setting is reversed below following _PyEval_EvalFrameDefault */
-#endif
-
 PyObject* _Py_HOT_FUNCTION
 _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, 
int throwflag)
 {
@@ -1171,10 +1154,6 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, 
_PyInterpreterFrame *frame, int
 
 }
 
-#ifdef DO_NOT_OPTIMIZE_INTERP_LOOP
-#  pragma optimize("", on)
-#endif
-
 #if defined(__GNUC__)
 #  pragma GCC diagnostic pop
 #elif defined(_MSC_VER) /* MS_WINDOWS */

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to