Skip to content

Commit 8ded497

Browse files
committed
Replace our custom logic to detect native image build time with the ImageInfo API
1 parent 98555b9 commit 8ded497

File tree

3 files changed

+6
-10
lines changed

3 files changed

+6
-10
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/PythonLanguage.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
import com.oracle.truffle.api.TruffleFile;
7575
import com.oracle.truffle.api.TruffleLanguage;
7676
import com.oracle.truffle.api.TruffleLogger;
77-
import com.oracle.truffle.api.TruffleOptions;
7877
import com.oracle.truffle.api.debug.DebuggerTags;
7978
import com.oracle.truffle.api.frame.Frame;
8079
import com.oracle.truffle.api.frame.MaterializedFrame;
@@ -107,7 +106,6 @@ public final class PythonLanguage extends TruffleLanguage<PythonContext> {
107106

108107
public Assumption singleContextAssumption = Truffle.getRuntime().createAssumption("Only a single context is active");
109108

110-
@CompilationFinal private boolean nativeBuildTime = TruffleOptions.AOT;
111109
private final NodeFactory nodeFactory;
112110
public final ConcurrentHashMap<Class<? extends PythonBuiltinBaseNode>, RootCallTarget> builtinCallTargetCache = new ConcurrentHashMap<>();
113111

@@ -130,7 +128,6 @@ protected void finalizeContext(PythonContext context) {
130128

131129
@Override
132130
protected boolean patchContext(PythonContext context, Env newEnv) {
133-
nativeBuildTime = false; // now we're running
134131
ensureHomeInOptions(newEnv);
135132
PythonCore.writeInfo("Using preinitialized context.");
136133
context.patch(newEnv);
@@ -458,10 +455,6 @@ private static Source newSource(PythonContext ctxt, SourceBuilder srcBuilder, St
458455
return newBuilder.build();
459456
}
460457

461-
public boolean isNativeBuildTime() {
462-
return nativeBuildTime;
463-
}
464-
465458
@Override
466459
protected void initializeMultipleContexts() {
467460
super.initializeMultipleContexts();

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/Python3Core.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
import java.util.ServiceLoader;
4343
import java.util.function.Supplier;
4444

45+
import org.graalvm.nativeimage.ImageInfo;
46+
4547
import com.oracle.graal.python.PythonLanguage;
4648
import com.oracle.graal.python.builtins.modules.ArrayModuleBuiltins;
4749
import com.oracle.graal.python.builtins.modules.AstModuleBuiltins;
@@ -144,6 +146,7 @@
144146
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
145147
import com.oracle.truffle.api.RootCallTarget;
146148
import com.oracle.truffle.api.TruffleFile;
149+
import com.oracle.truffle.api.TruffleOptions;
147150
import com.oracle.truffle.api.TruffleLanguage.Env;
148151
import com.oracle.truffle.api.TruffleOptions;
149152
import com.oracle.truffle.api.nodes.Node;
@@ -359,7 +362,7 @@ private void initializePythonCore() {
359362

360363
@Override
361364
public void postInitialize() {
362-
if (!getLanguage().isNativeBuildTime()) {
365+
if (!TruffleOptions.AOT || ImageInfo.inImageRuntimeCode()) {
363366
initialized = false;
364367

365368
loadFile(__BUILTINS_PATCHES__, PythonCore.getCoreHomeOrFail());

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.concurrent.atomic.AtomicLong;
3636
import java.util.concurrent.locks.ReentrantLock;
3737

38+
import org.graalvm.nativeimage.ImageInfo;
3839
import org.graalvm.nativeimage.ProcessProperties;
3940
import org.graalvm.options.OptionValues;
4041

@@ -52,7 +53,6 @@
5253
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5354
import com.oracle.truffle.api.Truffle;
5455
import com.oracle.truffle.api.TruffleLanguage;
55-
import com.oracle.truffle.api.TruffleOptions;
5656
import com.oracle.truffle.api.TruffleLanguage.Env;
5757

5858
public final class PythonContext {
@@ -193,7 +193,7 @@ public void patch(Env newEnv) {
193193

194194
private void setupRuntimeInformation() {
195195
PythonModule sysModule = core.initializeSysModule();
196-
if (TruffleOptions.AOT && !language.isNativeBuildTime() && isExecutableAccessAllowed()) {
196+
if (ImageInfo.inImageRuntimeCode() && isExecutableAccessAllowed()) {
197197
sysModule.setAttribute("executable", ProcessProperties.getExecutableName());
198198
}
199199
sysModules = (PDict) sysModule.getAttribute("modules");

0 commit comments

Comments
 (0)