|
43 | 43 | import com.oracle.graal.python.builtins.objects.common.IndexNodes.NormalizeIndexNode;
|
44 | 44 | import com.oracle.graal.python.builtins.objects.common.SequenceStorageNodes;
|
45 | 45 | import com.oracle.graal.python.builtins.objects.function.PArguments;
|
| 46 | +import com.oracle.graal.python.builtins.objects.function.PArguments.ThreadState; |
46 | 47 | import com.oracle.graal.python.builtins.objects.ints.PInt;
|
47 | 48 | import com.oracle.graal.python.builtins.objects.iterator.PIntegerIterator;
|
48 | 49 | import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
|
49 | 50 | import com.oracle.graal.python.builtins.objects.slice.PSlice;
|
50 | 51 | import com.oracle.graal.python.builtins.objects.slice.PSlice.SliceInfo;
|
51 | 52 | import com.oracle.graal.python.nodes.expression.BinaryComparisonNode;
|
52 |
| -import com.oracle.graal.python.nodes.expression.CastToBooleanNode; |
53 | 53 | import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
|
54 | 54 | import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
|
55 | 55 | import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
|
@@ -302,14 +302,15 @@ int doInt(PRange self, int elem) {
|
302 | 302 | @Specialization
|
303 | 303 | int doGeneric(VirtualFrame frame, PRange self, Object elem,
|
304 | 304 | @Cached("createEq()") BinaryComparisonNode cmpNode,
|
305 |
| - @Cached("createIfTrueNode()") CastToBooleanNode castToBooleanNode, |
| 305 | + @CachedLibrary(limit = "getCallSiteInlineCacheMaxDepth()") PythonObjectLibrary lib, |
306 | 306 | @Cached SequenceStorageNodes.GetItemNode getItemNode) {
|
307 | 307 |
|
308 | 308 | int len = self.len();
|
309 | 309 | int cnt = 0;
|
| 310 | + ThreadState state = PArguments.getThreadState(frame); |
310 | 311 | for (int i = 0; i < len; i++) {
|
311 | 312 | 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)) { |
313 | 314 | cnt++;
|
314 | 315 | }
|
315 | 316 | }
|
|
0 commit comments