Skip to content

Commit aa2b773

Browse files
committed
give up on freezing site module until we update beyond 3.9
1 parent 4eb0758 commit aa2b773

File tree

3 files changed

+6
-23
lines changed

3 files changed

+6
-23
lines changed

graalpython/com.oracle.graal.python.frozen/freeze_modules.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@
7171
# We must explicitly mark os.path as a frozen module
7272
("ntpath" if os.name == "nt" else "posixpath") + " : os.path",
7373
"os",
74-
"site : graalpython.site",
74+
# TODO: freeze site when we upgrade to Python 3.9+ where the stdlib
75+
# and setuptools can deal with a frozen site module
76+
# "site",
7577
"stat",
7678
],
7779
),

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/module/FrozenModules.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,6 @@ private static final class Map {
195195
private static final PythonFrozenModule NTPATH = new PythonFrozenModule("NTPATH", "ntpath", false);
196196
private static final PythonFrozenModule POSIXPATH = new PythonFrozenModule("POSIXPATH", "posixpath", false);
197197
private static final PythonFrozenModule OS = new PythonFrozenModule("OS", "os", false);
198-
private static final PythonFrozenModule SITE = new PythonFrozenModule("SITE", "site", false);
199198
private static final PythonFrozenModule STAT = new PythonFrozenModule("STAT", "stat", false);
200199
private static final PythonFrozenModule __HELLO__ = new PythonFrozenModule("__HELLO__", "__hello__", false);
201200
private static final PythonFrozenModule FROZEN_ONLY = new PythonFrozenModule("FROZEN_ONLY", "frozen_only", false);
@@ -528,8 +527,6 @@ public static final PythonFrozenModule lookup(String name) {
528527
return Map.POSIXPATH;
529528
case "os":
530529
return Map.OS;
531-
case "graalpython.site":
532-
return Map.SITE;
533530
case "stat":
534531
return Map.STAT;
535532
case "__hello__":

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/PythonContext.java

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969

7070
import com.oracle.graal.python.PythonLanguage;
7171
import com.oracle.graal.python.builtins.Python3Core;
72-
import com.oracle.graal.python.builtins.modules.ImpModuleBuiltins;
7372
import com.oracle.graal.python.builtins.modules.ctypes.CtypesModuleBuiltins.CtypesThreadState;
7473
import com.oracle.graal.python.builtins.objects.PNone;
7574
import com.oracle.graal.python.builtins.objects.PythonAbstractObject;
@@ -94,18 +93,17 @@
9493
import com.oracle.graal.python.builtins.objects.frame.PFrame.Reference;
9594
import com.oracle.graal.python.builtins.objects.function.PKeyword;
9695
import com.oracle.graal.python.builtins.objects.list.PList;
97-
import com.oracle.graal.python.builtins.objects.method.PMethod;
9896
import com.oracle.graal.python.builtins.objects.module.PythonModule;
9997
import com.oracle.graal.python.builtins.objects.str.PString;
10098
import com.oracle.graal.python.builtins.objects.thread.PLock;
10199
import com.oracle.graal.python.builtins.objects.tuple.PTuple;
102-
import com.oracle.graal.python.lib.PyDictSetItem;
103100
import com.oracle.graal.python.lib.PyObjectCallMethodObjArgs;
104101
import com.oracle.graal.python.nodes.SpecialAttributeNames;
105102
import com.oracle.graal.python.nodes.SpecialMethodNames;
106103
import com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode;
107104
import com.oracle.graal.python.nodes.call.CallNode;
108105
import com.oracle.graal.python.nodes.object.SetDictNode;
106+
import com.oracle.graal.python.nodes.statement.AbstractImportNode;
109107
import com.oracle.graal.python.nodes.util.CastToJavaIntLossyNode;
110108
import com.oracle.graal.python.runtime.AsyncHandler.AsyncAction;
111109
import com.oracle.graal.python.runtime.exception.ExceptionUtils;
@@ -149,8 +147,6 @@
149147
import com.oracle.truffle.llvm.api.Toolchain;
150148

151149
public final class PythonContext extends Python3Core {
152-
private static final Source IMPORT_WARNINGS_SOURCE = Source.newBuilder(PythonLanguage.ID, "import warnings\n", "<internal>").internal(true).build();
153-
private static final Source FORCE_IMPORTS_SOURCE = Source.newBuilder(PythonLanguage.ID, "import site\n", "<internal>").internal(true).build();
154150
private static final TruffleLogger LOGGER = PythonLanguage.getLogger(PythonContext.class);
155151
private volatile boolean finalizing;
156152

@@ -1182,24 +1178,12 @@ public void patch(Env newEnv) {
11821178
}
11831179

11841180
private void importSiteIfForced() {
1185-
PythonModule siteModule;
11861181
if (getOption(PythonOptions.ForceImportSite)) {
1187-
if (getOption(PythonOptions.PythonPath).isEmpty() &&
1188-
(siteModule = ImpModuleBuiltins.importFrozenModuleObject(this, "graalpython.site", true)) != null) {
1189-
// assume we can use the frozen site module
1190-
// TODO: rename graalpython.site again to just site when we upgrade to Python 3.10+
1191-
// or newer and remove this hack
1192-
PyDictSetItem.getUncached().execute(null, getSysModules(), "site", siteModule);
1193-
LOGGER.log(Level.FINE, () -> "import 'site' # <frozen>");
1194-
} else {
1195-
CallTarget site = env.parsePublic(FORCE_IMPORTS_SOURCE);
1196-
site.call();
1197-
}
1182+
AbstractImportNode.importModule("site");
11981183
}
11991184
if (!getOption(PythonOptions.WarnOptions).isEmpty()) {
12001185
// we must force an import of the warnings module here if warnings were passed
1201-
CallTarget site = env.parsePublic(IMPORT_WARNINGS_SOURCE);
1202-
site.call();
1186+
AbstractImportNode.importModule("warnings");
12031187
}
12041188
if (getOption(PythonOptions.InputFilePath).isEmpty()) {
12051189
// When InputFilePath is set, this is handled by __graalpython__.run_path

0 commit comments

Comments
 (0)