mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-125217: Turn off optimization around_PyEval_EvalFrameDefault to avoid MSVC crash (#125477)
This commit is contained in:
parent
bee112a94d
commit
51410d8bdc
1 changed files with 14 additions and 0 deletions
|
@ -761,6 +761,16 @@ _PyObjectArray_Free(PyObject **array, PyObject **scratch)
|
|||
* so consume 3 units of C stack */
|
||||
#define PY_EVAL_C_STACK_UNITS 2
|
||||
|
||||
#if defined(_MSC_VER) && defined(_Py_USING_PGO) && defined(_Py_JIT)
|
||||
/* _PyEval_EvalFrameDefault is too large to optimize for speed with
|
||||
PGO on MSVC when the JIT is enabled. Disable that optimization
|
||||
around this function only. If this is fixed upstream, we should
|
||||
gate this on the version of MSVC.
|
||||
*/
|
||||
# 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)
|
||||
{
|
||||
|
@ -1136,6 +1146,10 @@ goto_to_tier1:
|
|||
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER) && defined(_Py_USING_PGO) && defined(_Py_JIT)
|
||||
# pragma optimize("", on)
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# pragma GCC diagnostic pop
|
||||
#elif defined(_MSC_VER) /* MS_WINDOWS */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue