Skip to content

Commit 6ae832d

Browse files
committed
Filter entries with null values from StringConcatFactory.InlineHiddenClassStrategy.CACHE
1 parent 1fe3acd commit 6ae832d

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/methodhandles/MethodHandleFeature.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,12 @@ public Object transform(Object receiver, Object originalValue) {
259259
for (var entry : cache.entrySet()) {
260260
SoftReference<Object> value = entry.getValue();
261261
Object object = value.get();
262-
MethodHandle constructor = ReflectionUtil.invokeMethod(constructorGetter, object);
263-
MethodHandle concatenator = ReflectionUtil.invokeMethod(concatenatorGetter, object);
264-
if (constructor != null && concatenator != null && heapScanner.isObjectReachable(constructor) && heapScanner.isObjectReachable(concatenator)) {
265-
result.put(entry.getKey(), value);
262+
if (object != null) {
263+
MethodHandle constructor = ReflectionUtil.invokeMethod(constructorGetter, object);
264+
MethodHandle concatenator = ReflectionUtil.invokeMethod(concatenatorGetter, object);
265+
if (constructor != null && concatenator != null && heapScanner.isObjectReachable(constructor) && heapScanner.isObjectReachable(concatenator)) {
266+
result.put(entry.getKey(), value);
267+
}
266268
}
267269
}
268270

0 commit comments

Comments
 (0)