Skip to content

Commit 6a83c00

Browse files
committed
Remove dummy fromlists from importModule calls
1 parent 384bfb8 commit 6a83c00

File tree

8 files changed

+15
-28
lines changed

8 files changed

+15
-28
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/cext/PythonCextCapsuleBuiltins.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PyObjectTransfer;
5353
import static com.oracle.graal.python.nodes.ErrorMessages.CALLED_WITH_INVALID_PY_CAPSULE_OBJECT;
5454
import static com.oracle.graal.python.nodes.ErrorMessages.PY_CAPSULE_IMPORT_S_IS_NOT_VALID;
55-
import static com.oracle.graal.python.nodes.statement.AbstractImportNode.T_IMPORT_ALL;
5655
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
5756

5857
import com.oracle.graal.python.builtins.modules.cext.PythonCextBuiltins.CApiBinaryBuiltinNode;
@@ -364,7 +363,7 @@ static Object doGeneric(TruffleString name, @SuppressWarnings("unused") int noBl
364363
}
365364
if (object == null) {
366365
// noBlock has no effect anymore since 3.3
367-
object = AbstractImportNode.importModule(trace, T_IMPORT_ALL);
366+
object = AbstractImportNode.importModule(trace);
368367
} else {
369368
object = getAttrNode.execute(object, trace);
370369
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/cext/PythonCextImportBuiltins.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
import static com.oracle.graal.python.nodes.BuiltinNames.T_GLOBALS;
5353
import static com.oracle.graal.python.nodes.BuiltinNames.T_LOCALS;
5454
import static com.oracle.graal.python.nodes.BuiltinNames.T___IMPORT__;
55-
import static com.oracle.graal.python.nodes.statement.AbstractImportNode.T_IMPORT_ALL;
5655

5756
import com.oracle.graal.python.builtins.modules.cext.PythonCextBuiltins.CApi5BuiltinNode;
5857
import com.oracle.graal.python.builtins.modules.cext.PythonCextBuiltins.CApiBuiltin;
@@ -76,7 +75,7 @@ public final class PythonCextImportBuiltins {
7675
abstract static class PyImport_ImportModule extends CApiUnaryBuiltinNode {
7776
@Specialization
7877
static Object imp(TruffleString name) {
79-
return AbstractImportNode.importModule(name, T_IMPORT_ALL);
78+
return AbstractImportNode.importModule(name);
8079
}
8180
}
8281

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/pickle/PPickler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import static com.oracle.graal.python.nodes.SpecialMethodNames.T___REDUCE__;
5151
import static com.oracle.graal.python.nodes.StringLiterals.T_NEWLINE;
5252
import static com.oracle.graal.python.nodes.StringLiterals.T_UTF8;
53+
import static com.oracle.graal.python.nodes.statement.AbstractImportNode.importModule;
5354
import static com.oracle.graal.python.runtime.exception.PythonErrorType.KeyError;
5455
import static com.oracle.graal.python.runtime.exception.PythonErrorType.OverflowError;
5556
import static com.oracle.graal.python.runtime.exception.PythonErrorType.PicklingError;
@@ -1831,7 +1832,7 @@ private void saveGlobal(VirtualFrame frame, PythonContext ctx, PPickler pickler,
18311832

18321833
Object module;
18331834
try {
1834-
module = PickleUtils.importDottedModule(moduleName);
1835+
module = importModule(moduleName);
18351836
} catch (PException e) {
18361837
throw raise(PicklingError, ErrorMessages.CANT_PICKLE_P_IMPORT_OF_MODULE_S_FAILED, obj, moduleName);
18371838
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/pickle/PickleState.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
*/
4141
package com.oracle.graal.python.builtins.modules.pickle;
4242

43+
import static com.oracle.graal.python.nodes.statement.AbstractImportNode.importModule;
4344
import static com.oracle.graal.python.util.PythonUtils.tsLiteral;
4445

4546
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
@@ -105,7 +106,7 @@ void init(PickleState state,
105106
final PythonModule builtins = context.getBuiltins();
106107
state.getattr = getAttr.execute(null, inliningTarget, builtins, T_GETATTR);
107108

108-
final Object copyreg = PickleUtils.importSimpleModule(PickleUtils.T_MOD_COPYREG);
109+
final Object copyreg = importModule(PickleUtils.T_MOD_COPYREG);
109110
state.dispatchTable = getAttr.execute(null, inliningTarget, copyreg, PickleUtils.T_ATTR_DISPATCH_TABLE);
110111
if (!PGuards.isDict(state.dispatchTable)) {
111112
throw raiseNode.get(inliningTarget).raise(PythonBuiltinClassType.RuntimeError, ErrorMessages.S_SHOULD_BE_A_S_NOT_A_P, "copyreg.dispatch_table", "dict", state.dispatchTable);
@@ -126,17 +127,17 @@ void init(PickleState state,
126127
throw raiseNode.get(inliningTarget).raise(PythonBuiltinClassType.RuntimeError, ErrorMessages.S_SHOULD_BE_A_S_NOT_A_P, "copyreg._extension_cache", "dict", state.extensionCache);
127128
}
128129

129-
final Object codecs = PickleUtils.importSimpleModule(PickleUtils.T_MOD_CODECS);
130+
final Object codecs = importModule(PickleUtils.T_MOD_CODECS);
130131
state.codecsEncode = getAttr.execute(null, inliningTarget, codecs, PickleUtils.T_METHOD_ENCODE);
131132
if (!callableCheck.execute(inliningTarget, state.codecsEncode)) {
132133
throw raiseNode.get(inliningTarget).raise(PythonBuiltinClassType.RuntimeError, ErrorMessages.S_SHOULD_BE_A_S_NOT_A_P, "codecs.encode", "callable", state.codecsEncode);
133134
}
134135

135-
final Object functools = PickleUtils.importSimpleModule(PickleUtils.T_MOD_FUNCTOOLS);
136+
final Object functools = importModule(PickleUtils.T_MOD_FUNCTOOLS);
136137
state.partial = getAttr.execute(null, inliningTarget, functools, PickleUtils.T_METHOD_PARTIAL);
137138

138139
// Load the 2.x -> 3.x stdlib module mapping tables
139-
Object compatPickle = PickleUtils.importSimpleModule(PickleUtils.T_MOD_COMPAT_PICKLE);
140+
Object compatPickle = importModule(PickleUtils.T_MOD_COMPAT_PICKLE);
140141
state.nameMapping2To3 = getAttr.execute(null, inliningTarget, compatPickle, PickleUtils.T_ATTR_NAME_MAPPING);
141142
if (!PGuards.isDict(state.nameMapping2To3)) {
142143
throw raiseNode.get(inliningTarget).raise(PythonBuiltinClassType.RuntimeError, ErrorMessages.S_SHOULD_BE_A_S_NOT_A_P, PickleUtils.T_CP_NAME_MAPPING, "dict", state.nameMapping2To3);

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/pickle/PickleUtils.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@
4141
package com.oracle.graal.python.builtins.modules.pickle;
4242

4343
import static com.oracle.graal.python.builtins.modules.pickle.PPickler.BasePickleWriteNode.NEW_LINE_BYTE;
44-
import static com.oracle.graal.python.nodes.SpecialAttributeNames.T___DOC__;
4544
import static com.oracle.graal.python.nodes.StringLiterals.T_DOT;
46-
import static com.oracle.graal.python.nodes.statement.AbstractImportNode.importModule;
4745
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
4846
import static com.oracle.graal.python.util.PythonUtils.toTruffleStringUncached;
4947
import static com.oracle.graal.python.util.PythonUtils.tsLiteral;
@@ -113,8 +111,6 @@ public final class PickleUtils {
113111
public static final String J_ATTR_FAST = "fast";
114112
public static final String J_ATTR_BIN = "bin";
115113

116-
private static final TruffleString[] SILLY_IMPORT_FROM_LIST = new TruffleString[]{T___DOC__};
117-
118114
public static final int READ_WHOLE_LINE = -1;
119115

120116
public static final int PICKLE_PROTOCOL_HIGHEST = 5;
@@ -232,14 +228,6 @@ public static void writeSize64(byte[] out, int start, int value) {
232228
}
233229
}
234230

235-
public static Object importDottedModule(TruffleString dottedModuleName) {
236-
return importModule(dottedModuleName, SILLY_IMPORT_FROM_LIST);
237-
}
238-
239-
public static Object importSimpleModule(TruffleString simpleModuleName) {
240-
return importModule(simpleModuleName);
241-
}
242-
243231
public static byte[] resize(byte[] src, int newSize) {
244232
byte[] newBytes = new byte[newSize];
245233
if (src != null) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/pickle/PicklerNodes.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import static com.oracle.graal.python.nodes.SpecialAttributeNames.T___MODULE__;
5252
import static com.oracle.graal.python.nodes.StringLiterals.T_DOT;
5353
import static com.oracle.graal.python.nodes.StringLiterals.T_UTF8;
54+
import static com.oracle.graal.python.nodes.statement.AbstractImportNode.importModule;
5455
import static com.oracle.graal.python.runtime.exception.PythonErrorType.AttributeError;
5556
import static com.oracle.graal.python.runtime.exception.PythonErrorType.TypeError;
5657
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
@@ -729,10 +730,7 @@ public Object findClass(VirtualFrame frame, Python3Core core, PUnpickler self, T
729730

730731
// we don't use PyImport_GetModule here, because it can return partially-initialised
731732
// modules, which then cause the getattribute to fail.
732-
Object module = PickleUtils.importDottedModule(mName);
733-
if (module == PNone.NONE || module == NO_VALUE) {
734-
return null;
735-
}
733+
Object module = importModule(mName);
736734
return getattribute(frame, module, gName, self.getProto() >= 4);
737735
}
738736

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/bytecode/ImportStarNode.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import static com.oracle.graal.python.nodes.SpecialAttributeNames.T___ALL__;
3030
import static com.oracle.graal.python.nodes.SpecialAttributeNames.T___DICT__;
3131
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
32+
import static com.oracle.graal.python.util.PythonUtils.tsArray;
3233

3334
import com.oracle.graal.python.builtins.objects.dict.PDict;
3435
import com.oracle.graal.python.builtins.objects.function.PArguments;
@@ -51,6 +52,7 @@
5152
import com.oracle.graal.python.nodes.util.CastToTruffleStringNode;
5253
import com.oracle.graal.python.runtime.exception.PException;
5354
import com.oracle.truffle.api.CompilerDirectives;
55+
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
5456
import com.oracle.truffle.api.dsl.Bind;
5557
import com.oracle.truffle.api.dsl.Cached;
5658
import com.oracle.truffle.api.dsl.GenerateInline;
@@ -68,6 +70,8 @@
6870
@GenerateUncached
6971
@GenerateInline(false) // used in BCI root node
7072
public abstract class ImportStarNode extends AbstractImportNode {
73+
@CompilationFinal(dimensions = 1) private static final TruffleString[] T_IMPORT_ALL = tsArray("*");
74+
7175
public abstract void execute(VirtualFrame frame, TruffleString moduleName, int level);
7276

7377
@Specialization

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/statement/AbstractImportNode.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
import static com.oracle.graal.python.nodes.ErrorMessages.IMPORT_NOT_FOUND;
4747
import static com.oracle.graal.python.nodes.StringLiterals.T_DOT;
4848
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
49-
import static com.oracle.graal.python.util.PythonUtils.tsArray;
5049
import static com.oracle.graal.python.util.PythonUtils.tsLiteral;
5150
import static com.oracle.graal.python.util.PythonUtils.tsbCapacity;
5251
import static com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere;
@@ -83,7 +82,6 @@
8382
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
8483
import com.oracle.graal.python.util.PythonUtils;
8584
import com.oracle.truffle.api.CompilerDirectives;
86-
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
8785
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
8886
import com.oracle.truffle.api.CompilerDirectives.ValueType;
8987
import com.oracle.truffle.api.dsl.Bind;
@@ -101,7 +99,6 @@
10199

102100
public abstract class AbstractImportNode extends PNodeWithContext {
103101

104-
@CompilationFinal(dimensions = 1) public static final TruffleString[] T_IMPORT_ALL = tsArray("*");
105102
public static final TruffleString T__FIND_AND_LOAD = tsLiteral("_find_and_load");
106103

107104
public static PythonModule importModule(TruffleString name) {

0 commit comments

Comments
 (0)