On 20.10.15 0:50, Philip Race wrote:
The code change looks fine. The test is delightfully complicated.
I still have not got a benefit of weak references in this use case. Does
it mean that weak are always better? If yes, then we should at some
point change default policy for all other cases as well.
Did you run it under jtreg ?
-phil.
On 10/19/15, 5:10 AM, Rajeev Chamyal wrote:
Hello,
Please review the following fix for Jdk9:
Bug: https://bugs.openjdk.java.net/browse/JDK-8030099
Webrev:http://cr.openjdk.java.net/~rchamyal/8030099/webrev.00/
<http://cr.openjdk.java.net/%7Erchamyal/8030099/webrev.00/>
Issue: The memory usage of java process goes on increasing if we call
ShellFolder:listFiles API
aggressively on some folder with large number of files/folders.
Cause: Win32ShellFolder class registers its instances and native data
with sun.java2d.Disposer class for later disposal.
Win32ShellFolder instances are getting registered as PhantomReferences
with Disposer and are not getting cleared immediately.
This leads to increase of memory usage by java process.
Fix: Instead of registering the complete Win32ShellFolder object
reference with disposer we are now adding only a sentinel object and
also using sun.java2d.Disposer :: addObjectRecord API which adds the
references as WeakReferences.
Regards,
Rajeev Chamyal
--
Best regards, Sergey.