Skip to content

Commit f801bad

Browse files
committed
make caches on managed classes weak
1 parent c622aa0 commit f801bad

File tree

1 file changed

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

1 file changed

+5
-5
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ static Object doSingleton(@SuppressWarnings("unused") CExtContext cextContext, @
437437
@Specialization(guards = "object == cachedObject", limit = "3", assumptions = "singleContextAssumption()")
438438
static Object doPythonClass(@SuppressWarnings("unused") CExtContext cextContext, @SuppressWarnings("unused") PythonManagedClass object,
439439
@SuppressWarnings("unused") @Cached(value = "object", weak = true) PythonManagedClass cachedObject,
440-
@Cached("wrapNativeClass(object)") PythonClassNativeWrapper wrapper) {
440+
@Cached(value = "wrapNativeClass(object)", weak = true) PythonClassNativeWrapper wrapper) {
441441
return wrapper;
442442
}
443443

@@ -692,8 +692,8 @@ static Object doSingleton(@SuppressWarnings("unused") CExtContext cextContext, @
692692

693693
@Specialization(guards = "object == cachedObject", limit = "3", assumptions = "singleContextAssumption()")
694694
static Object doPythonClass(@SuppressWarnings("unused") CExtContext cextContext, @SuppressWarnings("unused") PythonManagedClass object,
695-
@SuppressWarnings("unused") @Cached("object") PythonManagedClass cachedObject,
696-
@Cached("wrapNativeClass(object)") PythonClassNativeWrapper wrapper) {
695+
@SuppressWarnings("unused") @Cached(value = "object", weak = true) PythonManagedClass cachedObject,
696+
@Cached(value = "wrapNativeClass(object)", weak = true) PythonClassNativeWrapper wrapper) {
697697
wrapper.increaseRefCount();
698698
return wrapper;
699699
}
@@ -875,8 +875,8 @@ static Object doSingleton(CExtContext cextContext, PythonAbstractObject object,
875875

876876
@Specialization(guards = "object == cachedObject", limit = "3", assumptions = "singleContextAssumption()")
877877
static Object doPythonClass(@SuppressWarnings("unused") CExtContext cextContext, @SuppressWarnings("unused") PythonManagedClass object,
878-
@SuppressWarnings("unused") @Cached("object") PythonManagedClass cachedObject,
879-
@Cached("wrapNativeClass(object)") PythonClassNativeWrapper wrapper) {
878+
@SuppressWarnings("unused") @Cached(value = "object", weak = true) PythonManagedClass cachedObject,
879+
@Cached(value = "wrapNativeClass(object)", weak = true) PythonClassNativeWrapper wrapper) {
880880
wrapper.increaseRefCount();
881881
return wrapper;
882882
}

0 commit comments

Comments
 (0)