I moved SurfaceDataProxy cache into a separate class. Now caching level is determined by placement of the SurfaceManager.ProxyCache object instead of a "proxy key". This cache "owns" proxies and therefore strong refs via them do not prevent the cache and GraphicsConfig from being detected as weakly reachable.
------------- Commit messages: - 8339341: Make SurfaceDataProxy cache a separate entity. Changes: https://git.openjdk.org/jdk/pull/20825/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20825&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8339341 Stats: 173 lines in 17 files changed: 55 ins; 55 del; 63 mod Patch: https://git.openjdk.org/jdk/pull/20825.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20825/head:pull/20825 PR: https://git.openjdk.org/jdk/pull/20825