Skip to content

Commit 85524f8

Browse files
committed
add specialization for IsPointerNode
1 parent 4c35185 commit 85524f8

File tree

1 file changed

+12
-1
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext

1 file changed

+12
-1
lines changed

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1629,6 +1629,17 @@ boolean doFalse(@SuppressWarnings("unused") PythonNativeWrapper obj) {
16291629
return false;
16301630
}
16311631

1632+
@Specialization(guards = "obj.isNative()")
1633+
boolean doNative(@SuppressWarnings("unused") PythonNativeWrapper obj) {
1634+
return true;
1635+
}
1636+
1637+
@Specialization(guards = {"!obj.isNative()", "isSpecialSingleton(obj.getDelegate())"})
1638+
boolean doSpecial(PythonNativeWrapper obj,
1639+
@Cached GetSpecialSingletonPtrNode getSpecialSingletonPtrNode) {
1640+
return getSpecialSingletonPtrNode.execute(obj.getDelegate()) != null;
1641+
}
1642+
16321643
@Specialization
16331644
boolean doGeneric(PythonNativeWrapper obj,
16341645
@Cached GetSpecialSingletonPtrNode getSpecialSingletonPtrNode,
@@ -1643,7 +1654,7 @@ boolean doGeneric(PythonNativeWrapper obj,
16431654
return false;
16441655
}
16451656

1646-
private static boolean isSpecialSingleton(Object delegate) {
1657+
protected static boolean isSpecialSingleton(Object delegate) {
16471658
return PythonLanguage.getSingletonNativePtrIdx(delegate) != -1;
16481659
}
16491660

0 commit comments

Comments
 (0)