Skip to content

Commit 8f81b81

Browse files
committed
remove PythonCore interface, it never served the purpose we intended for it
1 parent 69ce824 commit 8f81b81

File tree

70 files changed

+196
-303
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+196
-303
lines changed

graalpython/com.oracle.graal.python.benchmarks/java/com/oracle/graal/python/benchmarks/parser/ParserBenchRunner.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import com.oracle.graal.python.parser.PythonParserImpl;
4747
import com.oracle.graal.python.parser.PythonSSTNodeFactory;
4848
import com.oracle.graal.python.runtime.PythonContext;
49-
import com.oracle.graal.python.runtime.PythonCore;
49+
import com.oracle.graal.python.builtins.Python3Core;
5050
import com.oracle.graal.python.runtime.PythonParser;
5151
import com.oracle.truffle.api.TruffleFile;
5252
import com.oracle.truffle.api.source.Source;
@@ -98,7 +98,7 @@ public class ParserBenchRunner {
9898

9999
protected final PythonContext pyContext;
100100
protected final PythonParserImpl parser;
101-
protected final PythonCore core;
101+
protected final Python3Core core;
102102
private List<Source> sources;
103103

104104
public ParserBenchRunner() {

graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/advance/CustomModule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import com.oracle.graal.python.builtins.CoreFunctions;
4747
import com.oracle.graal.python.builtins.PythonBuiltins;
4848
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
49-
import com.oracle.graal.python.runtime.PythonCore;
49+
import com.oracle.graal.python.builtins.Python3Core;
5050
import com.oracle.truffle.api.dsl.NodeFactory;
5151

5252
@CoreFunctions(defineModule = "CustomModule")
@@ -58,7 +58,7 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
5858
}
5959

6060
@Override
61-
public void initialize(PythonCore core) {
61+
public void initialize(Python3Core core) {
6262
super.initialize(core);
6363
this.builtinConstants.put("success", "success");
6464
}

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
import com.oracle.graal.python.runtime.GilNode;
6060
import com.oracle.graal.python.runtime.PythonContext;
6161
import com.oracle.graal.python.runtime.PythonContext.PythonThreadState;
62-
import com.oracle.graal.python.runtime.PythonCore;
6362
import com.oracle.graal.python.runtime.PythonOptions;
6463
import com.oracle.graal.python.runtime.PythonParser.ParserMode;
6564
import com.oracle.graal.python.runtime.exception.PException;
@@ -240,11 +239,11 @@ protected boolean areOptionsCompatible(OptionValues firstOptions, OptionValues n
240239
@Override
241240
protected boolean patchContext(PythonContext context, Env newEnv) {
242241
if (!areOptionsCompatible(context.getEnv().getOptions(), newEnv.getOptions())) {
243-
PythonCore.writeInfo("Cannot use preinitialized context.");
242+
Python3Core.writeInfo("Cannot use preinitialized context.");
244243
return false;
245244
}
246245
context.initializeHomeAndPrefixPaths(newEnv, getLanguageHome());
247-
PythonCore.writeInfo("Using preinitialized context.");
246+
Python3Core.writeInfo("Using preinitialized context.");
248247
context.patch(newEnv);
249248
return true;
250249
}
@@ -313,7 +312,7 @@ public static String getEvalMimeType(int optimize) {
313312
@Override
314313
protected CallTarget parse(ParsingRequest request) {
315314
PythonContext context = getCurrentContext(PythonLanguage.class);
316-
PythonCore core = context.getCore();
315+
Python3Core core = context.getCore();
317316
Source source = request.getSource();
318317
if (source.getMimeType() == null || MIME_TYPE.equals(source.getMimeType())) {
319318
if (!request.getArgumentNames().isEmpty()) {
@@ -377,7 +376,7 @@ private RootNode doParse(PythonContext context, Source source, int optimize) {
377376
// by default we assume a module
378377
mode = ParserMode.File;
379378
}
380-
PythonCore pythonCore = context.getCore();
379+
Python3Core pythonCore = context.getCore();
381380
try {
382381
return (RootNode) pythonCore.getParser().parse(mode, optimize, pythonCore, source, null, null);
383382
} catch (PException e) {
@@ -498,7 +497,7 @@ private Object parseAndEval(PythonContext context, MaterializedFrame frame) {
498497

499498
@TruffleBoundary
500499
protected static ExpressionNode parseInline(Source code, PythonContext context, MaterializedFrame lexicalContextFrame) {
501-
PythonCore pythonCore = context.getCore();
500+
Python3Core pythonCore = context.getCore();
502501
return (ExpressionNode) pythonCore.getParser().parse(ParserMode.InlineEvaluation, 0, pythonCore, code, lexicalContextFrame, null);
503502
}
504503

@@ -578,7 +577,7 @@ public static PythonContext getContext() {
578577
return getCurrentContext(PythonLanguage.class);
579578
}
580579

581-
public static PythonCore getCore() {
580+
public static Python3Core getCore() {
582581
return getCurrentContext(PythonLanguage.class).getCore();
583582
}
584583

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

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,9 @@
225225
import com.oracle.graal.python.nodes.call.GenericInvokeNode;
226226
import com.oracle.graal.python.runtime.PythonCodeSerializer;
227227
import com.oracle.graal.python.runtime.PythonContext;
228-
import com.oracle.graal.python.runtime.PythonCore;
229228
import com.oracle.graal.python.runtime.PythonOptions;
230229
import com.oracle.graal.python.runtime.PythonParser;
230+
import com.oracle.graal.python.runtime.PythonParser.ParserErrorCallback;
231231
import com.oracle.graal.python.runtime.PythonParser.ParserMode;
232232
import com.oracle.graal.python.runtime.exception.PException;
233233
import com.oracle.graal.python.runtime.formatting.ErrorMessageFormatter;
@@ -252,7 +252,7 @@
252252
* The core is intended to the immutable part of the interpreter, including most modules and most
253253
* types.
254254
*/
255-
public final class Python3Core implements PythonCore {
255+
public final class Python3Core implements ParserErrorCallback {
256256
private static final TruffleLogger LOGGER = PythonLanguage.getLogger(Python3Core.class);
257257
private final String[] coreFiles;
258258

@@ -563,31 +563,32 @@ public PythonLanguage getLanguage() {
563563
return singletonContext.getLanguage();
564564
}
565565

566-
@Override
567566
public PythonContext getContext() {
568567
return singletonContext;
569568
}
570569

571-
@Override
572570
public PythonParser getParser() {
573571
return parser;
574572
}
575573

576-
@Override
577574
public PythonCodeSerializer getSerializer() {
578575
return (PythonCodeSerializer) parser;
579576
}
580577

581-
@Override
578+
/**
579+
* Checks whether the core is initialized.
580+
*/
582581
public boolean isInitialized() {
583582
return initialized;
584583
}
585584

586-
@Override
585+
/**
586+
* Load the core library and prepare all builtin classes and modules.
587+
*/
587588
public void initialize(PythonContext context) {
588589
singletonContext = context;
589590
initializeJavaCore();
590-
initializePythonCore(context.getCoreHomeOrFail());
591+
initializePython3Core(context.getCoreHomeOrFail());
591592
assert SpecialMethodSlot.checkSlotOverrides(this);
592593
initialized = true;
593594
}
@@ -600,15 +601,19 @@ private void initializeJavaCore() {
600601
builtinsModule = builtinModules.get(BuiltinNames.BUILTINS);
601602
}
602603

603-
private void initializePythonCore(String coreHome) {
604+
private void initializePython3Core(String coreHome) {
604605
loadFile(BuiltinNames.BUILTINS, coreHome);
605606
for (String s : coreFiles) {
606607
loadFile(s, coreHome);
607608
}
608609
initialized = true;
609610
}
610611

611-
@Override
612+
/**
613+
* Run post-initialization code that needs a fully working Python environment. This will be run
614+
* eagerly when the context is initialized on the JVM or a new context is created on SVM, but is
615+
* omitted when the native image is generated.
616+
*/
612617
public void postInitialize() {
613618
if (!TruffleOptions.AOT || ImageInfo.inImageRuntimeCode()) {
614619
initialized = false;
@@ -622,25 +627,21 @@ public void postInitialize() {
622627
}
623628
}
624629

625-
@Override
626630
@TruffleBoundary
627631
public PythonModule lookupBuiltinModule(String name) {
628632
return builtinModules.get(name);
629633
}
630634

631-
@Override
632635
public PythonBuiltinClass lookupType(PythonBuiltinClassType type) {
633636
assert builtinTypes[type.ordinal()] != null;
634637
return builtinTypes[type.ordinal()];
635638
}
636639

637-
@Override
638640
@TruffleBoundary
639641
public String[] builtinModuleNames() {
640642
return builtinModules.keySet().toArray(PythonUtils.EMPTY_STRING_ARRAY);
641643
}
642644

643-
@Override
644645
public PythonModule getBuiltins() {
645646
return builtinsModule;
646647
}
@@ -663,7 +664,9 @@ public void warn(PythonBuiltinClassType type, String format, Object... args) {
663664
WarningsModuleBuiltins.WarnNode.getUncached().warnFormat(null, null, type, 1, format, args);
664665
}
665666

666-
@Override
667+
/**
668+
* Returns the stderr object or signals error when stderr is "lost".
669+
*/
667670
public Object getStderr() {
668671
PythonModule sys = lookupBuiltinModule("sys");
669672
try {
@@ -823,28 +826,23 @@ private void loadFile(String s, String prefix) {
823826
GenericInvokeNode.getUncached().execute(callTarget, PArguments.withGlobals(mod));
824827
}
825828

826-
@Override
827829
public PythonObjectFactory factory() {
828830
return objectFactory;
829831
}
830832

831-
@Override
832833
public void setContext(PythonContext context) {
833834
assert singletonContext == null;
834835
singletonContext = context;
835836
}
836837

837-
@Override
838838
public PInt getTrue() {
839839
return pyTrue;
840840
}
841841

842-
@Override
843842
public PInt getFalse() {
844843
return pyFalse;
845844
}
846845

847-
@Override
848846
public PFloat getNaN() {
849847
return pyNaN;
850848
}
@@ -911,4 +909,12 @@ public RuntimeException raiseInvalidSyntax(PythonParser.ErrorType type, Node loc
911909
instance.setAttribute("msg", msg);
912910
throw PException.fromObject(instance, location, PythonOptions.isPExceptionWithJavaStacktrace(getLanguage()));
913911
}
912+
913+
public static final void writeInfo(String message) {
914+
PythonLanguage.getLogger(Python3Core.class).fine(message);
915+
}
916+
917+
public static final void writeInfo(Supplier<String> messageSupplier) {
918+
PythonLanguage.getLogger(Python3Core.class).fine(messageSupplier);
919+
}
914920
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
import com.oracle.graal.python.builtins.objects.type.PythonBuiltinClass;
4040
import com.oracle.graal.python.nodes.function.BuiltinFunctionRootNode;
4141
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
42-
import com.oracle.graal.python.runtime.PythonCore;
42+
import com.oracle.graal.python.builtins.Python3Core;
4343
import com.oracle.graal.python.util.BiConsumer;
4444
import com.oracle.truffle.api.RootCallTarget;
4545
import com.oracle.truffle.api.dsl.NodeFactory;
@@ -57,7 +57,7 @@ public abstract class PythonBuiltins {
5757
* {@link #builtinConstants} or such should be made before calling
5858
* {@code super.initialize(core)}.
5959
*/
60-
public void initialize(PythonCore core) {
60+
public void initialize(Python3Core core) {
6161
if (builtinFunctions.size() > 0) {
6262
return;
6363
}
@@ -108,7 +108,7 @@ public void initialize(PythonCore core) {
108108
* Run any actions that can only be run in the post-initialization step, that is, if we're
109109
* actually going to start running rather than just pre-initializing.
110110
*/
111-
public void postInitialize(@SuppressWarnings("unused") PythonCore core) {
111+
public void postInitialize(@SuppressWarnings("unused") Python3Core core) {
112112
// nothing to do by default
113113
}
114114

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
import com.oracle.graal.python.nodes.object.IsBuiltinClassProfile;
6666
import com.oracle.graal.python.nodes.util.CastToJavaStringNode;
6767
import com.oracle.graal.python.nodes.util.SplitArgsNode;
68-
import com.oracle.graal.python.runtime.PythonCore;
68+
import com.oracle.graal.python.builtins.Python3Core;
6969
import com.oracle.graal.python.runtime.exception.PException;
7070
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
7171
import com.oracle.graal.python.runtime.sequence.PSequence;
@@ -95,7 +95,7 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
9595
}
9696

9797
@Override
98-
public void postInitialize(PythonCore core) {
98+
public void postInitialize(Python3Core core) {
9999
super.postInitialize(core);
100100
PythonModule arrayModule = core.lookupBuiltinModule("array");
101101
arrayModule.setAttribute("ArrayType", core.lookupType(PythonBuiltinClassType.PArray));

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@
243243
import com.oracle.graal.python.parser.PythonSSTNodeFactory;
244244
import com.oracle.graal.python.runtime.ExecutionContext.IndirectCallContext;
245245
import com.oracle.graal.python.runtime.PythonContext;
246-
import com.oracle.graal.python.runtime.PythonCore;
246+
import com.oracle.graal.python.builtins.Python3Core;
247247
import com.oracle.graal.python.runtime.exception.PException;
248248
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
249249
import com.oracle.graal.python.runtime.sequence.storage.ObjectSequenceStorage;
@@ -283,7 +283,7 @@ protected List<com.oracle.truffle.api.dsl.NodeFactory<? extends PythonBuiltinBas
283283
}
284284

285285
@Override
286-
public void initialize(PythonCore core) {
286+
public void initialize(Python3Core core) {
287287
super.initialize(core);
288288
builtinConstants.put("NotImplemented", PNotImplemented.NOT_IMPLEMENTED);
289289
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@
183183
import com.oracle.graal.python.nodes.util.CastToJavaStringNode;
184184
import com.oracle.graal.python.runtime.ExecutionContext.IndirectCallContext;
185185
import com.oracle.graal.python.runtime.PythonContext;
186-
import com.oracle.graal.python.runtime.PythonCore;
186+
import com.oracle.graal.python.builtins.Python3Core;
187187
import com.oracle.graal.python.runtime.PythonOptions;
188188
import com.oracle.graal.python.runtime.PythonParser.ParserMode;
189189
import com.oracle.graal.python.runtime.exception.PException;
@@ -234,13 +234,13 @@ protected List<com.oracle.truffle.api.dsl.NodeFactory<? extends PythonBuiltinBas
234234
}
235235

236236
@Override
237-
public void initialize(PythonCore core) {
237+
public void initialize(Python3Core core) {
238238
builtinConstants.put(__GRAALPYTHON__, core.lookupBuiltinModule(__GRAALPYTHON__));
239239
super.initialize(core);
240240
}
241241

242242
@Override
243-
public void postInitialize(PythonCore core) {
243+
public void postInitialize(Python3Core core) {
244244
super.postInitialize(core);
245245
PythonModule builtinsModule = core.lookupBuiltinModule(BuiltinNames.BUILTINS);
246246
builtinsModule.setAttribute(__DEBUG__, !core.getContext().getOption(PythonOptions.PythonOptimizeFlag));

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
2727
import com.oracle.graal.python.nodes.truffle.PythonArithmeticTypes;
2828
import com.oracle.graal.python.nodes.util.CoerceToComplexNode;
29-
import com.oracle.graal.python.runtime.PythonCore;
29+
import com.oracle.graal.python.builtins.Python3Core;
3030
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
3131
import com.oracle.truffle.api.CompilerDirectives;
3232
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
@@ -60,7 +60,7 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
6060
}
6161

6262
@Override
63-
public void initialize(PythonCore core) {
63+
public void initialize(Python3Core core) {
6464
// Add constant values
6565
builtinConstants.put("pi", Math.PI);
6666
builtinConstants.put("e", Math.E);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
import com.oracle.graal.python.builtins.PythonBuiltins;
4949
import com.oracle.graal.python.builtins.objects.dict.PDict;
5050
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
51-
import com.oracle.graal.python.runtime.PythonCore;
51+
import com.oracle.graal.python.builtins.Python3Core;
5252
import com.oracle.truffle.api.dsl.NodeFactory;
5353

5454
@CoreFunctions(defineModule = "errno")
@@ -59,7 +59,7 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
5959
}
6060

6161
@Override
62-
public void initialize(PythonCore core) {
62+
public void initialize(Python3Core core) {
6363
super.initialize(core);
6464
PDict errorCode = core.factory().createDict();
6565

0 commit comments

Comments
 (0)