Hi Clemens, The patch looks good to me.
Just wondering what is the impact of those two checks: + if (compClip.contains(transX1, transY1) + && compClip.contains(transX2, transY2)) { for the most common cases? Cheers, Mario 2012/4/5 Clemens Eisserer <linuxhi...@gmail.com>: > Hi, > > Please take a look at the patch for bug 7150134, located at > http://cr.openjdk.java.net/~ceisserer/7150134/ > > The problem was caused by a fast-path in drawLine() which didn't take > clipping into account, therefor huge lines that would have been > clipped away caused OOMs in xrender's bresenham code. Because the > fast-path provides nice speedups (e.g. 300% for 20px horizontal lines > measured with J2DBench) I don't want to sacrifice it entirely. > > This fix only takes the fast-path in case the line is completly > un-clipped, otherwise it lets generic Java2D code handle it: > http://cr.openjdk.java.net/~ceisserer/7150134/ > > Thanks, Clemens -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/