Skip to content

Commit 85c0929

Browse files
committed
star args: add missing TruffleBoundary for specialization from iterable object
1 parent 450c7c6 commit 85c0929

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/PGuards.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,11 @@ public static boolean isIntStorage(PList list) {
131131
return list.getSequenceStorage() instanceof IntSequenceStorage;
132132
}
133133

134-
public static boolean isIntStorage(PArray array) {
134+
public static boolean isIntStorage(PSequence array) {
135135
return array.getSequenceStorage() instanceof IntSequenceStorage;
136136
}
137137

138-
public static boolean isByteStorage(PArray array) {
138+
public static boolean isByteStorage(PSequence array) {
139139
return array.getSequenceStorage() instanceof ByteSequenceStorage;
140140
}
141141

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/argument/positional/ExecutePositionalStarargsNode.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242

4343
import java.util.ArrayList;
4444
import java.util.Iterator;
45-
import java.util.List;
4645

4746
import com.oracle.graal.python.builtins.objects.PNone;
4847
import com.oracle.graal.python.builtins.objects.dict.PDict;
@@ -54,6 +53,7 @@
5453
import com.oracle.graal.python.nodes.control.GetNextNode;
5554
import com.oracle.graal.python.runtime.exception.PException;
5655
import com.oracle.graal.python.runtime.exception.PythonErrorType;
56+
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
5757
import com.oracle.truffle.api.dsl.Cached;
5858
import com.oracle.truffle.api.dsl.NodeChild;
5959
import com.oracle.truffle.api.dsl.NodeChildren;
@@ -119,13 +119,14 @@ Object[] starargs(PNone none) {
119119
}
120120

121121
@Specialization
122+
@TruffleBoundary(allowInlining = true)
122123
Object[] starargs(Object object,
123124
@Cached("create()") GetIteratorNode getIterator,
124125
@Cached("create()") GetNextNode next,
125126
@Cached("createBinaryProfile()") ConditionProfile errorProfile) {
126127
Object iterator = getIterator.executeWith(object);
127128
if (iterator != PNone.NO_VALUE && iterator != PNone.NONE) {
128-
List<Object> internalStorage = new ArrayList<>();
129+
ArrayList<Object> internalStorage = new ArrayList<>();
129130
while (true) {
130131
try {
131132
internalStorage.add(next.execute(iterator));

0 commit comments

Comments
 (0)