Skip to content

Commit 10961d9

Browse files
committed
remove CastToBooleanNode from RangeBuiltins
1 parent f6a458a commit 10961d9

File tree

1 file changed

+4
-3
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/range

1 file changed

+4
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/range/RangeBuiltins.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@
4343
import com.oracle.graal.python.builtins.objects.common.IndexNodes.NormalizeIndexNode;
4444
import com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes;
4545
import com.oracle.graal.python.builtins.objects.function.PArguments;
46+
import com.oracle.graal.python.builtins.objects.function.PArguments.ThreadState;
4647
import com.oracle.graal.python.builtins.objects.ints.PInt;
4748
import com.oracle.graal.python.builtins.objects.iterator.PIntegerIterator;
4849
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
4950
import com.oracle.graal.python.builtins.objects.slice.PSlice;
5051
import com.oracle.graal.python.builtins.objects.slice.PSlice.SliceInfo;
5152
import com.oracle.graal.python.nodes.expression.BinaryComparisonNode;
52-
import com.oracle.graal.python.nodes.expression.CastToBooleanNode;
5353
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
5454
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
5555
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
@@ -302,14 +302,15 @@ int doInt(PRange self, int elem) {
302302
@Specialization
303303
int doGeneric(VirtualFrame frame, PRange self, Object elem,
304304
@Cached("createEq()") BinaryComparisonNode cmpNode,
305-
@Cached("createIfTrueNode()") CastToBooleanNode castToBooleanNode,
305+
@CachedLibrary(limit = "getCallSiteInlineCacheMaxDepth()") PythonObjectLibrary lib,
306306
@Cached SequenceStorageNodes.GetItemNode getItemNode) {
307307

308308
int len = self.len();
309309
int cnt = 0;
310+
ThreadState state = PArguments.getThreadState(frame);
310311
for (int i = 0; i < len; i++) {
311312
Object item = getItemNode.execute(frame, self.getSequenceStorage(), i);
312-
if (castToBooleanNode.executeBoolean(frame, cmpNode.executeWith(frame, elem, item))) {
313+
if (lib.isTrueWithState(cmpNode.executeWith(frame, elem, item), state)) {
313314
cnt++;
314315
}
315316
}

0 commit comments

Comments
 (0)