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]