Skip to content

Commit 04e0ea6

Browse files
committed
move PInt#isNative to PGuards and cut off
1 parent 3815717 commit 04e0ea6

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,7 @@ public static SetItemNode create(TruffleString invalidItemErrorMessage) {
11591159
}
11601160

11611161
@GenerateUncached
1162-
@ImportStatic(SequenceStorageBaseNode.class)
1162+
@ImportStatic({SequenceStorageBaseNode.class, PGuards.class})
11631163
public abstract static class SetItemScalarNode extends Node {
11641164

11651165
public abstract void execute(SequenceStorage s, int idx, Object value);
@@ -1205,7 +1205,7 @@ protected static void doIntLOvf(IntSequenceStorage storage, int idx, long value)
12051205
}
12061206

12071207
@InliningCutoff
1208-
@Specialization(guards = "!value.isNative()")
1208+
@Specialization(guards = "!isNativeWrapper(value)")
12091209
protected static void doInt(IntSequenceStorage storage, int idx, PInt value) {
12101210
try {
12111211
storage.setIntItemNormalized(idx, value.intValueExact());
@@ -1225,7 +1225,7 @@ protected static void doLong(LongSequenceStorage storage, int idx, int value) {
12251225
}
12261226

12271227
@InliningCutoff
1228-
@Specialization(guards = "!value.isNative()")
1228+
@Specialization(guards = "!isNativeWrapper(value)")
12291229
protected static void doLong(LongSequenceStorage storage, int idx, PInt value) {
12301230
try {
12311231
storage.setLongItemNormalized(idx, value.longValueExact());

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/ints/PInt.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131

3232
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
3333
import com.oracle.graal.python.builtins.modules.SysModuleBuiltins;
34-
import com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapperLibrary;
3534
import com.oracle.graal.python.builtins.objects.object.PythonBuiltinObject;
3635
import com.oracle.graal.python.builtins.objects.type.PythonBuiltinClass;
3736
import com.oracle.graal.python.nodes.ErrorMessages;
@@ -541,10 +540,6 @@ public static BigInteger abs(BigInteger value) {
541540
return value.abs();
542541
}
543542

544-
public boolean isNative() {
545-
return getNativeWrapper() != null && PythonNativeWrapperLibrary.getUncached().isNative(getNativeWrapper());
546-
}
547-
548543
@TruffleBoundary
549544
public BigInteger multiply(BigInteger other) {
550545
return this.value.multiply(other);

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import com.oracle.graal.python.builtins.objects.bytes.PBytesLike;
5353
import com.oracle.graal.python.builtins.objects.cext.PythonNativeClass;
5454
import com.oracle.graal.python.builtins.objects.cext.PythonNativeObject;
55+
import com.oracle.graal.python.builtins.objects.cext.capi.PythonNativeWrapperLibrary;
5556
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyHandle;
5657
import com.oracle.graal.python.builtins.objects.cext.hpy.PythonHPyObject;
5758
import com.oracle.graal.python.builtins.objects.code.PCode;
@@ -637,4 +638,10 @@ public static boolean isAscii(TruffleString str, TruffleString.GetCodeRangeNode
637638
public static boolean isIndexOrSlice(PyIndexCheckNode indexCheckNode, Object key) {
638639
return indexCheckNode.execute(key) || isPSlice(key);
639640
}
641+
642+
@InliningCutoff
643+
public static boolean isNativeWrapper(PythonAbstractObject object) {
644+
Object wrapper = object.getNativeWrapper();
645+
return wrapper != null && PythonNativeWrapperLibrary.getUncached().isNative(wrapper);
646+
}
640647
}

0 commit comments

Comments
 (0)