gh-106210 Remove Emscripten import trampoline (#106211)

It's no longer necessary.

Co-authored-by: Brett Cannon <brett@python.org>
This commit is contained in:
Hood Chatham 2023-06-29 17:20:49 -07:00 committed by GitHub
parent cea9d4ea82
commit e7bc8d1636
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 19 deletions

View File

@ -0,0 +1 @@
Removed Emscripten import trampoline as it was no longer necessary for Pyodide.

View File

@ -839,16 +839,6 @@ _PyImport_ClearExtension(PyObject *name, PyObject *filename)
}
/*******************/
#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE)
#include <emscripten.h>
EM_JS(PyObject*, _PyImport_InitFunc_TrampolineCall, (PyModInitFunction func), {
return wasmTable.get(func)();
});
#endif // __EMSCRIPTEN__ && PY_CALL_TRAMPOLINE
/*****************************/
/* single-phase init modules */
/*****************************/
@ -1285,7 +1275,7 @@ import_find_extension(PyThreadState *tstate, PyObject *name,
else {
if (def->m_base.m_init == NULL)
return NULL;
mod = _PyImport_InitFunc_TrampolineCall(def->m_base.m_init);
mod = def->m_base.m_init();
if (mod == NULL)
return NULL;
if (PyObject_SetItem(modules, name, mod) == -1) {
@ -1400,7 +1390,7 @@ create_builtin(PyThreadState *tstate, PyObject *name, PyObject *spec)
/* Cannot re-init internal module ("sys" or "builtins") */
return import_add_module(tstate, name);
}
mod = _PyImport_InitFunc_TrampolineCall(*p->initfunc);
mod = (*p->initfunc)();
if (mod == NULL) {
return NULL;
}

View File

@ -166,7 +166,7 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp)
/* Package context is needed for single-phase init */
oldcontext = _PyImport_SwapPackageContext(newcontext);
m = _PyImport_InitFunc_TrampolineCall(p0);
m = p0();
_PyImport_SwapPackageContext(oldcontext);
if (m == NULL) {

View File

@ -12,12 +12,6 @@ extern PyObject *_PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *);
typedef PyObject *(*PyModInitFunction)(void);
#if defined(__EMSCRIPTEN__) && defined(PY_CALL_TRAMPOLINE)
extern PyObject *_PyImport_InitFunc_TrampolineCall(PyModInitFunction func);
#else
#define _PyImport_InitFunc_TrampolineCall(func) (func)()
#endif
/* Max length of module suffix searched for -- accommodates "module.slb" */
#define MAXSUFFIXSIZE 12