bpo-38858: new_interpreter() reuses pycore_init_builtins() (GH-17351) · python/cpython@2582d46 · GitHub
Skip to content

Commit 2582d46

Browse files
authored
bpo-38858: new_interpreter() reuses pycore_init_builtins() (GH-17351)
new_interpreter() now calls _PyBuiltin_Init() to create the builtins module and calls _PyImport_FixupBuiltin(), rather than using _PyImport_FindBuiltin(tstate, "builtins"). pycore_init_builtins() is now responsible to initialize intepr->builtins_copy: inline _PyImport_Init() and remove this function.
1 parent 82c83bd commit 2582d46

4 files changed

Lines changed: 24 additions & 43 deletions

File tree

Doc/data/refcounts.dat

Lines changed: 0 additions & 2 deletions

Include/internal/pycore_pylifecycle.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ extern PyStatus _PySys_SetPreliminaryStderr(PyObject *sysdict);
4444
extern PyStatus _PySys_ReadPreinitWarnOptions(PyWideStringList *options);
4545
extern PyStatus _PySys_ReadPreinitXOptions(PyConfig *config);
4646
extern int _PySys_InitMain(PyThreadState *tstate);
47-
extern PyStatus _PyImport_Init(PyThreadState *tstate);
4847
extern PyStatus _PyExc_Init(void);
4948
extern PyStatus _PyErr_Init(void);
5049
extern PyStatus _PyBuiltins_AddExceptions(PyObject * bltinmod);

Python/import.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,6 @@ module _imp
4848

4949
/* Initialize things */
5050

51-
PyStatus
52-
_PyImport_Init(PyThreadState *tstate)
53-
{
54-
PyInterpreterState *interp = tstate->interp;
55-
interp->builtins_copy = PyDict_Copy(interp->builtins);
56-
if (interp->builtins_copy == NULL) {
57-
return _PyStatus_ERR("Can't backup builtins dict");
58-
}
59-
return _PyStatus_OK();
60-
}
61-
6251
PyStatus
6352
_PyImportHooks_Init(PyThreadState *tstate)
6453
{

Python/pylifecycle.c

Lines changed: 24 additions & 29 deletions

0 commit comments

Comments
 (0)