Request for review: 7124524 - OutOfMemory exception after (or even before) some 2500 creations of LWWindowPeer

Sergey Bylokhov sergey.bylokhov at oracle.com
Tue Jan 24 06:59:22 PST 2012


Hi Everyone,
Changes in CGLSurfaceData.java caused a few regressions. Looks like we 
cannot set peer&layer to null in invalidate(), because surface can still 
be in use. So i revert these changes. I assume that this is not mac 
specific issue and I will create separate CR for that.
Bug: http://monaco.us.oracle.com/detail.jsf?cr=7124524
New webrev can be found at: 
http://cr.openjdk.java.net/~serb/7124524/webrev.01/

17.01.2012 17:02, Sergey Bylokhov wrote:
> Hi Everyone,
> This is a fix for 4 memory leaks.
> 1. LWWindowPeer does not destroy backbuffer in disposeImpl().
> 2. LWToolkit stores unused links to Peer.
> 3. Local references were not deleted in the AWTWindow.m, but according 
> JNFJObjectWrapper.jObjectWithEnv documentation "returns a new 
> local-ref, must be released with DeleteLocalRef".
> 4. OGLContext in some cases can cache CGLSurfaceData in this case our 
> LWWindowPeer was not collected.
>
> Bug: http://monaco.us.oracle.com/detail.jsf?cr=7124524
> Webrev can be found at: 
> http://cr.openjdk.java.net/~serb/7124524/webrev.00/
>


-- 
Best regards, Sergey.



More information about the macosx-port-dev mailing list