Skip to content

Commit 439209b

Browse files
committed
Fix missing guard in CastToJavaDoubleNode
1 parent 412791a commit 439209b

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/util/CastToJavaDoubleNode.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import com.oracle.graal.python.builtins.objects.cext.PythonAbstractNativeObject;
4848
import com.oracle.graal.python.builtins.objects.cext.structs.CStructAccess;
4949
import com.oracle.graal.python.builtins.objects.ints.PInt;
50+
import com.oracle.graal.python.nodes.PGuards;
5051
import com.oracle.graal.python.nodes.PNodeWithContext;
5152
import com.oracle.graal.python.nodes.classes.IsSubtypeNode;
5253
import com.oracle.graal.python.nodes.object.GetClassNode.GetPythonObjectClassNode;
@@ -149,7 +150,11 @@ public static Double doInterop(Object obj,
149150
return null;
150151
}
151152

152-
@Specialization(guards = "!isNumber(obj)")
153+
static boolean isInteropObject(Object obj) {
154+
return !PGuards.isNumber(obj) && !(obj instanceof PythonAbstractNativeObject);
155+
}
156+
157+
@Specialization(guards = "isInteropObject(obj)")
153158
@InliningCutoff
154159
static double doGeneric(Object obj,
155160
@CachedLibrary(limit = "3") InteropLibrary interopLibrary) {

0 commit comments

Comments
 (0)