Skip to content

Commit 2eec943

Browse files
committed
Add missing TruffleBoundaries to 'str.join'.
1 parent 0f43dee commit 2eec943

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/builtins/JoinInternalNode.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import com.oracle.graal.python.runtime.exception.PException;
5252
import com.oracle.graal.python.runtime.sequence.PSequence;
5353
import com.oracle.graal.python.runtime.sequence.storage.ObjectSequenceStorage;
54+
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5455
import com.oracle.truffle.api.dsl.Cached;
5556
import com.oracle.truffle.api.dsl.Fallback;
5657
import com.oracle.truffle.api.dsl.ImportStatic;
@@ -63,6 +64,7 @@ public abstract class JoinInternalNode extends PBaseNode {
6364
public abstract String execute(Object self, Object iterable, PythonClass iterableClass);
6465

6566
@Specialization
67+
@TruffleBoundary
6668
protected String join(String string, String arg, @SuppressWarnings("unused") PythonClass iterableClass) {
6769
if (arg.isEmpty()) {
6870
return "";
@@ -81,6 +83,7 @@ protected String join(String string, String arg, @SuppressWarnings("unused") Pyt
8183
}
8284

8385
@Specialization(guards = {"cannotBeOverridden(iterableClass)", "isObjectStorage(list)"})
86+
@TruffleBoundary
8487
protected String join(String string, PList list, @SuppressWarnings("unused") PythonClass iterableClass) {
8588
if (list.len() == 0) {
8689
return "";
@@ -100,6 +103,7 @@ protected String join(String string, PList list, @SuppressWarnings("unused") Pyt
100103
}
101104

102105
@Specialization(guards = "cannotBeOverridden(iterableClass)")
106+
@TruffleBoundary
103107
protected String join(String string, PCharArray array, @SuppressWarnings("unused") PythonClass iterableClass) {
104108
if (array.len() == 0) {
105109
return "";
@@ -118,6 +122,7 @@ protected String join(String string, PCharArray array, @SuppressWarnings("unused
118122
}
119123

120124
@Specialization(guards = "cannotBeOverridden(iterableClass)")
125+
@TruffleBoundary
121126
protected String join(String string, PSequence seq, @SuppressWarnings("unused") PythonClass iterableClass) {
122127
if (seq.len() == 0) {
123128
return "";
@@ -145,6 +150,7 @@ private String checkItem(Object item, int pos) {
145150
}
146151

147152
@Specialization
153+
@TruffleBoundary
148154
protected String join(String string, PythonObject iterable, @SuppressWarnings("unused") PythonClass iterableClass,
149155
@Cached("create()") GetIteratorNode getIterator,
150156
@Cached("create()") GetNextNode next,

0 commit comments

Comments
 (0)