|
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