mirror of
https://github.com/python/cpython.git
synced 2025-07-08 03:45:36 +00:00

gh-130396: Move PYOS_LOG2_STACK_MARGIN to internal headers (GH-135928)
Move PYOS_LOG2_STACK_MARGIN, PYOS_STACK_MARGIN,
PYOS_STACK_MARGIN_BYTES and PYOS_STACK_MARGIN_SHIFT macros to
pycore_pythonrun.h internal header. Add underscore (_) prefix to the
names to make them private. Rename _PYOS to _PyOS.
(cherry picked from commit 28940e8e48
)
Co-authored-by: Victor Stinner <vstinner@python.org>
62 lines
1.5 KiB
C
62 lines
1.5 KiB
C
#ifndef Py_INTERNAL_PYTHONRUN_H
|
|
#define Py_INTERNAL_PYTHONRUN_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
#endif
|
|
|
|
extern int _PyRun_SimpleFileObject(
|
|
FILE *fp,
|
|
PyObject *filename,
|
|
int closeit,
|
|
PyCompilerFlags *flags);
|
|
|
|
extern int _PyRun_AnyFileObject(
|
|
FILE *fp,
|
|
PyObject *filename,
|
|
int closeit,
|
|
PyCompilerFlags *flags);
|
|
|
|
extern int _PyRun_InteractiveLoopObject(
|
|
FILE *fp,
|
|
PyObject *filename,
|
|
PyCompilerFlags *flags);
|
|
|
|
extern int _PyObject_SupportedAsScript(PyObject *);
|
|
extern const char* _Py_SourceAsString(
|
|
PyObject *cmd,
|
|
const char *funcname,
|
|
const char *what,
|
|
PyCompilerFlags *cf,
|
|
PyObject **cmd_copy);
|
|
|
|
|
|
/* Stack size, in "pointers". This must be large enough, so
|
|
* no two calls to check recursion depth are more than this far
|
|
* apart. In practice, that means it must be larger than the C
|
|
* stack consumption of PyEval_EvalDefault */
|
|
#if defined(_Py_ADDRESS_SANITIZER) || defined(_Py_THREAD_SANITIZER)
|
|
# define _PyOS_LOG2_STACK_MARGIN 12
|
|
#elif defined(Py_DEBUG) && defined(WIN32)
|
|
# define _PyOS_LOG2_STACK_MARGIN 12
|
|
#else
|
|
# define _PyOS_LOG2_STACK_MARGIN 11
|
|
#endif
|
|
#define _PyOS_STACK_MARGIN (1 << _PyOS_LOG2_STACK_MARGIN)
|
|
#define _PyOS_STACK_MARGIN_BYTES (_PyOS_STACK_MARGIN * sizeof(void *))
|
|
|
|
#if SIZEOF_VOID_P == 8
|
|
# define _PyOS_STACK_MARGIN_SHIFT (_PyOS_LOG2_STACK_MARGIN + 3)
|
|
#else
|
|
# define _PyOS_STACK_MARGIN_SHIFT (_PyOS_LOG2_STACK_MARGIN + 2)
|
|
#endif
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // !Py_INTERNAL_PYTHONRUN_H
|
|
|