Skip to content

Commit d81a52d

Browse files
committed
[GR-38618] Minor fix in HPyGetNativeSpacePointerNode.
PullRequest: graalpython/2248
2 parents 7b3fbe3 + b2850b1 commit d81a52d

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/hpy/GraalHPyNodes.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2208,6 +2208,7 @@ private static long castToLong(InteropLibrary lib, Object value) throws Overflow
22082208
}
22092209

22102210
@GenerateUncached
2211+
@ImportStatic(PGuards.class)
22112212
public abstract static class HPyGetNativeSpacePointerNode extends Node {
22122213

22132214
public abstract Object execute(Object object);
@@ -2217,7 +2218,7 @@ static Object doPythonHPyObject(PythonHPyObject object) {
22172218
return object.getHPyNativeSpace();
22182219
}
22192220

2220-
@Specialization
2221+
@Specialization(guards = "!isHPyObject(object)")
22212222
static Object doPythonHPyObject(PythonObject object,
22222223
@Cached ReadAttributeFromDynamicObjectNode readNativeSpaceNode) {
22232224
return readNativeSpaceNode.execute(object.getStorage(), GraalHPyDef.OBJECT_HPY_NATIVE_SPACE);

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/PGuards.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import com.oracle.graal.python.builtins.objects.cext.PythonNativeClass;
5454
import com.oracle.graal.python.builtins.objects.cext.PythonNativeObject;
5555
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyHandle;
56+
import com.oracle.graal.python.builtins.objects.cext.hpy.PythonHPyObject;
5657
import com.oracle.graal.python.builtins.objects.code.PCode;
5758
import com.oracle.graal.python.builtins.objects.common.PHashingCollection;
5859
import com.oracle.graal.python.builtins.objects.complex.PComplex;
@@ -520,6 +521,10 @@ public static boolean isHPyHandle(Object obj) {
520521
return obj instanceof GraalHPyHandle;
521522
}
522523

524+
public static boolean isHPyObject(Object obj) {
525+
return obj instanceof PythonHPyObject;
526+
}
527+
523528
public static boolean expectBoolean(Object result) throws UnexpectedResultException {
524529
if (result instanceof Boolean) {
525530
return (Boolean) result;

0 commit comments

Comments
 (0)