Skip to content

Commit 1e3e5ef

Browse files
committed
add a few missing TruffleBoundaries
1 parent 95e5283 commit 1e3e5ef

File tree

5 files changed

+17
-5
lines changed

5 files changed

+17
-5
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/function/PBuiltinFunction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.oracle.graal.python.builtins.objects.PNone;
3636
import com.oracle.graal.python.builtins.objects.object.PythonBuiltinObject;
3737
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
38+
import com.oracle.graal.python.builtins.objects.str.PString;
3839
import com.oracle.graal.python.builtins.objects.type.LazyPythonClass;
3940
import com.oracle.graal.python.builtins.objects.type.TypeNodes.GetNameNode;
4041
import com.oracle.graal.python.nodes.PRootNode;
@@ -77,7 +78,7 @@ public PBuiltinFunction(String name, LazyPythonClass enclosingType, int numDefau
7778
}
7879
this.getStorage().define(__NAME__, name);
7980
if (enclosingType != null) {
80-
this.getStorage().define(__QUALNAME__, GetNameNode.doSlowPath(enclosingType) + "." + name);
81+
this.getStorage().define(__QUALNAME__, PString.cat(GetNameNode.doSlowPath(enclosingType), ".", name));
8182
} else {
8283
this.getStorage().define(__QUALNAME__, name);
8384
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/function/PFunction.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.oracle.graal.python.builtins.objects.code.PCode;
3434
import com.oracle.graal.python.builtins.objects.object.PythonObject;
3535
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
36+
import com.oracle.graal.python.builtins.objects.str.PString;
3637
import com.oracle.graal.python.nodes.PRootNode;
3738
import com.oracle.graal.python.nodes.SpecialMethodNames;
3839
import com.oracle.graal.python.nodes.attributes.WriteAttributeToDynamicObjectNode;
@@ -92,10 +93,10 @@ public PFunction(String name, String enclosingClassName, PCode code, PythonObjec
9293
private static void addDefaultConstants(WriteAttributeToDynamicObjectNode writeAttrNode, DynamicObject storage, String name, String enclosingClassName) {
9394
if (writeAttrNode != null) {
9495
writeAttrNode.execute(storage, __NAME__, name);
95-
writeAttrNode.execute(storage, __QUALNAME__, enclosingClassName != null ? enclosingClassName + "." + name : name);
96+
writeAttrNode.execute(storage, __QUALNAME__, enclosingClassName != null ? PString.cat(enclosingClassName, ".", name) : name);
9697
} else {
9798
storage.define(__NAME__, name);
98-
storage.define(__QUALNAME__, enclosingClassName != null ? enclosingClassName + "." + name : name);
99+
storage.define(__QUALNAME__, enclosingClassName != null ? PString.cat(enclosingClassName, ".", name) : name);
99100
}
100101
}
101102

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/str/PString.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,4 +273,13 @@ public static boolean isWhitespace(int codePoint) {
273273
public static boolean equals(String left, String other) {
274274
return left.equals(other);
275275
}
276+
277+
@TruffleBoundary
278+
public static String cat(Object... args) {
279+
StringBuilder sb = new StringBuilder();
280+
for (Object arg : args) {
281+
sb.append(arg);
282+
}
283+
return sb.toString();
284+
}
276285
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import com.oracle.graal.python.builtins.objects.function.PKeyword;
5050
import com.oracle.graal.python.builtins.objects.method.PMethod;
5151
import com.oracle.graal.python.builtins.objects.module.PythonModule;
52+
import com.oracle.graal.python.builtins.objects.str.PString;
5253
import com.oracle.graal.python.nodes.BuiltinNames;
5354
import com.oracle.graal.python.nodes.call.CallNode;
5455
import com.oracle.graal.python.nodes.object.GetDictNode;
@@ -123,7 +124,7 @@ protected Object importModule(VirtualFrame frame, String name, Object globals, S
123124
}
124125
if (emulateJython()) {
125126
if (fromList.length > 0) {
126-
getContext().pushCurrentImport(name + "." + fromList[0]);
127+
getContext().pushCurrentImport(PString.cat(name, ".", fromList[0]));
127128
} else {
128129
getContext().pushCurrentImport(name);
129130
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public void executeVoid(VirtualFrame frame) {
108108
} else {
109109
throw pe;
110110
}
111-
String fullname = pkgname + "." + attr;
111+
String fullname = PString.cat(pkgname, ".", attr);
112112
if (readModules == null) {
113113
CompilerDirectives.transferToInterpreterAndInvalidate();
114114
getItem = insert(GetItemNode.create());

0 commit comments

Comments
 (0)