Skip to content

Commit 1d2bc76

Browse files
committed
Remove unnecessary caching
caching is happening within IsSubtypeNode
1 parent 56d6171 commit 1d2bc76

File tree

1 file changed

+5
-25
lines changed

1 file changed

+5
-25
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/type/PythonBuiltinClass.java

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@
3232
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
3333
import com.oracle.graal.python.nodes.ErrorMessages;
3434
import com.oracle.graal.python.nodes.classes.IsSubtypeNode;
35-
import com.oracle.truffle.api.Assumption;
3635
import com.oracle.truffle.api.CompilerAsserts;
3736
import com.oracle.truffle.api.dsl.Cached;
38-
import com.oracle.truffle.api.dsl.Specialization;
3937
import com.oracle.truffle.api.interop.InteropLibrary;
4038
import com.oracle.truffle.api.library.CachedLibrary;
4139
import com.oracle.truffle.api.library.ExportLibrary;
@@ -83,29 +81,11 @@ boolean isMetaObject() {
8381
}
8482

8583
@ExportMessage
86-
static class IsMetaInstance {
87-
88-
protected static boolean isInstance(PythonBuiltinClass receiver, Object instance, PythonObjectLibrary plib, IsSubtypeNode isSubtype) {
89-
return isSubtype.execute(plib.getLazyPythonClass(instance), receiver);
90-
}
91-
92-
@SuppressWarnings("unused")
93-
@Specialization(guards = "instance == instanceCached", assumptions = "singleContextAssumption", limit = "3")
94-
static boolean isMetaInstanceCached(PythonBuiltinClass receiver, Object instance,
95-
@CachedLibrary("instance") PythonObjectLibrary plib,
96-
@Cached IsSubtypeNode isSubtype,
97-
@Cached("instance") Object instanceCached,
98-
@Cached("isInstance(receiver, instanceCached, plib, isSubtype)") boolean isInstance,
99-
@SuppressWarnings("unused") @Cached(value = "getSingleContextAssumption()", allowUncached = true) Assumption singleContextAssumption) {
100-
return isInstance;
101-
}
102-
103-
@Specialization(replaces = "isMetaInstanceCached")
104-
static boolean isMetaInstance(PythonBuiltinClass receiver, Object instance,
105-
@CachedLibrary(limit = "3") PythonObjectLibrary plib,
106-
@Cached IsSubtypeNode isSubtype) {
107-
return isInstance(receiver, instance, plib, isSubtype);
108-
}
84+
@SuppressWarnings("static-method")
85+
boolean isMetaInstance(Object instance,
86+
@CachedLibrary(limit = "3") PythonObjectLibrary plib,
87+
@Cached IsSubtypeNode isSubtype) {
88+
return isSubtype.execute(plib.getLazyPythonClass(instance), this);
10989
}
11090

11191
@ExportMessage

0 commit comments

Comments
 (0)