Hello,
Please review the fix for jdk9.

Bug evaluation was done by Anton:
http://mail.openjdk.java.net/pipermail/awt-dev/2016-April/011177.html

This is a cross-platform bug it affects d3d/ogl pipelines. The problem is that BufferedContex cached information to skip some native reconfigurations. But this cache cause a memory leak if some data(src/dst surfaces) was cached and there was no new rendering in this context(we create context per-d3d_device/ogl_config).

In the fix I changed all these caches to weak references. Note that i use a references as initial values instead of null, just to eliminate the null checks in the body of the method.

The test was updated to be more stable(flushed the EDT + flushed the Disposer thread).

Bug: https://bugs.openjdk.java.net/browse/JDK-8028486
Webrev can be found at: http://cr.openjdk.java.net/~serb/8028486/webrev.00

--
Best regards, Sergey.

Reply via email to