@@ -1062,58 +1062,6 @@ make_source_pathname(PyObject *path)
10621062}
10631063
10641064
1065- /* Read a code object from a file and check it for validity */
1066-
1067- static PyCodeObject *
1068- read_compiled_module (PyObject * cpathname , FILE * fp )
1069- {
1070- PyObject * co ;
1071-
1072- co = PyMarshal_ReadLastObjectFromFile (fp );
1073- if (co == NULL )
1074- return NULL ;
1075- if (!PyCode_Check (co )) {
1076- PyErr_Format (PyExc_ImportError ,
1077- "Non-code object in %R" , cpathname );
1078- Py_DECREF (co );
1079- return NULL ;
1080- }
1081- return (PyCodeObject * )co ;
1082- }
1083-
1084-
1085- /* Load a module from a compiled file, execute it, and return its
1086- module object WITH INCREMENTED REFERENCE COUNT */
1087-
1088- static PyObject *
1089- load_compiled_module (PyObject * name , PyObject * cpathname , FILE * fp )
1090- {
1091- long magic ;
1092- PyCodeObject * co ;
1093- PyObject * m ;
1094-
1095- magic = PyMarshal_ReadLongFromFile (fp );
1096- if (magic != pyc_magic ) {
1097- PyErr_Format (PyExc_ImportError ,
1098- "Bad magic number in %R" , cpathname );
1099- return NULL ;
1100- }
1101- /* Skip mtime and size */
1102- (void ) PyMarshal_ReadLongFromFile (fp );
1103- (void ) PyMarshal_ReadLongFromFile (fp );
1104- co = read_compiled_module (cpathname , fp );
1105- if (co == NULL )
1106- return NULL ;
1107- if (Py_VerboseFlag )
1108- PySys_FormatStderr ("import %U # precompiled from %R\n" ,
1109- name , cpathname );
1110- m = PyImport_ExecCodeModuleObject (name , (PyObject * )co ,
1111- cpathname , cpathname );
1112- Py_DECREF (co );
1113-
1114- return m ;
1115- }
1116-
11171065static void
11181066update_code_filenames (PyCodeObject * co , PyObject * oldname , PyObject * newname )
11191067{
@@ -3010,29 +2958,6 @@ get_file(PyObject *pathname, PyObject *fob, char *mode)
30102958 }
30112959}
30122960
3013- static PyObject *
3014- imp_load_compiled (PyObject * self , PyObject * args )
3015- {
3016- PyObject * name , * pathname ;
3017- PyObject * fob = NULL ;
3018- PyObject * m ;
3019- FILE * fp ;
3020- if (!PyArg_ParseTuple (args , "UO&|O:load_compiled" ,
3021- & name ,
3022- PyUnicode_FSDecoder , & pathname ,
3023- & fob ))
3024- return NULL ;
3025- fp = get_file (pathname , fob , "rb" );
3026- if (fp == NULL ) {
3027- Py_DECREF (pathname );
3028- return NULL ;
3029- }
3030- m = load_compiled_module (name , pathname , fp );
3031- fclose (fp );
3032- Py_DECREF (pathname );
3033- return m ;
3034- }
3035-
30362961#ifdef HAVE_DYNAMIC_LOADING
30372962
30382963static PyObject *
@@ -3209,7 +3134,6 @@ static PyMethodDef imp_methods[] = {
32093134 {"init_frozen" , imp_init_frozen , METH_VARARGS },
32103135 {"is_builtin" , imp_is_builtin , METH_VARARGS },
32113136 {"is_frozen" , imp_is_frozen , METH_VARARGS },
3212- {"load_compiled" , imp_load_compiled , METH_VARARGS },
32133137#ifdef HAVE_DYNAMIC_LOADING
32143138 {"load_dynamic" , imp_load_dynamic , METH_VARARGS },
32153139#endif
0 commit comments