Skip to content

Commit e1ff550

Browse files
committed
cast equality result to boolean
1 parent 73708df commit e1ff550

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/common/HashingStorageNodes.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
import com.oracle.graal.python.nodes.control.GetNextNode;
8585
import com.oracle.graal.python.nodes.datamodel.IsHashableNode;
8686
import com.oracle.graal.python.nodes.expression.BinaryComparisonNode;
87+
import com.oracle.graal.python.nodes.expression.CastToBooleanNode;
8788
import com.oracle.graal.python.nodes.object.GetClassNode;
8889
import com.oracle.graal.python.runtime.exception.PException;
8990
import com.oracle.graal.python.runtime.exception.PythonErrorType;
@@ -114,6 +115,7 @@ public abstract class HashingStorageNodes {
114115
public static class PythonEquivalence extends Equivalence {
115116
@Child private LookupAndCallUnaryNode callHashNode = LookupAndCallUnaryNode.create(__HASH__);
116117
@Child private BinaryComparisonNode callEqNode = BinaryComparisonNode.create(SpecialMethodNames.__EQ__, SpecialMethodNames.__EQ__, "==", null, null);
118+
@Child private CastToBooleanNode castToBoolean = CastToBooleanNode.createIfTrueNode();
117119
@CompilationFinal private int state = 0;
118120

119121
@Override
@@ -164,7 +166,7 @@ private PException hashCodeTypeError() {
164166

165167
@Override
166168
public boolean equals(Object left, Object right) {
167-
return callEqNode.executeBool(left, right);
169+
return castToBoolean.executeWith(callEqNode.executeWith(left, right));
168170
}
169171

170172
public static PythonEquivalence create() {

0 commit comments

Comments
 (0)