Skip to content

Commit dedd1da

Browse files
eregonabdelberni
authored andcommitted
Let PolyglotModuleBuiltins#postInitialize load _polyglot.py and don't force to load polyglot at startup
(cherry picked from commit 8bfdf10) Fix conflict
1 parent 8e2c103 commit dedd1da

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,9 +1069,6 @@ public void run() {
10691069
}
10701070
}
10711071

1072-
// import polyglot decorators and special interop predefined behavior
1073-
loadFile(toTruffleStringUncached("_polyglot"), getContext().getCoreHomeOrFail());
1074-
10751072
initialized = true;
10761073
}
10771074
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/PolyglotModuleBuiltins.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
import com.oracle.graal.python.nodes.interop.InteropBehaviorMethod;
114114
import com.oracle.graal.python.nodes.interop.PForeignToPTypeNode;
115115
import com.oracle.graal.python.nodes.object.GetForeignObjectClassNode;
116+
import com.oracle.graal.python.nodes.statement.AbstractImportNode;
116117
import com.oracle.graal.python.nodes.truffle.PythonArithmeticTypes;
117118
import com.oracle.graal.python.nodes.util.CannotCastException;
118119
import com.oracle.graal.python.nodes.util.CastToJavaStringNode;
@@ -161,6 +162,7 @@ public final class PolyglotModuleBuiltins extends PythonBuiltins {
161162
private static final TruffleString T_MODIFIABLE = tsLiteral("modifiable");
162163
private static final TruffleString T_INVOKABLE = tsLiteral("invokable");
163164
private static final TruffleString T_INTERNAL = tsLiteral("internal");
165+
private static final TruffleString T_INTERNAL_POLYGLOT_MODULE = tsLiteral("_polyglot");
164166

165167
@Override
166168
protected List<com.oracle.truffle.api.dsl.NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFactories() {
@@ -189,6 +191,9 @@ public void postInitialize(Python3Core core) {
189191
super.postInitialize(core);
190192

191193
GetForeignObjectClassNode.getUncached().defineSingleTraitClasses();
194+
195+
// import polyglot decorators which are defined in Python code
196+
AbstractImportNode.importModule(T_INTERNAL_POLYGLOT_MODULE);
192197
}
193198

194199
@Builtin(name = "import_value", minNumOfPositionalArgs = 1, parameterNames = {"name"})

0 commit comments

Comments
 (0)