From yamauchi at google.com Mon Mar 2 16:38:38 2009 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Mon, 2 Mar 2009 16:38:38 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: References: Message-ID: The following patch appears to make ScaleTest pass. Though I don't know exactly what the code does, but it appears to be a copy-and-paste bug to me. Anyway, I'd appreciate it if someone in the Java 2D community can confirm that it's the right fix. Thanks, Hiroshi +++ jdk/src/share/classes/sun/java2d/pisces/Renderer.java 2009-02-27 21:44:44.000000000 -0800 @@ -632,7 +632,7 @@ if (cache != null) { if (maxX >= minX) { int x0 = minX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); - int x1 = maxX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); + int x1 = maxX + (rasterMaxX >> SUBPIXEL_LG_POSITIONS_X); cache.startRow(y, x0, x1); int srcIdx = minX; Hiroshi On Tue, Feb 24, 2009 at 11:40 AM, Hiroshi Yamauchi wrote: > The following change appears to make the ThinLineTest pass. I tried a couple > of variations of it, with and without antialiasing, with and without > scaling, and with different scaling factors and line widths. The looked > okay. Btw, bear with me as I am not really a Java 2D person and I may not > know what I'm talking about :) But I got the feeling that the 'thin' logic > (to do with the thin boolean parameter to PiscesRenderingEngine.strokeTo() > and the logic in SunGraphics2D.validateBasicStroke()) isn't compatible with > Stroker.computeOffset(). > > +++ jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java > 2009-02-24 11:17:48.000000000 -0800 > @@ -169,7 +169,7 @@ > ?????????????????? LineSink lsink) > ???? { > ???????? float lw; > -??????? if (thin) { > +??????? if (false && thin) { > ???????????? if (antialias) { > ???????????????? lw = 0.5f; > ???????????? } else { > > > On Mon, Feb 23, 2009 at 5:32 PM, Hiroshi Yamauchi > wrote: >> >> Hi all, >> >> We found four more 2D rendering OpenJDK incompatibilities (the examples >> are attached): >> >> 1. ScaleTest: A circle is rendered in a 'C' shape. >> 2. ThinLineTest: A line < 1 pixel disappears. >> 3. NotANumberTest: Double.NaN isn't handled gracefully. >> 4. StrokeShapeTest: createStrokedShape() behaves differently. >> >> Some of the examples may be caused by a single bug. I don't have an idea >> what the causes are. >> By any chance, have any of the them already fixed? >> >> Thanks, >> Hiroshi >> >> > > From Jim.A.Graham at Sun.COM Mon Mar 2 17:31:25 2009 From: Jim.A.Graham at Sun.COM (Jim Graham) Date: Mon, 02 Mar 2009 17:31:25 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: References: Message-ID: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> Thank you Hiroshi for investigating that problem and coming up with a potential fix. Unfortunately, the fix you propose does not look right to me. I believe that the minX and maxX parameters to that function are relative to the origin of the raster coordinates which means you would add each of them to the raster's origin (rasterMinX) to get an absolute min/maxX. So they look correct as written. If this change fixes the problem, then it is a side effect of moving the right edge of the "startRow" call out to the right some more. That could indicate that perhaps maxX was not calculated correctly in the first place and so expanding it out "covers up" the problem. It sounds like it needs more investigation than that simple change... ...jim Hiroshi Yamauchi wrote: > The following patch appears to make ScaleTest pass. Though I don't > know exactly what the code does, but it appears to be a copy-and-paste > bug to me. > > Anyway, I'd appreciate it if someone in the Java 2D community can > confirm that it's the right fix. > > Thanks, > Hiroshi > > +++ jdk/src/share/classes/sun/java2d/pisces/Renderer.java > 2009-02-27 21:44:44.000000000 -0800 > @@ -632,7 +632,7 @@ > if (cache != null) { > if (maxX >= minX) { > int x0 = minX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); > - int x1 = maxX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); > + int x1 = maxX + (rasterMaxX >> SUBPIXEL_LG_POSITIONS_X); > > cache.startRow(y, x0, x1); > int srcIdx = minX; > > Hiroshi > > On Tue, Feb 24, 2009 at 11:40 AM, Hiroshi Yamauchi wrote: >> The following change appears to make the ThinLineTest pass. I tried a couple >> of variations of it, with and without antialiasing, with and without >> scaling, and with different scaling factors and line widths. The looked >> okay. Btw, bear with me as I am not really a Java 2D person and I may not >> know what I'm talking about :) But I got the feeling that the 'thin' logic >> (to do with the thin boolean parameter to PiscesRenderingEngine.strokeTo() >> and the logic in SunGraphics2D.validateBasicStroke()) isn't compatible with >> Stroker.computeOffset(). >> >> +++ jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java >> 2009-02-24 11:17:48.000000000 -0800 >> @@ -169,7 +169,7 @@ >> LineSink lsink) >> { >> float lw; >> - if (thin) { >> + if (false && thin) { >> if (antialias) { >> lw = 0.5f; >> } else { >> >> >> On Mon, Feb 23, 2009 at 5:32 PM, Hiroshi Yamauchi >> wrote: >>> Hi all, >>> >>> We found four more 2D rendering OpenJDK incompatibilities (the examples >>> are attached): >>> >>> 1. ScaleTest: A circle is rendered in a 'C' shape. >>> 2. ThinLineTest: A line < 1 pixel disappears. >>> 3. NotANumberTest: Double.NaN isn't handled gracefully. >>> 4. StrokeShapeTest: createStrokedShape() behaves differently. >>> >>> Some of the examples may be caused by a single bug. I don't have an idea >>> what the causes are. >>> By any chance, have any of the them already fixed? >>> >>> Thanks, >>> Hiroshi >>> >>> >> From yamauchi at google.com Mon Mar 2 17:50:22 2009 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Mon, 2 Mar 2009 17:50:22 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> References: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> Message-ID: Thanks, Jim, for comments. What you are describing seems right to me. I thought that the problem was that the 'bounding box' was slightly too short on the right end, which made the circle drawn like a C shape. I'll look more into it when I have a chance. Best, Hiroshi On Mon, Mar 2, 2009 at 5:31 PM, Jim Graham wrote: > Thank you Hiroshi for investigating that problem and coming up with a > potential fix. ?Unfortunately, the fix you propose does not look right to > me. > > I believe that the minX and maxX parameters to that function are relative to > the origin of the raster coordinates which means you would add each of them > to the raster's origin (rasterMinX) to get an absolute min/maxX. ?So they > look correct as written. > > If this change fixes the problem, then it is a side effect of moving the > right edge of the "startRow" call out to the right some more. ?That could > indicate that perhaps maxX was not calculated correctly in the first place > and so expanding it out "covers up" the problem. > > It sounds like it needs more investigation than that simple change... > > ? ? ? ? ? ? ? ? ? ? ? ?...jim > > Hiroshi Yamauchi wrote: >> >> The following patch appears to make ScaleTest pass. Though I don't >> know exactly what the code does, but it appears to be a copy-and-paste >> bug to me. >> >> Anyway, I'd appreciate it if someone in the Java 2D community can >> confirm that it's the right fix. >> >> Thanks, >> Hiroshi >> >> +++ jdk/src/share/classes/sun/java2d/pisces/Renderer.java >> 2009-02-27 21:44:44.000000000 -0800 >> @@ -632,7 +632,7 @@ >> ? ? ? ? if (cache != null) { >> ? ? ? ? ? ? if (maxX >= minX) { >> ? ? ? ? ? ? ? ? int x0 = minX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); >> - ? ? ? ? ? ? ? ?int x1 = maxX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); >> + ? ? ? ? ? ? ? ?int x1 = maxX + (rasterMaxX >> SUBPIXEL_LG_POSITIONS_X); >> >> ? ? ? ? ? ? ? ? cache.startRow(y, x0, x1); >> ? ? ? ? ? ? ? ? int srcIdx = minX; >> >> Hiroshi >> >> On Tue, Feb 24, 2009 at 11:40 AM, Hiroshi Yamauchi >> wrote: >>> >>> The following change appears to make the ThinLineTest pass. I tried a >>> couple >>> of variations of it, with and without antialiasing, with and without >>> scaling, and with different scaling factors and line widths. The looked >>> okay. Btw, bear with me as I am not really a Java 2D person and I may not >>> know what I'm talking about :) But I got the feeling that the 'thin' >>> logic >>> (to do with the thin boolean parameter to >>> PiscesRenderingEngine.strokeTo() >>> and the logic in SunGraphics2D.validateBasicStroke()) isn't compatible >>> with >>> Stroker.computeOffset(). >>> >>> +++ jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java >>> 2009-02-24 11:17:48.000000000 -0800 >>> @@ -169,7 +169,7 @@ >>> ? ? ? ? ? ? ? ? ? LineSink lsink) >>> ? ? { >>> ? ? ? ? float lw; >>> - ? ? ? ?if (thin) { >>> + ? ? ? ?if (false && thin) { >>> ? ? ? ? ? ? if (antialias) { >>> ? ? ? ? ? ? ? ? lw = 0.5f; >>> ? ? ? ? ? ? } else { >>> >>> >>> On Mon, Feb 23, 2009 at 5:32 PM, Hiroshi Yamauchi >>> wrote: >>>> >>>> Hi all, >>>> >>>> We found four more 2D rendering OpenJDK incompatibilities (the examples >>>> are attached): >>>> >>>> 1. ScaleTest: A circle is rendered in a 'C' shape. >>>> 2. ThinLineTest: A line < 1 pixel disappears. >>>> 3. NotANumberTest: Double.NaN isn't handled gracefully. >>>> 4. StrokeShapeTest: createStrokedShape() behaves differently. >>>> >>>> Some of the examples may be caused by a single bug. I don't have an idea >>>> what the causes are. >>>> By any chance, have any of the them already fixed? >>>> >>>> Thanks, >>>> Hiroshi >>>> >>>> >>> > From roman.kennke at aicas.com Tue Mar 3 00:19:16 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 09:19:16 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> References: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> Message-ID: <1236068356.6360.2.camel@moonlight> Hi there, > I believe that the minX and maxX parameters to that function are > relative to the origin of the raster coordinates which means you would > add each of them to the raster's origin (rasterMinX) to get an absolute > min/maxX. So they look correct as written. > > If this change fixes the problem, then it is a side effect of moving the > right edge of the "startRow" call out to the right some more. That > could indicate that perhaps maxX was not calculated correctly in the > first place and so expanding it out "covers up" the problem. Without having looked at the code, maybe this is a rounding problem? I think the pisces code was written for fixed point and adopted to floating point for OpenJDK. > It sounds like it needs more investigation than that simple change... Yeah. I will have a look as this also bothers me a little. /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From roman.kennke at aicas.com Tue Mar 3 02:09:51 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 11:09:51 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> References: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> Message-ID: <1236074991.6360.7.camel@moonlight> Hi there, > I believe that the minX and maxX parameters to that function are > relative to the origin of the raster coordinates which means you would > add each of them to the raster's origin (rasterMinX) to get an absolute > min/maxX. So they look correct as written. > > If this change fixes the problem, then it is a side effect of moving the > right edge of the "startRow" call out to the right some more. That > could indicate that perhaps maxX was not calculated correctly in the > first place and so expanding it out "covers up" the problem. I had a look at that code. It seems like minX and maxX are calculated correctly. However, in emitRow, we calculate x0 and x1 from that, and then call the cache.startRow() with that to start a new row in the RLE cache. It seems like the cache (or the rendering code that reads the cache) interprets x1 to be the first pixel right of the bounding box, while the emitRow() function needs that pixel _inside_ the bounding box (it does while (srcIdx <= maxX) { .. } ). The following patch fixes the problem for me: diff --git a/src/share/classes/sun/java2d/pisces/Renderer.java b/src/share/classes/sun/java2d/pisces/Renderer.java --- a/src/share/classes/sun/java2d/pisces/Renderer.java +++ b/src/share/classes/sun/java2d/pisces/Renderer.java @@ -634,7 +634,7 @@ int x0 = minX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); int x1 = maxX + (rasterMinX >> SUBPIXEL_LG_POSITIONS_X); - cache.startRow(y, x0, x1); + cache.startRow(y, x0, x1 + 1); int srcIdx = minX; // Perform run-length encoding (END) /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From roman.kennke at aicas.com Tue Mar 3 03:08:11 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 12:08:11 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: References: Message-ID: <1236078491.6360.52.camel@moonlight> Hi, I think we have at least two problems here. For one, this appears to be a rounding problem. In SunGraphics2D.validateBasicStroke(), we calculate a widthsquared of 0.24999999999999997, and compare it to a MinPenSizeSquared of 0.25, this triggers the thin logic where it probably should not. OTOH, in PiscesRenderingEngine.strokeTo(), in our case we get a lineWidth of 381 from the basic stroke because the target is scaled by 1/(381*0.5), where the thin logic wants to use 0.5. I suspect that this could be another problem for cases where we actually want the thin logic. So what happens is, we trigger the thin logic, although we should not, and then it picks up a line width which is far too small considering the scale factor. I don't know if we need to fix the rounding problem. I guess when we can fix the thin code path, this should be ok anyway (we end up with a minimum-width line anyway). Fixing the line width is more difficult though. We would need to scale the minimum line width (0.5 or 1.0) using the passed in transform. The attached patch does that. I more or less copied the code from SunGraphics2D.validateBasicStroke() to calculate the scale factor to apply. Maybe we should pull this out and reuse some shared routine in both cases. /Roman Am Dienstag, den 24.02.2009, 11:40 -0800 schrieb Hiroshi Yamauchi: > The following change appears to make the ThinLineTest pass. I tried a > couple of variations of it, with and without antialiasing, with and > without scaling, and with different scaling factors and line widths. > The looked okay. Btw, bear with me as I am not really a Java 2D person > and I may not know what I'm talking about :) But I got the feeling > that the 'thin' logic (to do with the thin boolean parameter to > PiscesRenderingEngine.strokeTo() and the logic in > SunGraphics2D.validateBasicStroke()) isn't compatible with > Stroker.computeOffset(). > > +++ jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java > 2009-02-24 11:17:48.000000000 -0800 > @@ -169,7 +169,7 @@ > LineSink lsink) > { > float lw; > - if (thin) { > + if (false && thin) { > if (antialias) { > lw = 0.5f; > } else { > > > On Mon, Feb 23, 2009 at 5:32 PM, Hiroshi Yamauchi > wrote: > Hi all, > > We found four more 2D rendering OpenJDK incompatibilities (the > examples are attached): > > 1. ScaleTest: A circle is rendered in a 'C' shape. > 2. ThinLineTest: A line < 1 pixel disappears. > 3. NotANumberTest: Double.NaN isn't handled gracefully. > 4. StrokeShapeTest: createStrokedShape() behaves differently. > > Some of the examples may be caused by a single bug. I don't > have an idea what the causes are. > By any chance, have any of the them already fixed? > > Thanks, > Hiroshi > > > -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt -------------- next part -------------- diff --git a/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java b/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java --- a/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java +++ b/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java @@ -171,9 +171,9 @@ float lw; if (thin) { if (antialias) { - lw = 0.5f; + lw = userSpaceLineWidth(at, 0.5f); } else { - lw = 1.0f; + lw = userSpaceLineWidth(at, 1.0f); } } else { lw = bs.getLineWidth(); @@ -187,6 +187,67 @@ bs.getDashArray(), bs.getDashPhase(), lsink); + } + + private float userSpaceLineWidth(AffineTransform at, float lw) { + double widthScale; + if ((at.getType() & (AffineTransform.TYPE_GENERAL_TRANSFORM | + AffineTransform.TYPE_GENERAL_SCALE)) != 0) { + widthScale = Math.sqrt(at.getDeterminant()); + } else { + /* First calculate the "maximum scale" of this transform. */ + double A = at.getScaleX(); // m00 + double C = at.getShearX(); // m01 + double B = at.getShearY(); // m10 + double D = at.getScaleY(); // m11 + + /* + * Given a 2 x 2 affine matrix [ A B ] such that + * [ C D ] + * v' = [x' y'] = [Ax + Cy, Bx + Dy], we want to + * find the maximum magnitude (norm) of the vector v' + * with the constraint (x^2 + y^2 = 1). + * The equation to maximize is + * |v'| = sqrt((Ax+Cy)^2+(Bx+Dy)^2) + * or |v'| = sqrt((AA+BB)x^2 + 2(AC+BD)xy + (CC+DD)y^2). + * Since sqrt is monotonic we can maximize |v'|^2 + * instead and plug in the substitution y = sqrt(1 - x^2). + * Trigonometric equalities can then be used to get + * rid of most of the sqrt terms. + */ + double EA = A*A + B*B; // x^2 coefficient + double EB = 2*(A*C + B*D); // xy coefficient + double EC = C*C + D*D; // y^2 coefficient + + /* + * There is a lot of calculus omitted here. + * + * Conceptually, in the interests of understanding the + * terms that the calculus produced we can consider + * that EA and EC end up providing the lengths along + * the major axes and the hypot term ends up being an + * adjustment for the additional length along the off-axis + * angle of rotated or sheared ellipses as well as an + * adjustment for the fact that the equation below + * averages the two major axis lengths. (Notice that + * the hypot term contains a part which resolves to the + * difference of these two axis lengths in the absence + * of rotation.) + * + * In the calculus, the ratio of the EB and (EA-EC) terms + * ends up being the tangent of 2*theta where theta is + * the angle that the long axis of the ellipse makes + * with the horizontal axis. Thus, this equation is + * calculating the length of the hypotenuse of a triangle + * along that axis. + */ + double hypot = Math.sqrt(EB*EB + (EA-EC)*(EA-EC)); + + /* sqrt omitted, compare to squared limits below. */ + double widthsquared = ((EA + EC + hypot)/2.0); + widthScale = Math.sqrt(widthsquared); + } + return (float) (lw / widthScale); } void strokeTo(Shape src, From roman.kennke at aicas.com Tue Mar 3 07:17:26 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 16:17:26 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: References: Message-ID: <1236093446.22103.8.camel@moonlight> Hi there, > 4. StrokeShapeTest: createStrokedShape() behaves differently. It turns out that there is an arithmetic overflow here. The pisces stroker does a stupid thing here. First it initializes the scaledLineWidth like this: this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); which is infact wrong, because in fixed point arithmetics you need to apply >> 16, because the decimal moves. However, in another place it uses this factor like this: dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); which makes it ok in the end. The only problem is, that we start with an incredibly large number, then multiply another incredibly large number and _after_ that (when the overflow already occured) do the >> 16. The patch moves the >> 16 to the initialization of scaledLineWidth, which makes it clearer, more correct and even a tad faster, because we do the second calculation at least 2x. Of course, the real fix here would be to turn the whole implementation into floating point. This particular testcase is fixed by this patch, and the 'range of correct behaviour' is much large now, but if you deal with very large numbers in your shapes, then you will get trouble again. /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt -------------- next part -------------- diff --git a/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java b/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java --- a/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java +++ b/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java @@ -171,9 +171,9 @@ float lw; if (thin) { if (antialias) { - lw = 0.5f; + lw = userSpaceLineWidth(at, 0.5f); } else { - lw = 1.0f; + lw = userSpaceLineWidth(at, 1.0f); } } else { lw = bs.getLineWidth(); @@ -187,6 +187,67 @@ bs.getDashArray(), bs.getDashPhase(), lsink); + } + + private float userSpaceLineWidth(AffineTransform at, float lw) { + double widthScale; + if ((at.getType() & (AffineTransform.TYPE_GENERAL_TRANSFORM | + AffineTransform.TYPE_GENERAL_SCALE)) != 0) { + widthScale = Math.sqrt(at.getDeterminant()); + } else { + /* First calculate the "maximum scale" of this transform. */ + double A = at.getScaleX(); // m00 + double C = at.getShearX(); // m01 + double B = at.getShearY(); // m10 + double D = at.getScaleY(); // m11 + + /* + * Given a 2 x 2 affine matrix [ A B ] such that + * [ C D ] + * v' = [x' y'] = [Ax + Cy, Bx + Dy], we want to + * find the maximum magnitude (norm) of the vector v' + * with the constraint (x^2 + y^2 = 1). + * The equation to maximize is + * |v'| = sqrt((Ax+Cy)^2+(Bx+Dy)^2) + * or |v'| = sqrt((AA+BB)x^2 + 2(AC+BD)xy + (CC+DD)y^2). + * Since sqrt is monotonic we can maximize |v'|^2 + * instead and plug in the substitution y = sqrt(1 - x^2). + * Trigonometric equalities can then be used to get + * rid of most of the sqrt terms. + */ + double EA = A*A + B*B; // x^2 coefficient + double EB = 2*(A*C + B*D); // xy coefficient + double EC = C*C + D*D; // y^2 coefficient + + /* + * There is a lot of calculus omitted here. + * + * Conceptually, in the interests of understanding the + * terms that the calculus produced we can consider + * that EA and EC end up providing the lengths along + * the major axes and the hypot term ends up being an + * adjustment for the additional length along the off-axis + * angle of rotated or sheared ellipses as well as an + * adjustment for the fact that the equation below + * averages the two major axis lengths. (Notice that + * the hypot term contains a part which resolves to the + * difference of these two axis lengths in the absence + * of rotation.) + * + * In the calculus, the ratio of the EB and (EA-EC) terms + * ends up being the tangent of 2*theta where theta is + * the angle that the long axis of the ellipse makes + * with the horizontal axis. Thus, this equation is + * calculating the length of the hypotenuse of a triangle + * along that axis. + */ + double hypot = Math.sqrt(EB*EB + (EA-EC)*(EA-EC)); + + /* sqrt omitted, compare to squared limits below. */ + double widthsquared = ((EA + EC + hypot)/2.0); + widthScale = Math.sqrt(widthsquared); + } + return (float) (lw / widthScale); } void strokeTo(Shape src, From roman.kennke at aicas.com Tue Mar 3 07:23:53 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 16:23:53 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236093446.22103.8.camel@moonlight> References: <1236093446.22103.8.camel@moonlight> Message-ID: <1236093833.22103.9.camel@moonlight> Sorry, wrong patch. Here it comes. /Roman Am Dienstag, den 03.03.2009, 16:17 +0100 schrieb Roman Kennke: > Hi there, > > > 4. StrokeShapeTest: createStrokedShape() behaves differently. > > It turns out that there is an arithmetic overflow here. The pisces > stroker does a stupid thing here. First it initializes the > scaledLineWidth like this: > > this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); > > which is infact wrong, because in fixed point arithmetics you need to > apply >> 16, because the decimal moves. > > However, in another place it uses this factor like this: > > dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); > dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); > > which makes it ok in the end. The only problem is, that we start with an > incredibly large number, then multiply another incredibly large number > and _after_ that (when the overflow already occured) do the >> 16. The > patch moves the >> 16 to the initialization of scaledLineWidth, which > makes it clearer, more correct and even a tad faster, because we do the > second calculation at least 2x. > > Of course, the real fix here would be to turn the whole implementation > into floating point. This particular testcase is fixed by this patch, > and the 'range of correct behaviour' is much large now, but if you deal > with very large numbers in your shapes, then you will get trouble again. > > /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt -------------- next part -------------- diff --git a/src/share/classes/sun/java2d/pisces/Stroker.java b/src/share/classes/sun/java2d/pisces/Stroker.java --- a/src/share/classes/sun/java2d/pisces/Stroker.java +++ b/src/share/classes/sun/java2d/pisces/Stroker.java @@ -181,7 +181,7 @@ Transform4 transform) { this.lineWidth = lineWidth; this.lineWidth2 = lineWidth >> 1; - this.scaledLineWidth2 = (long)transform.m00*lineWidth2; + this.scaledLineWidth2 = ((long)transform.m00*lineWidth2) >> 16; this.capStyle = capStyle; this.joinStyle = joinStyle; this.miterLimit = miterLimit; @@ -243,8 +243,8 @@ if (ilen == 0) { dx = dy = 0; } else { - dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); - dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); + dx = (int)( (ly*scaledLineWidth2)/ilen); + dy = (int)(-(lx*scaledLineWidth2)/ilen); } } else { double dlx = x1 - x0; From roman.kennke at aicas.com Tue Mar 3 07:38:59 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 16:38:59 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: References: Message-ID: <1236094739.22103.16.camel@moonlight> Hi again, > 3. NotANumberTest: Double.NaN isn't handled gracefully. The problem here is that the renderer in OpenJDK is originally written for ME and uses fixed point arithmetic. I can't think of a quick fix, because shapes are processed by iterating over them, this means, by the time we hit the NaN, we might already have processed (==rendered) some of the shape, but your test seems to suggest that you expect nothing to be rendered in this case. The specification doesn't say anything about this particular problem (at least I can't find anything). One solution would be to pre-check all the incoming shapes for NaN or other invalid values (infinity, etc) and not go into the iteration at all. But this seems like quite a big overhead to me. We could also make the floating->fixed conversion to throw an exception, that we would have to catch higher up in the call tree and rollback what has already been rendered (which doesn't seem easy either, because in the case of strokeTo() this lies outside of the pisces renderer). /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From Jim.A.Graham at Sun.COM Tue Mar 3 12:11:57 2009 From: Jim.A.Graham at Sun.COM (Jim Graham) Date: Tue, 03 Mar 2009 12:11:57 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236094739.22103.16.camel@moonlight> References: <1236094739.22103.16.camel@moonlight> Message-ID: <0KFY006X75FW94C0@fe-sfbay-09.sun.com> I think the shape iterators used in the other pipelines (which should be visible as it was code that we wrote, even if it isn't used for Pisces) took a more flexible approach, testing each segment for NaN and overflow and ignoring individual segments until the shape became finite again. This happens somewhere in the src/share/classes/sun/java2d/pipe classes... ...jim Roman Kennke wrote: > Hi again, > >> 3. NotANumberTest: Double.NaN isn't handled gracefully. > > The problem here is that the renderer in OpenJDK is originally written > for ME and uses fixed point arithmetic. I can't think of a quick fix, > because shapes are processed by iterating over them, this means, by the > time we hit the NaN, we might already have processed (==rendered) some > of the shape, but your test seems to suggest that you expect nothing to > be rendered in this case. The specification doesn't say anything about > this particular problem (at least I can't find anything). One solution > would be to pre-check all the incoming shapes for NaN or other invalid > values (infinity, etc) and not go into the iteration at all. But this > seems like quite a big overhead to me. We could also make the > floating->fixed conversion to throw an exception, that we would have to > catch higher up in the call tree and rollback what has already been > rendered (which doesn't seem easy either, because in the case of > strokeTo() this lies outside of the pisces renderer). > > /Roman From Jim.A.Graham at Sun.COM Tue Mar 3 12:13:28 2009 From: Jim.A.Graham at Sun.COM (Jim Graham) Date: Tue, 03 Mar 2009 12:13:28 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236093446.22103.8.camel@moonlight> References: <1236093446.22103.8.camel@moonlight> Message-ID: <0KFY006L35IE94D0@fe-sfbay-09.sun.com> I was aware that the code was playing with overflow fire when I ported it a while back. I figured the real fix was to eventually switch to float instead, as per your last suggestion - at least for the line widening code. Any takers? ...jim Roman Kennke wrote: > Hi there, > >> 4. StrokeShapeTest: createStrokedShape() behaves differently. > > It turns out that there is an arithmetic overflow here. The pisces > stroker does a stupid thing here. First it initializes the > scaledLineWidth like this: > > this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); > > which is infact wrong, because in fixed point arithmetics you need to > apply >> 16, because the decimal moves. > > However, in another place it uses this factor like this: > > dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); > dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); > > which makes it ok in the end. The only problem is, that we start with an > incredibly large number, then multiply another incredibly large number > and _after_ that (when the overflow already occured) do the >> 16. The > patch moves the >> 16 to the initialization of scaledLineWidth, which > makes it clearer, more correct and even a tad faster, because we do the > second calculation at least 2x. > > Of course, the real fix here would be to turn the whole implementation > into floating point. This particular testcase is fixed by this patch, > and the 'range of correct behaviour' is much large now, but if you deal > with very large numbers in your shapes, then you will get trouble again. > > /Roman > From roman.kennke at aicas.com Tue Mar 3 12:27:02 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 21:27:02 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <0KFY006X75FW94C0@fe-sfbay-09.sun.com> References: <1236094739.22103.16.camel@moonlight> <0KFY006X75FW94C0@fe-sfbay-09.sun.com> Message-ID: <1236112022.22103.21.camel@moonlight> Hi Jim, > I think the shape iterators used in the other pipelines (which should be > visible as it was code that we wrote, even if it isn't used for Pisces) > took a more flexible approach, testing each segment for NaN and overflow > and ignoring individual segments until the shape became finite again. > This happens somewhere in the src/share/classes/sun/java2d/pipe classes... Ah cool. In this case we can implement it quite easily as in the attached patch. Seems the output is 1:1 the same as with the non-free JDK6. /Roman > > ...jim > > Roman Kennke wrote: > > Hi again, > > > >> 3. NotANumberTest: Double.NaN isn't handled gracefully. > > > > The problem here is that the renderer in OpenJDK is originally written > > for ME and uses fixed point arithmetic. I can't think of a quick fix, > > because shapes are processed by iterating over them, this means, by the > > time we hit the NaN, we might already have processed (==rendered) some > > of the shape, but your test seems to suggest that you expect nothing to > > be rendered in this case. The specification doesn't say anything about > > this particular problem (at least I can't find anything). One solution > > would be to pre-check all the incoming shapes for NaN or other invalid > > values (infinity, etc) and not go into the iteration at all. But this > > seems like quite a big overhead to me. We could also make the > > floating->fixed conversion to throw an exception, that we would have to > > catch higher up in the call tree and rollback what has already been > > rendered (which doesn't seem easy either, because in the case of > > strokeTo() this lies outside of the pisces renderer). > > > > /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt -------------- next part -------------- diff --git a/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java b/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java --- a/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java +++ b/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java @@ -236,13 +236,17 @@ while (!pi.isDone()) { switch (pi.currentSegment(coords)) { case PathIterator.SEG_MOVETO: - lsink.moveTo(FloatToS15_16(coords[0]), - FloatToS15_16(coords[1])); + if (coordOk(coords[0]) && coordOk(coords[1])) { + lsink.moveTo(FloatToS15_16(coords[0]), + FloatToS15_16(coords[1])); + } break; case PathIterator.SEG_LINETO: - lsink.lineJoin(); - lsink.lineTo(FloatToS15_16(coords[0]), - FloatToS15_16(coords[1])); + if (coordOk(coords[0]) && coordOk(coords[1])) { + lsink.lineJoin(); + lsink.lineTo(FloatToS15_16(coords[0]), + FloatToS15_16(coords[1])); + } break; case PathIterator.SEG_CLOSE: lsink.close(); @@ -253,6 +257,10 @@ pi.next(); } lsink.end(); + } + + private boolean coordOk(float coord) { + return (! Float.isNaN(coord)) && (! Float.isInfinite(coord)); } /** From roman.kennke at aicas.com Tue Mar 3 12:27:46 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 21:27:46 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <0KFY006L35IE94D0@fe-sfbay-09.sun.com> References: <1236093446.22103.8.camel@moonlight> <0KFY006L35IE94D0@fe-sfbay-09.sun.com> Message-ID: <1236112066.22103.22.camel@moonlight> Hi Jim, > I was aware that the code was playing with overflow fire when I ported > it a while back. I figured the real fix was to eventually switch to > float instead, as per your last suggestion - at least for the line > widening code. Any takers? Yeah I can do this, but it will surely take some time. In the meantime, should we push the proposed fix as an interim solution? /Roman > > ...jim > > Roman Kennke wrote: > > Hi there, > > > >> 4. StrokeShapeTest: createStrokedShape() behaves differently. > > > > It turns out that there is an arithmetic overflow here. The pisces > > stroker does a stupid thing here. First it initializes the > > scaledLineWidth like this: > > > > this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); > > > > which is infact wrong, because in fixed point arithmetics you need to > > apply >> 16, because the decimal moves. > > > > However, in another place it uses this factor like this: > > > > dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); > > dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); > > > > which makes it ok in the end. The only problem is, that we start with an > > incredibly large number, then multiply another incredibly large number > > and _after_ that (when the overflow already occured) do the >> 16. The > > patch moves the >> 16 to the initialization of scaledLineWidth, which > > makes it clearer, more correct and even a tad faster, because we do the > > second calculation at least 2x. > > > > Of course, the real fix here would be to turn the whole implementation > > into floating point. This particular testcase is fixed by this patch, > > and the 'range of correct behaviour' is much large now, but if you deal > > with very large numbers in your shapes, then you will get trouble again. > > > > /Roman > > -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From roman.kennke at aicas.com Tue Mar 3 12:29:01 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 21:29:01 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: References: Message-ID: <1236112141.22103.23.camel@moonlight> Hi all, > 1. ScaleTest: A circle is rendered in a 'C' shape. > 2. ThinLineTest: A line < 1 pixel disappears. > 3. NotANumberTest: Double.NaN isn't handled gracefully. > 4. StrokeShapeTest: createStrokedShape() behaves differently. Two things we should do IMO: 1. Integrate all the tests, including the older tests, into the jtreg testsuite of OpenJDK. 2. File bugreports in the fresh bugzilla to see if it actually works :-) /Roman > > Some of the examples may be caused by a single bug. I don't have an > idea what the causes are. > By any chance, have any of the them already fixed? > > Thanks, > Hiroshi > > -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From Phil.Race at Sun.COM Tue Mar 3 12:48:18 2009 From: Phil.Race at Sun.COM (Phil Race) Date: Tue, 03 Mar 2009 12:48:18 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236112141.22103.23.camel@moonlight> References: <1236112141.22103.23.camel@moonlight> Message-ID: <49AD9792.5040205@sun.com> Roman, Roman Kennke wrote: > Hi all, > >> 1. ScaleTest: A circle is rendered in a 'C' shape. >> 2. ThinLineTest: A line < 1 pixel disappears. >> 3. NotANumberTest: Double.NaN isn't handled gracefully. >> 4. StrokeShapeTest: createStrokedShape() behaves differently. > > Two things we should do IMO: > 1. Integrate all the tests, including the older tests, into the jtreg > testsuite of OpenJDK. The purpose of the tests is to verify that fixes work. So we don't integrate tests in advance of the fix since they would fail. Instead they live in the bug report. > 2. File bugreports in the fresh bugzilla to see if it actually works :-) The announcement for the new bugzilla is that for now its intended to be the new way to submit patches. [For those who missed it that means you no longer send a PATCH email to the dev list] See http://mail.openjdk.java.net/pipermail/announce/2009-February/000069.html ---------------------- "Just a reminder: at this point, this instance is only for tracking contributions from those developers without push permissions. It will soon expand to track most if not all of the OpenJDK bugs. General bugs should continue to be filed through: http://bugs.sun.com" ------------------------- ie my reading is that if its just a bug report that's being submitted, it should not go there - yet! For the cases where where you have a proposed fix, then use bugzilla, for the ones you don't submitting each of those tests as a bug report into bugs.sun.com is the right thing to do at the moment. -phil. > > /Roman > >> Some of the examples may be caused by a single bug. I don't have an >> idea what the causes are. >> By any chance, have any of the them already fixed? >> >> Thanks, >> Hiroshi >> >> From roman.kennke at aicas.com Tue Mar 3 13:02:15 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 03 Mar 2009 22:02:15 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <49AD9792.5040205@sun.com> References: <1236112141.22103.23.camel@moonlight> <49AD9792.5040205@sun.com> Message-ID: <1236114135.22103.29.camel@moonlight> Hi Phil, > >> 1. ScaleTest: A circle is rendered in a 'C' shape. > >> 2. ThinLineTest: A line < 1 pixel disappears. > >> 3. NotANumberTest: Double.NaN isn't handled gracefully. > >> 4. StrokeShapeTest: createStrokedShape() behaves differently. > > > > Two things we should do IMO: > > 1. Integrate all the tests, including the older tests, into the jtreg > > testsuite of OpenJDK. > > > The purpose of the tests is to verify that fixes work. > So we don't integrate tests in advance of the fix since > they would fail. Instead they live in the bug report. Ok. Are the testcases of former bug reports of Hiroshi (that have already been fixed? Dunno about the miter join bug though.) been integrated into OpenJDK? > > 2. File bugreports in the fresh bugzilla to see if it actually > works :-) > "Just a reminder: at this point, this instance is only for tracking > contributions from those developers without push permissions. It will > soon expand to track most if not all of the OpenJDK bugs. General > bugs > should continue to be filed through: > > http://bugs.sun.com" > ------------------------- > > ie my reading is that if its just a bug report that's being submitted, > it should not go there - yet! > > For the cases where where you have a proposed fix, then use bugzilla, for > the ones you don't submitting each of those tests as a bug report into bugs.sun.com > is the right thing to do at the moment. Ok. The announcement also says 'contributions from those developers without push permissions'. This is interesting, as it excludes people like me, who have push access, but I cannot really make use of bugs.sun.com either. So I will continue to send emails instead. /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From Phil.Race at Sun.COM Tue Mar 3 13:24:41 2009 From: Phil.Race at Sun.COM (Phil Race) Date: Tue, 03 Mar 2009 13:24:41 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236114135.22103.29.camel@moonlight> References: <1236112141.22103.23.camel@moonlight> <49AD9792.5040205@sun.com> <1236114135.22103.29.camel@moonlight> Message-ID: <49ADA019.8000602@sun.com> Hello Roman, Roman Kennke wrote: >> >> The purpose of the tests is to verify that fixes work. >> So we don't integrate tests in advance of the fix since >> they would fail. Instead they live in the bug report. > > Ok. Are the testcases of former bug reports of Hiroshi (that have > already been fixed? Dunno about the miter join bug though.) been > integrated into OpenJDK? Any fixes that are pushed will have a test case pushed too along with it. That's a "big rule". The miter line join fix hasn't been pushed yet. It almost got lost in the email (nice segue to one of my points below) because it didn't say PATCH. >> >> For the cases where where you have a proposed fix, then use bugzilla, for >> the ones you don't submitting each of those tests as a bug report into bugs.sun.com >> is the right thing to do at the moment. > > Ok. The announcement also says 'contributions from those developers > without push permissions'. This is interesting, as it excludes people > like me, who have push access, but I cannot really make use of > bugs.sun.com either. So I will continue to send emails instead. I think the intent is that patches should NOT be sent in email, as bugzilla is now available to track those patches so that they don't get lost in the email and its easier to see where we are WRT to integrating contributions. So you should use bugzilla for submitting patches, even if you ultimately push them. Patches already in process likely don't need to be retrospectively added to bugzilla unless you want to do that. -phil. From Phil.Race at Sun.COM Tue Mar 3 15:52:28 2009 From: Phil.Race at Sun.COM (Phil Race) Date: Tue, 03 Mar 2009 15:52:28 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: References: <1236112141.22103.23.camel@moonlight> <49AD9792.5040205@sun.com> <1236114135.22103.29.camel@moonlight> <49ADA019.8000602@sun.com> Message-ID: <49ADC2BC.20302@sun.com> Hiroshi Yamauchi wrote: \ > > So, an email should say "PATCH" somewhere in it? If that's the > convention, it's all fine. Yes, that was the process, but as of last week its been replaced by the new process to submit the patch as an attachment into the openjdk bugzilla database. http://mail.openjdk.java.net/pipermail/discuss/2009-February/001593.html -phil. From yamauchi at google.com Tue Mar 3 15:44:40 2009 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Tue, 3 Mar 2009 15:44:40 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <49ADA019.8000602@sun.com> References: <1236112141.22103.23.camel@moonlight> <49AD9792.5040205@sun.com> <1236114135.22103.29.camel@moonlight> <49ADA019.8000602@sun.com> Message-ID: On Tue, Mar 3, 2009 at 1:24 PM, Phil Race wrote: > Hello Roman, > > Roman Kennke wrote: >>> >>> The purpose of the tests is to verify that fixes work. >>> So we don't integrate tests in advance of the fix since >>> they would fail. Instead they live in the bug report. >> >> Ok. Are the testcases of former bug reports of Hiroshi (that have >> already been fixed? Dunno about the miter join bug though.) been >> integrated into OpenJDK? > > Any fixes that are pushed will have a test case pushed too > along with it. That's a "big rule". The miter line join fix > hasn't been pushed yet. It almost got lost in the email (nice > segue to one of my points below) because it didn't say PATCH. So, an email should say "PATCH" somewhere in it? If that's the convention, it's all fine. > >>> >>> For the cases where where you have a proposed fix, then use bugzilla, for >>> the ones you don't submitting each of those tests as a bug report into >>> bugs.sun.com >>> is the right thing to do at the moment. >> >> Ok. The announcement also says 'contributions from those developers >> without push permissions'. This is interesting, as it excludes people >> like me, who have push access, but I cannot really make use of >> bugs.sun.com either. So I will continue to send emails instead. > > I think the intent is that patches should NOT be sent in email, > as bugzilla is now available to track those patches so that they > don't get lost in the email and its easier to see where we are WRT > to integrating contributions. > > So you should use bugzilla for submitting patches, even if you > ultimately push them. Patches already in process likely don't > need to be retrospectively added to bugzilla unless you want to > do that. > > -phil. > From yamauchi at google.com Tue Mar 3 15:33:19 2009 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Tue, 3 Mar 2009 15:33:19 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236074991.6360.7.camel@moonlight> References: <0KFW00AMEPNM5GF0@fe-sfbay-09.sun.com> <1236074991.6360.7.camel@moonlight> Message-ID: Hi Roman, First off, thanks for taking a look at the issues. I confirmed that all the tests that I have pass with your patches applied. On Tue, Mar 3, 2009 at 2:09 AM, Roman Kennke wrote: > Hi there, > >> I believe that the minX and maxX parameters to that function are >> relative to the origin of the raster coordinates which means you would >> add each of them to the raster's origin (rasterMinX) to get an absolute >> min/maxX. ?So they look correct as written. >> >> If this change fixes the problem, then it is a side effect of moving the >> right edge of the "startRow" call out to the right some more. ?That >> could indicate that perhaps maxX was not calculated correctly in the >> first place and so expanding it out "covers up" the problem. > > I had a look at that code. It seems like minX and maxX are calculated > correctly. However, in emitRow, we calculate x0 and x1 from that, and > then call the cache.startRow() with that to start a new row in the RLE > cache. It seems like the cache (or the rendering code that reads the > cache) interprets x1 to be the first pixel right of the bounding box, > while the emitRow() function needs that pixel _inside_ the bounding box > (it does while (srcIdx <= maxX) { .. } ). The following patch fixes the > problem for me: Aha. > > diff --git a/src/share/classes/sun/java2d/pisces/Renderer.java > b/src/share/classes/sun/java2d/pisces/Renderer.java > --- a/src/share/classes/sun/java2d/pisces/Renderer.java > +++ b/src/share/classes/sun/java2d/pisces/Renderer.java > @@ -634,7 +634,7 @@ > ? ? ? ? ? ? ? ? int x0 = minX + (rasterMinX >> > SUBPIXEL_LG_POSITIONS_X); > ? ? ? ? ? ? ? ? int x1 = maxX + (rasterMinX >> > SUBPIXEL_LG_POSITIONS_X); > > - ? ? ? ? ? ? ? ?cache.startRow(y, x0, x1); > + ? ? ? ? ? ? ? ?cache.startRow(y, x0, x1 + 1); > ? ? ? ? ? ? ? ? int srcIdx = minX; > > ? ? ? ? ? ? ? ? // Perform run-length encoding > (END) > > /Roman > > -- > Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org > aicas Allerton Interworks Computer Automated Systems GmbH > Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany > http://www.aicas.com ? * Tel: +49-721-663 968-48 > USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe > Gesch?ftsf?hrer: Dr. James J. Hunt > > > Hiroshi From yamauchi at google.com Tue Mar 3 15:42:21 2009 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Tue, 3 Mar 2009 15:42:21 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236112141.22103.23.camel@moonlight> References: <1236112141.22103.23.camel@moonlight> Message-ID: (Roman, thanks again for your work!) I'd like to have the patches go into OpenJDK with the tests one way or another though there may still be a need to doublecheck that I'm covered by SCA. Thanks, Hiroshi On Tue, Mar 3, 2009 at 12:29 PM, Roman Kennke wrote: > Hi all, > >> 1. ScaleTest: A circle is rendered in a 'C' shape. >> 2. ThinLineTest: A line < 1 pixel disappears. >> 3. NotANumberTest: Double.NaN isn't handled gracefully. >> 4. StrokeShapeTest: createStrokedShape() behaves differently. > > Two things we should do IMO: > 1. Integrate all the tests, including the older tests, into the jtreg > testsuite of OpenJDK. > 2. File bugreports in the fresh bugzilla to see if it actually works :-) > > /Roman > >> >> Some of the examples may be caused by a single bug. I don't have an >> idea what the causes are. >> By any chance, have any of the them already fixed? >> >> Thanks, >> Hiroshi >> >> > -- > Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org > aicas Allerton Interworks Computer Automated Systems GmbH > Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany > http://www.aicas.com ? * Tel: +49-721-663 968-48 > USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe > Gesch?ftsf?hrer: Dr. James J. Hunt > > > From yamauchi at google.com Tue Mar 3 15:47:32 2009 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Tue, 3 Mar 2009 15:47:32 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236094739.22103.16.camel@moonlight> References: <1236094739.22103.16.camel@moonlight> Message-ID: On Tue, Mar 3, 2009 at 7:38 AM, Roman Kennke wrote: > Hi again, > >> 3. NotANumberTest: Double.NaN isn't handled gracefully. > > The problem here is that the renderer in OpenJDK is originally written > for ME and uses fixed point arithmetic. I can't think of a quick fix, > because shapes are processed by iterating over them, this means, by the > time we hit the NaN, we might already have processed (==rendered) some > of the shape, but your test seems to suggest that you expect nothing to > be rendered in this case. The specification doesn't say anything about > this particular problem (at least I can't find anything). One solution > would be to pre-check all the incoming shapes for NaN or other invalid > values (infinity, etc) and not go into the iteration at all. But this > seems like quite a big overhead to me. We could also make the > floating->fixed conversion to throw an exception, that we would have to > catch higher up in the call tree and rollback what has already been > rendered (which doesn't seem easy either, because in the case of > strokeTo() this lies outside of the pisces renderer). The bug analyses sound right to me (though I don't know the code well enough to fully appreciate :) Thanks, Hiroshi > > /Roman > -- > Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org > aicas Allerton Interworks Computer Automated Systems GmbH > Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany > http://www.aicas.com ? * Tel: +49-721-663 968-48 > USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe > Gesch?ftsf?hrer: Dr. James J. Hunt > > > From lana.steuck at sun.com Wed Mar 4 12:23:10 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Wed, 04 Mar 2009 20:23:10 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d: 5 new changesets Message-ID: <20090304202310.B1BB7E79F@hg.openjdk.java.net> Changeset: e8a2a4d18777 Author: xdono Date: 2009-01-29 13:20 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/rev/e8a2a4d18777 Added tag jdk7-b45 for changeset 99846f001ca2 ! .hgtags Changeset: d7744e86dedc Author: xdono Date: 2009-02-05 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/rev/d7744e86dedc Added tag jdk7-b46 for changeset e8a2a4d18777 ! .hgtags Changeset: 4ae9f4bfdb98 Author: xdono Date: 2009-02-12 14:00 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/rev/4ae9f4bfdb98 Added tag jdk7-b47 for changeset d7744e86dedc ! .hgtags Changeset: aee93a8992d2 Author: xdono Date: 2009-02-19 14:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/rev/aee93a8992d2 Added tag jdk7-b48 for changeset 4ae9f4bfdb98 ! .hgtags Changeset: 5111e13e44e5 Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/rev/5111e13e44e5 Added tag jdk7-b49 for changeset aee93a8992d2 ! .hgtags From lana.steuck at sun.com Wed Mar 4 12:25:58 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Wed, 04 Mar 2009 20:25:58 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/corba: 5 new changesets Message-ID: <20090304202602.89E96E7A4@hg.openjdk.java.net> Changeset: 1691dbfc08f8 Author: xdono Date: 2009-01-29 13:20 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/corba/rev/1691dbfc08f8 Added tag jdk7-b45 for changeset 68814aa5b44b ! .hgtags Changeset: 167ad0164301 Author: xdono Date: 2009-02-05 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/corba/rev/167ad0164301 Added tag jdk7-b46 for changeset 1691dbfc08f8 ! .hgtags Changeset: 0be222241fd4 Author: xdono Date: 2009-02-12 14:00 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/corba/rev/0be222241fd4 Added tag jdk7-b47 for changeset 167ad0164301 ! .hgtags Changeset: d70978bc64bc Author: xdono Date: 2009-02-19 14:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/corba/rev/d70978bc64bc Added tag jdk7-b48 for changeset 0be222241fd4 ! .hgtags Changeset: 0edbd0074b02 Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/corba/rev/0edbd0074b02 Added tag jdk7-b49 for changeset d70978bc64bc ! .hgtags From lana.steuck at sun.com Wed Mar 4 12:30:55 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Wed, 04 Mar 2009 20:30:55 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/hotspot: 70 new changesets Message-ID: <20090304203307.B2B4CE7A9@hg.openjdk.java.net> Changeset: 16bb38eeda35 Author: xdono Date: 2009-01-29 13:20 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/16bb38eeda35 Added tag jdk7-b45 for changeset 945bf7540697 ! .hgtags Changeset: ba02d80fc550 Author: xdono Date: 2009-02-05 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/ba02d80fc550 Added tag jdk7-b46 for changeset 16bb38eeda35 ! .hgtags Changeset: 3cd5c5b027b1 Author: trims Date: 2008-12-23 19:28 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/3cd5c5b027b1 6788797: Fork HS14 to HS15 - renumber Major and build numbers of JVM Summary: fork Hotspot 15 - redo verisoning numbers Reviewed-by: jcoomes ! make/hotspot_version Changeset: 6d8fc951eb25 Author: kvn Date: 2008-12-22 15:43 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/6d8fc951eb25 6778657: Casts in SharedRuntime::f2i, f2l, d2i and d2l rely on undefined C++ behaviour Summary: Replaces SharedRuntime::f2i et al with versions that should work Reviewed-by: never Contributed-by: gbenson at redhat.com ! src/share/vm/runtime/sharedRuntime.cpp + test/compiler/6778657/Test.java Changeset: 9656bebe85a7 Author: kvn Date: 2008-12-22 16:53 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/9656bebe85a7 6778662: fixes 64-bits libraries directory search paths on linux Summary: Fixes 64-bits libraries directory search paths. Reviewed-by: never Contributed-by: langel at redhat.com ! src/os/linux/vm/os_linux.cpp Changeset: 1a767c61ad01 Author: never Date: 2009-01-06 16:10 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/1a767c61ad01 Merge Changeset: dabd8d202164 Author: coleenp Date: 2008-12-23 06:16 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/dabd8d202164 4997835: RFE: crash dump will only be created when running w/ -XX:+ShowMessageBoxOnError Summary: Using UseOSErrorReporting will provide both an hs_err file and a crash dump or debug launch and works better. Reviewed-by: xlu, acorn, poonam ! src/share/vm/utilities/vmError.cpp Changeset: db4caa99ef11 Author: xlu Date: 2008-12-24 13:06 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/db4caa99ef11 6787106: Hotspot 32 bit build fails on platforms having different definitions for intptr_t & int32_t Summary: Avoid casting between int32_t and intptr_t specifically for MasmAssembler::movptr in 32 bit platforms. Reviewed-by: jrose, kvn ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interpreterRT_x86_32.cpp ! src/cpu/x86/vm/runtime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/x86_32.ad ! src/share/vm/utilities/globalDefinitions_gcc.hpp ! src/share/vm/utilities/globalDefinitions_sparcWorks.hpp Changeset: 2328d1d3f8cf Author: xlu Date: 2008-12-24 19:13 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/2328d1d3f8cf 6781583: Hotspot build fails on linux 64 bit platform with gcc 4.3.2 Summary: Fixed the wrong cast between types since more restrictions are imposed by gcc 4.3.2 Reviewed-by: jcoomes, acorn, phh, never ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/x86/vm/jni_x86.h ! src/os/linux/vm/os_linux.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/libadt/port.hpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/oopsHierarchy.hpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/memprofiler.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/vmError.hpp Changeset: c81d2ef51ca3 Author: acorn Date: 2009-01-05 13:44 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/c81d2ef51ca3 4670071: loadClassInternal is too restrictive. Summary: VM support for deadlock fix. Library fix in 4735126. See API proposal. Reviewed-by: dholmes, blacklion ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/globals.hpp Changeset: a0401dc51d0b Author: acorn Date: 2009-01-08 16:27 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/a0401dc51d0b 6791656: nsk defclass0 asserts handles.hpp Reviewed-by: phh, xlu ! src/share/vm/classfile/systemDictionary.cpp Changeset: fc7ab6287598 Author: coleenp Date: 2009-01-09 14:39 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/fc7ab6287598 Merge ! src/os/linux/vm/os_linux.cpp ! src/share/vm/oops/constantPoolOop.cpp Changeset: e9be0e04635a Author: jmasa Date: 2009-01-06 07:05 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/e9be0e04635a 6689653: JMapPerm fails with UseConcMarkSweepIncGC and compressed oops off Summary: Added safe_object_iterate() for use by JMapPerm. Reviewed-by: tonyp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/services/heapDumper.cpp Changeset: 0af8b0718fc9 Author: jmasa Date: 2009-01-11 16:58 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/0af8b0718fc9 6692899: CMS: many vm.parallel_class_loading tests fail with assert "missing Printezis mark" Summary: The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition. Reviewed-by: ysr, dcubed ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/oops/constMethodKlass.cpp ! src/share/vm/oops/constMethodKlass.hpp ! src/share/vm/oops/constMethodOop.hpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolKlass.hpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 65de26b5ea82 Author: jcoomes Date: 2009-01-14 14:12 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/65de26b5ea82 Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 52a431267315 Author: coleenp Date: 2009-01-13 14:41 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/52a431267315 6791168: Fix invalid code in bytecodeInterpreter that can cause gcc ICE Summary: Fix compilation errors from latest gcc in CC_INTERP including offending missing void* cast. Reviewed-by: xlu ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.hpp Changeset: 4db4e58c16bd Author: xlu Date: 2009-01-13 12:08 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/4db4e58c16bd 6791815: Fix for 6471657 can cause deadlock on non-Solaris platforms when initializing direct buffer support Summary: Place the state transition inside the loop so that the VMThread could proceed for safepoint Reviewed-by: dholmes, never, acorn ! src/share/vm/prims/jni.cpp Changeset: 9250583801d2 Author: xlu Date: 2009-01-13 12:14 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/9250583801d2 Merge Changeset: 2ddbaf7b8e1c Author: xlu Date: 2009-01-13 14:49 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/2ddbaf7b8e1c Merge Changeset: c9004fe53695 Author: xlu Date: 2009-01-13 17:39 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/c9004fe53695 6792301: StackAlignmentInBytes not honored for compiled native methods Summary: Fixed the stack misalignment when generate_native_wrapper is called. Reviewed-by: never, kamg, kvn, phh ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: f6c0827e5919 Author: coleenp Date: 2009-01-15 12:44 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/f6c0827e5919 Merge Changeset: 818efdefcc99 Author: tonyp Date: 2009-01-16 13:02 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/818efdefcc99 6484956: G1: improve evacuation pause efficiency Summary: A bunch of performance optimizations to decrease GC pause times in G1. Reviewed-by: apetrusenko, jmasa, iveresov ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/includeDB_gc_shared Changeset: 2b1de1db9a9d Author: jcoomes Date: 2009-01-21 13:40 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/2b1de1db9a9d Merge Changeset: 37b3ca071522 Author: coleenp Date: 2009-01-14 20:14 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/37b3ca071522 6793825: Missing include dependancies for GCC without predefined headers Summary: With predefined headers off for gcc, some .inline.hpp files aren't included to make definition visible for inline functions Reviewed-by: jcoomes, xlu ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/includeDB_gc_parNew ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/includeDB_compiler2 ! src/share/vm/includeDB_core ! src/share/vm/includeDB_features Changeset: 8db2b3e46c38 Author: swamyv Date: 2009-01-14 19:45 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/8db2b3e46c38 6786948: SA on core file fails on solaris-amd64 if vm started with -XX:+StartAttachListener Reviewed-by: jjh, dcubed ! agent/src/os/linux/ps_core.c ! agent/src/os/solaris/proc/saproc.cpp Changeset: fc14734c5aec Author: swamyv Date: 2009-01-15 13:30 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/fc14734c5aec Merge Changeset: 40ee984935b9 Author: phh Date: 2009-01-21 11:14 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/40ee984935b9 6792705: Add JAR file to bootclasspath when using AggressiveOpts Summary: During argument processing, add alt-rt.jar to the bootclasspath between bootclasspath/p and default elements. Reviewed-by: xlu, coleenp ! src/share/vm/runtime/arguments.cpp Changeset: 99c597293e35 Author: coleenp Date: 2009-01-23 10:41 -0500 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/99c597293e35 Merge ! src/share/vm/gc_implementation/includeDB_gc_g1 Changeset: dc3ad84615cf Author: xlu Date: 2009-01-26 12:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/dc3ad84615cf 6795913: A few remaining wrong casts need to be fixed for building hotspot successfully on Mac OS. Summary: Use NULL_WORD in the places where intptr_t is expected due to incompatible types between intptr_t & int32_t Reviewed-by: phh, coleenp, never ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interpreterRT_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp Changeset: 5cfd8d19e546 Author: ysr Date: 2009-01-26 12:47 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/5cfd8d19e546 6786503: Overflow list performance can be improved Summary: Avoid overflow list walk in CMS & ParNew when it is unnecessary. Fix a couple of correctness issues, including a C-heap leak, in ParNew at the intersection of promotion failure, work queue overflow and object array chunking. Add stress testing option and related assertion checking. Reviewed-by: jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/includeDB_gc_parNew ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/runtime/globals.hpp Changeset: 4e400c36026f Author: iveresov Date: 2009-01-27 18:13 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/4e400c36026f 6783381: NUMA allocator: don't pretouch eden space with UseNUMA Summary: Moved pretouching to MutableSpace. Also MutableSpace now turns on page interleaving for the region it covers. Reviewed-by: jmasa, jcoomes ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.hpp Changeset: 5b39c489c39d Author: ysr Date: 2009-01-29 21:25 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/5b39c489c39d Merge ! src/share/vm/gc_implementation/includeDB_gc_parNew Changeset: 3f844a28c5f4 Author: trims Date: 2009-01-30 15:28 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/3f844a28c5f4 Merge Changeset: fcb923bad68e Author: trims Date: 2009-02-10 20:33 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/fcb923bad68e Merge Changeset: bcb33806d186 Author: xdono Date: 2009-02-12 14:00 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/bcb33806d186 Added tag jdk7-b47 for changeset fcb923bad68e ! .hgtags Changeset: d61c7c22b25c Author: xdono Date: 2009-02-19 14:08 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/d61c7c22b25c Added tag jdk7-b48 for changeset bcb33806d186 ! .hgtags Changeset: 23673011938d Author: ysr Date: 2009-01-30 14:17 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/23673011938d 6787254: Work queue capacity can be increased substantially on some platforms Summary: Increased the default and maximum size of the CMS marking stack and the size of the parallel workers' work queues in 64-bit mode. The latter was accomplished by an increase in the width of the Taskqueue's Age struct and its Tag field in 64-bit mode. Reviewed-by: jmasa, tonyp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 9a25e0c45327 Author: jmasa Date: 2009-01-31 00:15 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/9a25e0c45327 6792421: assert(_bitMap->isMarked(addr+size-1),inconsistent Printezis mark) Summary: The CMS concurrent precleaning and concurrent marking phases should work around classes that are undergoing redefinition. Reviewed-by: ysr, tonyp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/oops/cpCacheKlass.cpp ! src/share/vm/oops/cpCacheKlass.hpp ! src/share/vm/oops/cpCacheOop.hpp Changeset: a268411445d9 Author: ysr Date: 2009-02-04 15:42 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/a268411445d9 Merge Changeset: 82a980778b92 Author: never Date: 2009-02-05 11:42 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/82a980778b92 6793828: G1: invariant: queues are empty when activated Reviewed-by: jrose, kvn ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/memnode.cpp Changeset: 58054a18d735 Author: apetrusenko Date: 2009-02-06 01:38 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/58054a18d735 6484959: G1: introduce survivor spaces 6797754: G1: combined bugfix Summary: Implemented a policy to control G1 survivor space parameters. Reviewed-by: tonyp, iveresov ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/survRateGroup.cpp ! src/share/vm/gc_implementation/g1/survRateGroup.hpp ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/shared/ageTable.cpp ! src/share/vm/gc_implementation/shared/ageTable.hpp Changeset: 05c6d52fa7a9 Author: jmasa Date: 2009-02-08 13:18 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/05c6d52fa7a9 6690928: Use spinning in combination with yields for workstealing termination. Summary: Substitute a spin loop for most calls to yield() to reduce the stress on the system. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/oops/cpCacheKlass.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 1e458753107d Author: apetrusenko Date: 2009-02-09 17:33 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/1e458753107d 6802413: G1: G1FixedSurvivorSpaceSize should be converted into regions in calculate_survivors_policy() Reviewed-by: tonyp, jmasa ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: 773234c55e8c Author: ysr Date: 2009-02-09 12:26 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/773234c55e8c 6800586: -XX:+PrintGCDateStamps is using mt-unsafe localtime function Summary: replaced localtime() with localtime_r() on Solaris and Linux. Reviewed-by: apetrusenko, dholmes, jmasa ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp Changeset: fe3d7c11b4b7 Author: apetrusenko Date: 2009-02-10 18:39 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/fe3d7c11b4b7 6700941: G1: allocation spec missing for some G1 classes Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MMUTracker.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/utilities/workgroup.hpp Changeset: 96964ebdb154 Author: kvn Date: 2009-01-07 11:04 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/96964ebdb154 6782232: assert("CreateEx must be first instruction in block" ) Summary: Add the missing check for CreateEx. Add new notproduct flag VerifyRegisterAllocator. Reviewed-by: never ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/reg_split.cpp Changeset: 6c4cda924d2e Author: kvn Date: 2009-01-07 11:23 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/6c4cda924d2e 6790182: matcher.cpp:1375: assert(false,"bad AD file") Summary: Add a match rule for regD_low in regD definition. Reviewed-by: never ! src/cpu/sparc/vm/sparc.ad Changeset: 011517bbcd7b Author: kvn Date: 2009-01-13 11:10 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/011517bbcd7b 6784930: server jvm fails with assert(!n->is_SpillCopy(),"") Summary: Set minimum block frequency MIN_BLOCK_FREQUENCY 1.e-35f. Reviewed-by: never, rasbold ! src/share/vm/opto/gcm.cpp Changeset: 041fe019d769 Author: never Date: 2009-01-13 11:43 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/041fe019d769 6791132: bad control in autobox split code Reviewed-by: kvn ! src/share/vm/opto/memnode.cpp Changeset: 78144dc3db03 Author: never Date: 2009-01-13 14:02 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/78144dc3db03 Merge Changeset: 35ae4dd6c27c Author: never Date: 2009-01-14 14:12 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/35ae4dd6c27c 6788347: C2Compiler crash 6u7 Reviewed-by: kvn ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp Changeset: 48bb4a49b7ac Author: kvn Date: 2009-01-16 11:23 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/48bb4a49b7ac 6790209: server VM fails with assert(will_link,"_new: typeflow responsibility") Summary: Add missing code for reflection class loader in SystemDictionary::find(). Reviewed-by: never, jrose ! src/share/vm/classfile/systemDictionary.cpp Changeset: 465813e0303a Author: kvn Date: 2009-01-21 11:18 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/465813e0303a 6794939: assert(_base == OopPtr,"subclass must override cast_to_ptr_type") Summary: Fix the assert in TypeKlassPtr::cast_to_ptr_type(). Reviewed-by: never ! src/share/vm/opto/type.cpp Changeset: 3b5ac9e7e6ea Author: twisti Date: 2009-01-26 16:22 +0100 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/3b5ac9e7e6ea 6796746: rename LoadC (char) opcode class to LoadUS (unsigned short) Summary: Renaming LoadC to LoadUS would round up the planned introduction of LoadUB and LoadUI. Reviewed-by: phh, kvn ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/mulnode.cpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/vectornode.cpp Changeset: 7628781568e1 Author: twisti Date: 2009-02-03 01:39 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/7628781568e1 6795362: 32bit server compiler leads to wrong results on solaris-x86 Summary: The C2 compiler leads to wrong results on solaris-i486 (32-bit) for a testcase given in the CR. Reviewed-by: never, rasbold ! src/share/vm/opto/mulnode.cpp ! src/share/vm/utilities/globalDefinitions.hpp + test/compiler/6795362/Test6795362.java Changeset: b79faa366fbd Author: twisti Date: 2009-02-03 08:10 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/b79faa366fbd 6799452: HotSpot tests Makefile should take care of ALT_SLASH_JAVA Summary: The HotSpot tests Makefile has a hardcoded SLASH_JAVA which makes it difficult to run the tests on non-Sun build machines which do not have a /java infrastructure. Reviewed-by: kamg ! test/Makefile Changeset: 5bfdb08ea692 Author: never Date: 2009-02-03 18:05 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/5bfdb08ea692 6782260: Memory leak in CodeBuffer::create_patch_overflow Reviewed-by: phh, kvn ! src/share/vm/asm/codeBuffer.cpp Changeset: 1580954e694c Author: never Date: 2009-02-04 11:44 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/1580954e694c 6798785: Crash in OopFlow::build_oop_map: incorrect comparison of 64bit pointers Reviewed-by: phh, kvn ! src/share/vm/adlc/dict2.cpp ! src/share/vm/libadt/dict.cpp Changeset: 1b9fc6e3171b Author: never Date: 2009-02-04 23:17 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/1b9fc6e3171b 6442502: assert(bits,"Use TypePtr for NULL") on linux-x86 Reviewed-by: kvn ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp Changeset: 323728917cf4 Author: kvn Date: 2009-02-05 13:38 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/323728917cf4 6788376: allow to ignore unrecognized VM options Summary: Add new product flag -XX:+IgnoreUnrecognizedVMOptions Reviewed-by: ysr, xlu ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! test/compiler/6775880/Test.java Changeset: 7fe62bb75bf4 Author: kvn Date: 2009-02-05 14:43 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/7fe62bb75bf4 6799693: Server compiler leads to data corruption when expression throws an Exception Summary: Use merged memory state for an allocation's slow path. Reviewed-by: never ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/macro.cpp + test/compiler/6795161/Test.java + test/compiler/6799693/Test.java Changeset: 91263420e1c6 Author: kvn Date: 2009-02-06 13:31 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/91263420e1c6 6791852: assert(b->_nodes[insidx] == n,"got insidx set incorrectly") Summary: Move the CreateEx up before each round of IFG construction Reviewed-by: never, phh ! src/share/vm/opto/block.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/reg_split.cpp Changeset: bbef4344adb2 Author: twisti Date: 2009-02-13 09:09 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/bbef4344adb2 6800154: Add comments to long_by_long_mulhi() for better understandability Summary: This patch adds a comment pointing to the Hacker's Delight version of the algorithm plus a verbatim copy of it. Furthermore it adds inline comments. Reviewed-by: kvn, jrose ! src/share/vm/opto/divnode.cpp + test/compiler/6603011/Test.java + test/compiler/6800154/Test6800154.java Changeset: 30663ca5e8f4 Author: twisti Date: 2009-02-16 07:19 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/30663ca5e8f4 6805724: ModLNode::Ideal() generates functionally incorrect graph when divisor is any (2^k-1) constant. Summary: C2, ModLNode::Ideal() generates functionally incorrect graph when divisor is any (2^k-1) constant. Reviewed-by: rasbold ! src/share/vm/opto/divnode.cpp ! src/share/vm/utilities/globalDefinitions.hpp + test/compiler/6805724/Test6805724.java Changeset: 2cacccded90f Author: twisti Date: 2009-02-17 11:19 +0100 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/2cacccded90f 6805950: Typos in andL_rReg_imm instructions in x86_64.ad Summary: There are two typos in andL_rReg_imm instructions in x86_64.ad. Reviewed-by: kvn ! src/cpu/x86/vm/x86_64.ad Changeset: dca06e7f503d Author: kvn Date: 2009-02-17 14:30 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/dca06e7f503d Merge ! src/cpu/x86/vm/x86_32.ad ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 6b7f6a17455e Author: trims Date: 2009-02-18 18:14 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/6b7f6a17455e Merge Changeset: 1605bb4eb5a7 Author: trims Date: 2009-02-18 18:20 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/1605bb4eb5a7 6807345: Bump HS15 build number to 02 Summary: Update the HS15 Build number to 02 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 8b22ccb5aba2 Author: trims Date: 2009-02-25 23:16 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/8b22ccb5aba2 Merge Changeset: dae503d9f04c Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/hotspot/rev/dae503d9f04c Added tag jdk7-b49 for changeset 8b22ccb5aba2 ! .hgtags From lana.steuck at sun.com Wed Mar 4 12:39:31 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Wed, 04 Mar 2009 20:39:31 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jaxp: 5 new changesets Message-ID: <20090304203938.D9BE8E7AE@hg.openjdk.java.net> Changeset: b2271877894a Author: xdono Date: 2009-01-29 13:21 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxp/rev/b2271877894a Added tag jdk7-b45 for changeset 0f113667880d ! .hgtags Changeset: d711ad1954b2 Author: xdono Date: 2009-02-05 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxp/rev/d711ad1954b2 Added tag jdk7-b46 for changeset b2271877894a ! .hgtags Changeset: 39de90eb4822 Author: xdono Date: 2009-02-12 14:00 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxp/rev/39de90eb4822 Added tag jdk7-b47 for changeset d711ad1954b2 ! .hgtags Changeset: 5c1f24531903 Author: xdono Date: 2009-02-19 14:08 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxp/rev/5c1f24531903 Added tag jdk7-b48 for changeset 39de90eb4822 ! .hgtags Changeset: e8514e2be76d Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxp/rev/e8514e2be76d Added tag jdk7-b49 for changeset 5c1f24531903 ! .hgtags From lana.steuck at sun.com Wed Mar 4 12:42:26 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Wed, 04 Mar 2009 20:42:26 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jaxws: 5 new changesets Message-ID: <20090304204233.E1FECE7B3@hg.openjdk.java.net> Changeset: af4a3eeb7812 Author: xdono Date: 2009-01-29 13:21 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxws/rev/af4a3eeb7812 Added tag jdk7-b45 for changeset dea7753d7139 ! .hgtags Changeset: 223011570edb Author: xdono Date: 2009-02-05 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxws/rev/223011570edb Added tag jdk7-b46 for changeset af4a3eeb7812 ! .hgtags Changeset: 01e5dd31d0c1 Author: xdono Date: 2009-02-12 14:00 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxws/rev/01e5dd31d0c1 Added tag jdk7-b47 for changeset 223011570edb ! .hgtags Changeset: 18ca864890f3 Author: xdono Date: 2009-02-19 14:08 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxws/rev/18ca864890f3 Added tag jdk7-b48 for changeset 01e5dd31d0c1 ! .hgtags Changeset: 5be52db581f1 Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jaxws/rev/5be52db581f1 Added tag jdk7-b49 for changeset 18ca864890f3 ! .hgtags From lana.steuck at sun.com Wed Mar 4 13:29:17 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Wed, 04 Mar 2009 21:29:17 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/langtools: 38 new changesets Message-ID: <20090304213016.29C96E7BF@hg.openjdk.java.net> Changeset: d957ceba29f9 Author: xdono Date: 2009-01-29 13:21 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/d957ceba29f9 Added tag jdk7-b45 for changeset 30db5e0aaf83 ! .hgtags Changeset: d79ad96ce47c Author: bpatel Date: 2009-01-15 17:21 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/d79ad96ce47c 6786682: Javadoc HTML WCAG 2.0 accessibility issues in standard doclet - HTML tag should have lang attribute Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java + test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java + test/com/sun/javadoc/testHtmlTag/pkg1/C1.java + test/com/sun/javadoc/testHtmlTag/pkg2/C2.java Changeset: 42f9d392159d Author: jjg Date: 2009-01-15 18:06 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/42f9d392159d 6794520: MessageRetriever should be upgraded to use varargs Object... Reviewed-by: bpatel ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Changeset: 18c433be7aa7 Author: darcy Date: 2009-01-16 14:05 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/18c433be7aa7 6583626: Improve serialization support in javax.lang.model.type exception classes Reviewed-by: jjg ! src/share/classes/javax/lang/model/type/MirroredTypeException.java ! src/share/classes/javax/lang/model/type/MirroredTypesException.java Changeset: d0b33fe8e710 Author: jjg Date: 2009-01-19 19:36 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/d0b33fe8e710 6794959: add new switch -XDexpectKeys=key,key.... Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/util/Log.java + test/tools/javac/T6794959.java Changeset: 83c59a9d4b94 Author: mcimadamore Date: 2009-01-20 17:49 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/83c59a9d4b94 6795580: parser confused by square brackets in qualified generic cast Summary: Parser rejects cast with qualified generic array types Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/cast/6795580/T6795580.java + test/tools/javac/cast/6795580/T6795580.out Changeset: 1ca2dc8584e1 Author: mcimadamore Date: 2009-01-20 17:49 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/1ca2dc8584e1 6557199: Fails to reject bad override of generic method Summary: Javac does not correctly implement JLS3 8.4.5 Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/rawOverride/6557199/T6557199.java + test/tools/javac/generics/rawOverride/6557199/T6557199.out Changeset: 1bf037016426 Author: jjg Date: 2009-01-20 15:17 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/1bf037016426 6794582: javadoc should read files using a FileManager Reviewed-by: darcy, bpatel ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java ! src/share/classes/com/sun/tools/javadoc/JavadocTool.java ! src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java ! src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java Changeset: b4b1f7732289 Author: jjg Date: 2009-01-20 18:23 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/b4b1f7732289 6795903: fix latent build warnings in langtools repository Reviewed-by: darcy ! make/build.properties ! src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java ! src/share/classes/com/sun/tools/apt/comp/Apt.java ! src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java ! src/share/classes/com/sun/tools/apt/main/JavaCompiler.java ! src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java ! src/share/classes/com/sun/tools/classfile/Annotation.java ! src/share/classes/com/sun/tools/classfile/AttributeException.java ! src/share/classes/com/sun/tools/classfile/Code_attribute.java ! src/share/classes/com/sun/tools/classfile/ConstantPool.java ! src/share/classes/com/sun/tools/classfile/ConstantPoolException.java ! src/share/classes/com/sun/tools/classfile/Descriptor.java ! src/share/classes/com/sun/tools/classfile/DescriptorException.java ! src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javadoc/Comment.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javah/Gen.java ! src/share/classes/com/sun/tools/javap/InternalError.java ! src/share/classes/sun/tools/javap/JavapPrinter.java Changeset: d486ac6389d7 Author: jjg Date: 2009-01-21 08:21 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/d486ac6389d7 6795030: Files in langtools build can be compiled ignoring java.home settings Reviewed-by: mcimadamore ! make/build.xml Changeset: e6dafbf35355 Author: jjg Date: 2009-01-22 15:45 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/e6dafbf35355 6796965: dev-time wrapper script for javac broken Reviewed-by: ksrini ! make/build.xml Changeset: e3930187199c Author: jjg Date: 2009-01-23 11:23 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/e3930187199c 6795365: NetBeans projects in langtools repository are not NB6.5-friendly Reviewed-by: mcimadamore ! make/README ! make/build.xml ! make/netbeans/README - make/netbeans/apt/README - make/netbeans/apt/build.xml - make/netbeans/apt/nbproject/project.xml - make/netbeans/common/shared.xml - make/netbeans/common/standard-context-menu-items-no-javadoc.ent - make/netbeans/common/standard-context-menu-items.ent - make/netbeans/common/standard-ide-actions-no-javadoc.ent - make/netbeans/common/standard-ide-actions.ent - make/netbeans/compiler/README - make/netbeans/compiler/build.xml - make/netbeans/compiler/nbproject/project.xml - make/netbeans/doclets/README - make/netbeans/doclets/build.xml - make/netbeans/doclets/nbproject/project.xml - make/netbeans/javadoc/README - make/netbeans/javadoc/build.xml - make/netbeans/javadoc/nbproject/project.xml - make/netbeans/javah/README - make/netbeans/javah/build.xml - make/netbeans/javah/nbproject/project.xml - make/netbeans/javap/README - make/netbeans/javap/build.xml - make/netbeans/javap/nbproject/project.xml + make/netbeans/langtools/build.xml + make/netbeans/langtools/nbproject/project.xml + make/netbeans/langtools/nbproject/standard-context-menu-items.ent + make/netbeans/langtools/nbproject/standard-ide-actions.ent + make/tools/SelectTool/SelectToolTask.java Changeset: 3b2c55b7bd01 Author: tbell Date: 2009-01-24 11:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/3b2c55b7bd01 6797463: 6557199 breaks the jax-ws workspace Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java Changeset: 40fd14d94c3c Author: tbell Date: 2009-01-24 16:35 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/40fd14d94c3c Merge - make/netbeans/apt/README - make/netbeans/apt/build.xml - make/netbeans/apt/nbproject/project.xml - make/netbeans/common/shared.xml - make/netbeans/common/standard-context-menu-items-no-javadoc.ent - make/netbeans/common/standard-context-menu-items.ent - make/netbeans/common/standard-ide-actions-no-javadoc.ent - make/netbeans/common/standard-ide-actions.ent - make/netbeans/compiler/README - make/netbeans/compiler/build.xml - make/netbeans/compiler/nbproject/project.xml - make/netbeans/doclets/README - make/netbeans/doclets/build.xml - make/netbeans/doclets/nbproject/project.xml - make/netbeans/javadoc/README - make/netbeans/javadoc/build.xml - make/netbeans/javadoc/nbproject/project.xml - make/netbeans/javah/README - make/netbeans/javah/build.xml - make/netbeans/javah/nbproject/project.xml - make/netbeans/javap/README - make/netbeans/javap/build.xml - make/netbeans/javap/nbproject/project.xml Changeset: 0f922ff6968f Author: tbell Date: 2009-01-26 15:14 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/0f922ff6968f 6797871: Fix for 6797463 did not remove the jtreg tests, and it should have Reviewed-by: jjg - test/tools/javac/generics/rawOverride/6557199/T6557199.java - test/tools/javac/generics/rawOverride/6557199/T6557199.out Changeset: be546a6c08e3 Author: tbell Date: 2009-01-29 21:48 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/be546a6c08e3 Merge Changeset: 2b8f6bab2392 Author: xdono Date: 2009-02-05 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/2b8f6bab2392 Added tag jdk7-b46 for changeset be546a6c08e3 ! .hgtags Changeset: fedc96614330 Author: xdono Date: 2009-02-12 14:00 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/fedc96614330 Added tag jdk7-b47 for changeset 2b8f6bab2392 ! .hgtags Changeset: edb8d7985cfd Author: darcy Date: 2009-01-27 17:50 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/edb8d7985cfd 6707027: langtools/test/tools/javac/processing/model/testgetallmember/Main.java fails Reviewed-by: jjg ! test/tools/javac/processing/model/testgetallmembers/Main.java Changeset: 9199b9092f73 Author: jjg Date: 2009-01-27 18:38 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/9199b9092f73 6176978: current Javadoc's invocation and extension (Doclet) mechanisms are problematic Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/DocletInvoker.java + test/tools/javadoc/6176978/T6176978.java + test/tools/javadoc/6176978/X.java Changeset: 1aa81917016a Author: mcimadamore Date: 2009-01-29 12:17 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/1aa81917016a 6315770: javac inference allows creation of strange types: Integer & Runnable Summary: Javac does not apply glb correctly as per JLS3 15.12.2.8 Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/6315770/T6315770.java + test/tools/javac/generics/inference/6315770/T6315770.out Changeset: 4542977c959e Author: mcimadamore Date: 2009-01-29 12:18 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/4542977c959e 6557182: Unchecked warning *and* inconvertible types Summary: Redundant warnings are generated when casting from intersection types Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/cast/6557182/T6557182.java + test/tools/javac/cast/6557182/T6557182.out Changeset: 79f2f2c7d846 Author: mcimadamore Date: 2009-01-29 12:19 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/79f2f2c7d846 6729401: Compiler error when using F-bounded generics with free type variables Summary: Javac applies wrong substitution to recursive type-variable bounds Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/generics/6729401/T6729401.java Changeset: 49281ea88125 Author: tbell Date: 2009-01-30 23:28 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/49281ea88125 Merge Changeset: 638d5fbf5e78 Author: tbell Date: 2009-02-06 09:44 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/638d5fbf5e78 Merge Changeset: 9d541fd2916b Author: jjg Date: 2009-02-06 10:23 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/9d541fd2916b 6595666: fix -Werror Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! test/tools/javac/6304921/T6304921.out ! test/tools/javac/6758789/T6758789b.out ! test/tools/javac/T6241723.out + test/tools/javac/T6595666.java ! test/tools/javac/depDocComment/DeprecatedDocComment.out Changeset: 58fcba61a77d Author: darcy Date: 2009-02-06 12:49 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/58fcba61a77d 6794071: Provide exception superclass for UnknownFooExceptions Reviewed-by: jjg + src/share/classes/javax/lang/model/UnknownEntityException.java ! src/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java ! src/share/classes/javax/lang/model/element/UnknownElementException.java ! src/share/classes/javax/lang/model/type/UnknownTypeException.java + test/tools/javac/processing/model/TestExceptions.java Changeset: 000d1e518bc5 Author: tbell Date: 2009-02-06 17:24 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/000d1e518bc5 Merge Changeset: c53007f34195 Author: tbell Date: 2009-02-17 09:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/c53007f34195 Merge Changeset: d17d927ad9bd Author: xdono Date: 2009-02-19 14:08 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/d17d927ad9bd Added tag jdk7-b48 for changeset c53007f34195 ! .hgtags Changeset: cc69a0495ac5 Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/cc69a0495ac5 Added tag jdk7-b49 for changeset d17d927ad9bd ! .hgtags Changeset: 6ada6122dd4f Author: mcimadamore Date: 2009-02-13 11:57 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/6ada6122dd4f 6769027: Source line should be displayed immediately after the first diagnostic line Summary: Added support for customizing diagnostic output via API/command line flags Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/api/Messages.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! test/tools/javac/6304921/T6304921.out ! test/tools/javac/6668794/badClass/Test.java ! test/tools/javac/6668794/badSource/Test.out ! test/tools/javac/6758789/T6758789b.out + test/tools/javac/Diagnostics/6769027/T6769027.java + test/tools/javac/Diagnostics/6769027/tester.properties ! test/tools/javac/ExtendArray.out ! test/tools/javac/T5048776b.out ! test/tools/javac/T6214885a.out ! test/tools/javac/T6214885b.out ! test/tools/javac/T6230128.out ! test/tools/javac/annotations/6365854/test1.out ! test/tools/javac/cast/6557182/T6557182.out ! test/tools/javac/cast/6665356/T6665356.out ! test/tools/javac/cast/6795580/T6795580.out ! test/tools/javac/generics/6207386/T6207386.out ! test/tools/javac/generics/inference/6315770/T6315770.out ! test/tools/javac/generics/inference/6718364/T6718364.out ! test/tools/javac/generics/typevars/6680106/T6680106.out ! test/tools/javac/missingSuperRecovery/MissingSuperRecovery.out ! test/tools/javac/unicode/UnicodeNewline.out Changeset: d424ed561993 Author: bpatel Date: 2009-02-18 13:47 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/d424ed561993 6802694: Javadoc doclet does not display deprecated information with -nocomment option for serialized form Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml + test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java + test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C1.java + test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C2.java + test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C3.java Changeset: f4717c901346 Author: tbell Date: 2009-02-19 18:04 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/f4717c901346 Merge Changeset: dab918a1c907 Author: darcy Date: 2009-02-20 11:56 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/dab918a1c907 6460529: Provide mixin interfaces for getQualifiedName and getTypeParameters Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/share/classes/javax/lang/model/element/ExecutableElement.java ! src/share/classes/javax/lang/model/element/PackageElement.java + src/share/classes/javax/lang/model/element/Parameterizable.java + src/share/classes/javax/lang/model/element/QualifiedNameable.java ! src/share/classes/javax/lang/model/element/TypeElement.java Changeset: c4d3cbe3765a Author: tbell Date: 2009-02-21 09:58 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/c4d3cbe3765a Merge Changeset: 1a902c0eb3f9 Author: tbell Date: 2009-02-24 07:55 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/1a902c0eb3f9 Merge Changeset: 46f2f6ed96f1 Author: tbell Date: 2009-02-27 10:54 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/langtools/rev/46f2f6ed96f1 Merge From lana.steuck at sun.com Wed Mar 4 12:50:33 2009 From: lana.steuck at sun.com (lana.steuck at sun.com) Date: Wed, 04 Mar 2009 20:50:33 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 116 new changesets Message-ID: <20090304211301.E941EE7BA@hg.openjdk.java.net> Changeset: 997c6403bf2e Author: xdono Date: 2009-01-29 13:21 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/997c6403bf2e Added tag jdk7-b45 for changeset 527b426497a2 ! .hgtags Changeset: 13d7e2477737 Author: sherman Date: 2009-01-13 09:21 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/13d7e2477737 6332094: "jar t" and "jar x" should use ZipFile, not ZipInputStream Summary: To use ZipFile for jar "t" and "x" to boost performance Reviewed-by: martin, alanb ! src/share/classes/sun/tools/jar/Main.java Changeset: 8c1c6e11204b Author: chegar Date: 2009-01-14 17:17 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/8c1c6e11204b 6755782: It is not clear how DatagramSocket deals with broadcast enabling/disabling Reviewed-by: jccollet ! src/share/classes/java/net/DatagramSocket.java Changeset: 7f6969c09075 Author: darcy Date: 2009-01-14 16:23 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7f6969c09075 6792545: Typo in java.util.Collection JavaDoc 6655123: Incorrect ref to The Art of Computer Programming in doc for java.util.Random Summary: Fix a pair of typos. Reviewed-by: jjg ! src/share/classes/java/util/Collection.java ! src/share/classes/java/util/Random.java Changeset: 9260d9bd0843 Author: weijun Date: 2009-01-19 18:49 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/9260d9bd0843 6793475: krb5.ini not found on some Windows Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/Config.java ! src/windows/native/sun/security/krb5/WindowsDirectory.c Changeset: 1f751a9f7052 Author: mchung Date: 2009-01-20 13:02 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/1f751a9f7052 6793429: Use compiled properties instead of plain properties for resource file Summary: Rename the variables in Resources.gmk to make compiled properties more explicit Reviewed-by: naoto, yhuang ! make/com/sun/org/apache/xml/Makefile ! make/com/sun/rowset/Makefile ! make/common/internal/Resources.gmk ! make/sun/launcher/Makefile ! make/sun/rmi/oldtools/Makefile ! make/sun/rmi/registry/Makefile ! make/sun/rmi/rmic/Makefile ! make/sun/rmi/rmid/Makefile ! make/sun/serialver/Makefile Changeset: 42f8dea1b865 Author: mchung Date: 2009-01-20 13:04 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/42f8dea1b865 6769976: (fc) FileChannelImpl.isAMappedBufferField not used Summary: Remove the FileChannelImpl.isAMappedBufferField field Reviewed-by: alanb ! src/share/classes/sun/nio/ch/FileChannelImpl.java Changeset: 7fa0a7a3c080 Author: mchung Date: 2009-01-20 16:16 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7fa0a7a3c080 Merge Changeset: 63f8707112be Author: sherman Date: 2009-01-22 20:29 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/63f8707112be 6476425: (fmt)java.util.Formatter.print() throws IllegalArgumentException on large BigDecima Summary: Correct the wrong calculation of "precision" in certain circumstances. Reviewed-by: darcy, alanb ! src/share/classes/java/util/Formatter.java ! test/java/util/Formatter/Basic-X.java ! test/java/util/Formatter/Basic.java ! test/java/util/Formatter/BasicBigDecimal.java ! test/java/util/Formatter/BasicBigInteger.java ! test/java/util/Formatter/BasicBoolean.java ! test/java/util/Formatter/BasicBooleanObject.java ! test/java/util/Formatter/BasicByte.java ! test/java/util/Formatter/BasicByteObject.java ! test/java/util/Formatter/BasicChar.java ! test/java/util/Formatter/BasicCharObject.java ! test/java/util/Formatter/BasicDateTime.java ! test/java/util/Formatter/BasicDouble.java ! test/java/util/Formatter/BasicDoubleObject.java ! test/java/util/Formatter/BasicFloat.java ! test/java/util/Formatter/BasicFloatObject.java ! test/java/util/Formatter/BasicInt.java ! test/java/util/Formatter/BasicIntObject.java ! test/java/util/Formatter/BasicLong.java ! test/java/util/Formatter/BasicLongObject.java ! test/java/util/Formatter/BasicShort.java ! test/java/util/Formatter/BasicShortObject.java ! test/java/util/Formatter/genBasic.sh Changeset: cb641d17bbb3 Author: darcy Date: 2009-01-23 10:37 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/cb641d17bbb3 6604864: Double.valueOf(String) does not specify behaviour for overflow and underflow Reviewed-by: emcmanus ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java Changeset: 175b6adf65b3 Author: tbell Date: 2009-01-24 16:35 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/175b6adf65b3 Merge Changeset: f3ad2ee4600b Author: darcy Date: 2009-01-26 19:49 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f3ad2ee4600b 6601457: Move wrapper class tests from closed to open 6601458: Move java.math tests from closed to open 6740185: Move java/lang/annotations tests to open 6759433: Move Math and StrictMath regression tests from closed to open Summary: Move some more regression tests to the open Reviewed-by: jjg + test/java/lang/Boolean/Factory.java + test/java/lang/Boolean/GetBoolean.java + test/java/lang/Boolean/MakeBooleanComparable.java + test/java/lang/Boolean/ParseBoolean.java + test/java/lang/Byte/Decode.java + test/java/lang/Double/BitwiseConversion.java + test/java/lang/Double/Constants.java + test/java/lang/Double/Extrema.java + test/java/lang/Double/NaNInfinityParsing.java + test/java/lang/Double/ParseDouble.java + test/java/lang/Double/ParseHexFloatingPoint.java + test/java/lang/Double/ToHexString.java + test/java/lang/Float/BitwiseConversion.java + test/java/lang/Float/Constants.java + test/java/lang/Float/Extrema.java + test/java/lang/Float/NaNInfinityParsing.java + test/java/lang/Float/ParseFloat.java + test/java/lang/Integer/BitTwiddle.java + test/java/lang/Integer/Decode.java + test/java/lang/Integer/GetInteger.java + test/java/lang/Integer/ParsingTest.java + test/java/lang/Long/BitTwiddle.java + test/java/lang/Long/Decode.java + test/java/lang/Long/GetLong.java + test/java/lang/Long/ParsingTest.java + test/java/lang/Math/AbsPositiveZero.java + test/java/lang/Math/Atan2Tests.java + test/java/lang/Math/CubeRootTests.java + test/java/lang/Math/Expm1Tests.java + test/java/lang/Math/HyperbolicTests.java + test/java/lang/Math/HypotTests.java + test/java/lang/Math/IeeeRecommendedTests.java + test/java/lang/Math/Log10Tests.java + test/java/lang/Math/Log1pTests.java + test/java/lang/Math/MinMax.java + test/java/lang/Math/PowTests.java + test/java/lang/Math/Rint.java + test/java/lang/Math/TanTests.java + test/java/lang/Math/Tests.java + test/java/lang/Short/ByteSwap.java + test/java/lang/Short/Decode.java + test/java/lang/StrictMath/CubeRootTests.java + test/java/lang/StrictMath/Expm1Tests.java + test/java/lang/StrictMath/HyperbolicTests.java + test/java/lang/StrictMath/HypotTests.java + test/java/lang/StrictMath/Log10Tests.java + test/java/lang/StrictMath/Log1pTests.java + test/java/lang/StrictMath/Tests.java + test/java/lang/ToString.java + test/java/lang/annotation/AnnotationTypeMismatchException/FoundType.java + test/java/lang/annotation/Missing/A.java + test/java/lang/annotation/Missing/B.java + test/java/lang/annotation/Missing/C.java + test/java/lang/annotation/Missing/D.java + test/java/lang/annotation/Missing/Marker.java + test/java/lang/annotation/Missing/Missing.java + test/java/lang/annotation/Missing/MissingTest.java + test/java/lang/annotation/Missing/MissingWrapper.java + test/java/lang/annotation/PackageMain.java + test/java/lang/annotation/RecursiveAnnotation.java + test/java/lang/annotation/UnitTest.java + test/java/lang/annotation/loaderLeak/A.java + test/java/lang/annotation/loaderLeak/B.java + test/java/lang/annotation/loaderLeak/C.java + test/java/lang/annotation/loaderLeak/LoaderLeak.sh + test/java/lang/annotation/loaderLeak/Main.java + test/java/lang/annotation/package-info.java + test/java/math/BigDecimal/AddTests.java + test/java/math/BigDecimal/CompareToTests.java + test/java/math/BigDecimal/Constructor.java + test/java/math/BigDecimal/DivideTests.java + test/java/math/BigDecimal/FloatDoubleValueTests.java + test/java/math/BigDecimal/IntegralDivisionTests.java + test/java/math/BigDecimal/NegateTests.java + test/java/math/BigDecimal/PowTests.java + test/java/math/BigDecimal/RoundingTests.java + test/java/math/BigDecimal/ScaleByPowerOfTenTests.java + test/java/math/BigDecimal/SerializationTests.java + test/java/math/BigDecimal/StringConstructor.java + test/java/math/BigDecimal/StrippingZerosTest.java + test/java/math/BigDecimal/ToPlainStringTests.java + test/java/math/BigDecimal/ZeroScalingTests.java + test/java/math/BigInteger/BigIntegerTest.java + test/java/math/BigInteger/ModPow.java + test/java/math/BigInteger/ModPow65537.java + test/java/math/BigInteger/ModPowPowersof2.java + test/java/math/BigInteger/OperatorNpeTests.java + test/java/math/BigInteger/ProbablePrime.java + test/java/math/BigInteger/StringConstructor.java + test/java/math/BigInteger/UnicodeConstructor.java + test/java/math/RoundingMode/RoundingModeTests.java Changeset: 2113813eda62 Author: tbell Date: 2009-01-29 21:46 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/2113813eda62 Merge Changeset: 443db0030323 Author: peytoia Date: 2008-10-02 15:54 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/443db0030323 6645263: (cal) Calendar throw java.lang.IllegalArgumentException: WEEK_OF_MONTH Reviewed-by: okutsu ! src/share/classes/java/util/Calendar.java + test/java/util/Calendar/Bug6645263.java Changeset: 7f4488e9ba24 Author: peytoia Date: 2008-10-03 15:54 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7f4488e9ba24 6683975: [fmt-da] Regression: Java 6 returns English DateFormatPatterns for Thai locale Reviewed-by: okutsu ! src/share/classes/sun/text/resources/FormatData_th.java + test/java/text/Format/DateFormat/Bug6683975.java Changeset: f71879c0999f Author: naoto Date: 2008-10-06 17:16 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f71879c0999f 6706382: jdk/test/java/util/Locale/data/deflocale.sol10 has incorrect legal notice Reviewed-by: okutsu ! test/java/util/Locale/data/deflocale.sol10 Changeset: a9be64f0ad3e Author: peytoia Date: 2008-10-07 18:25 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/a9be64f0ad3e 6756569: (tz) Support tzdata2008g Reviewed-by: okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/africa ! make/sun/javazic/tzdata/asia ! make/sun/javazic/tzdata/europe ! make/sun/javazic/tzdata/southamerica Changeset: 7560426ed283 Author: rkennke Date: 2008-10-15 15:55 +0200 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7560426ed283 6759311: RepaintManager casts Tookit to SunToolkit without instanceof check Summary: Check type of Toolkit before casting. Reviewed-by: alexp ! src/share/classes/javax/swing/RepaintManager.java Changeset: 244f62312fec Author: peytoia Date: 2008-10-16 14:00 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/244f62312fec 6758988: (tz) Support tzdata2008h Reviewed-by: okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/africa ! make/sun/javazic/tzdata/asia ! make/sun/javazic/tzdata/southamerica ! make/sun/javazic/tzdata/zone.tab Changeset: 8ea49fa4c2f7 Author: peytoia Date: 2008-10-17 13:34 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/8ea49fa4c2f7 6759521: Move Bidi test programs from closed to open. Reviewed-by: okutsu + test/java/text/Bidi/BidiBug.java + test/java/text/Bidi/BidiEmbeddingTest.java + test/java/text/Bidi/BidiSurrogateTest.java Changeset: 3bc97f84a8aa Author: lana Date: 2008-10-17 15:01 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/3bc97f84a8aa Merge - make/ASSEMBLY_EXCEPTION - make/LICENSE - make/README - make/README-builds.html - make/README.html - make/THIRD_PARTY_README - src/share/classes/java/nio/channels/package.html - src/share/classes/sun/nio/ch/OptionAdaptor.java - src/share/classes/sun/nio/ch/SocketOpts.java - src/share/classes/sun/nio/ch/SocketOptsImpl.java - src/share/classes/sun/nio/ch/exceptions - src/share/javavm/include/opcodes.h - src/share/javavm/include/opcodes.length - src/share/javavm/include/opcodes.list - src/share/javavm/include/opcodes.weight - src/share/javavm/include/opcodes.wide - src/share/javavm/include/sys_api.h - src/share/javavm/include/typedefs.h - src/solaris/classes/sun/awt/motif/MButtonPeer.java - src/solaris/classes/sun/awt/motif/MCanvasPeer.java - src/solaris/classes/sun/awt/motif/MCheckboxMenuItemPeer.java - src/solaris/classes/sun/awt/motif/MCheckboxPeer.java - src/solaris/classes/sun/awt/motif/MChoicePeer.java - src/solaris/classes/sun/awt/motif/MComponentPeer.java - src/solaris/classes/sun/awt/motif/MCustomCursor.java - src/solaris/classes/sun/awt/motif/MDataTransferer.java - src/solaris/classes/sun/awt/motif/MDialogPeer.java - src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java - src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java - src/solaris/classes/sun/awt/motif/MEmbedCanvasPeer.java - src/solaris/classes/sun/awt/motif/MEmbeddedFrame.java - src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java - src/solaris/classes/sun/awt/motif/MFileDialogPeer.java - src/solaris/classes/sun/awt/motif/MFramePeer.java - src/solaris/classes/sun/awt/motif/MGlobalCursorManager.java - src/solaris/classes/sun/awt/motif/MInputMethod.java - src/solaris/classes/sun/awt/motif/MInputMethodControl.java - src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java - src/solaris/classes/sun/awt/motif/MLabelPeer.java - src/solaris/classes/sun/awt/motif/MListPeer.java - src/solaris/classes/sun/awt/motif/MMenuBarPeer.java - src/solaris/classes/sun/awt/motif/MMenuItemPeer.java - src/solaris/classes/sun/awt/motif/MMenuPeer.java - src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java - src/solaris/classes/sun/awt/motif/MPanelPeer.java - src/solaris/classes/sun/awt/motif/MPopupMenuPeer.java - src/solaris/classes/sun/awt/motif/MRobotPeer.java - src/solaris/classes/sun/awt/motif/MScrollPanePeer.java - src/solaris/classes/sun/awt/motif/MScrollbarPeer.java - src/solaris/classes/sun/awt/motif/MTextAreaPeer.java - src/solaris/classes/sun/awt/motif/MTextFieldPeer.java - src/solaris/classes/sun/awt/motif/MWindowPeer.java - src/solaris/classes/sun/awt/motif/X11Clipboard.java - src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java - src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java - src/solaris/classes/sun/awt/motif/X11Selection.java - src/solaris/classes/sun/awt/motif/X11SelectionHolder.java - src/solaris/javavm/include/typedefs_md.h - src/solaris/native/sun/awt/awt_Button.c - src/solaris/native/sun/awt/awt_Canvas.c - src/solaris/native/sun/awt/awt_Checkbox.c - src/solaris/native/sun/awt/awt_Choice12.c - src/solaris/native/sun/awt/awt_Choice21.c - src/solaris/native/sun/awt/awt_Component.c - src/solaris/native/sun/awt/awt_Cursor.c - src/solaris/native/sun/awt/awt_DataTransferer.c - src/solaris/native/sun/awt/awt_DataTransferer.h - src/solaris/native/sun/awt/awt_FileDialog.c - src/solaris/native/sun/awt/awt_GlobalCursorManager.c - src/solaris/native/sun/awt/awt_KeyboardFocusManager.c - src/solaris/native/sun/awt/awt_Label.c - src/solaris/native/sun/awt/awt_List.c - src/solaris/native/sun/awt/awt_Menu.c - src/solaris/native/sun/awt/awt_Menu.h - src/solaris/native/sun/awt/awt_MenuBar.c - src/solaris/native/sun/awt/awt_MenuBar.h - src/solaris/native/sun/awt/awt_MenuComponent.c - src/solaris/native/sun/awt/awt_MenuItem.c - src/solaris/native/sun/awt/awt_PopupMenu.c - src/solaris/native/sun/awt/awt_ScrollPane.c - src/solaris/native/sun/awt/awt_Scrollbar.c - src/solaris/native/sun/awt/awt_Selection.c - src/solaris/native/sun/awt/awt_TextArea.c - src/solaris/native/sun/awt/awt_TextArea.h - src/solaris/native/sun/awt/awt_TextField.c - src/solaris/native/sun/awt/awt_TextField.h - src/solaris/native/sun/awt/awt_TopLevel.c - src/solaris/native/sun/awt/awt_XmDnD.c - src/solaris/native/sun/awt/awt_XmDnD.h - src/solaris/native/sun/awt/awt_dnd.c - src/solaris/native/sun/awt/awt_dnd.h - src/solaris/native/sun/awt/awt_dnd_ds.c - src/solaris/native/sun/awt/awt_dnd_dt.c - src/solaris/native/sun/awt/awt_motif.c - src/solaris/native/sun/awt/awt_motif12.c - src/solaris/native/sun/awt/awt_motif21.c - src/solaris/native/sun/awt/awt_xembed.c - src/solaris/native/sun/awt/canvas.c - src/solaris/native/sun/awt/cursor.c - src/windows/javavm/include/typedefs_md.h Changeset: f67599e0ee33 Author: peytoia Date: 2008-10-30 13:12 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f67599e0ee33 6764308: (tz) Support tzdata2008i Reviewed-by: okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/southamerica ! make/sun/javazic/tzdata/zone.tab ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Changeset: f8461a705330 Author: rupashka Date: 2008-11-17 17:36 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f8461a705330 6771030: Code improvement and warnings removing from the com.sun.java.swing.plaf.gtk package Summary: Removed unnecessary castings and other warnings Reviewed-by: malenkov ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java ! src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java Changeset: 6c5781fc3818 Author: peytoia Date: 2008-11-18 13:58 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/6c5781fc3818 6769873: Regression test java/text/Date/DateFormat/Bug6683975.java started failing after DST ended. Reviewed-by: okutsu ! test/java/text/Format/DateFormat/Bug6683975.java Changeset: bdfe33408ed8 Author: peytoia Date: 2008-11-18 15:59 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/bdfe33408ed8 6772646: Regression test java/text/Date/DateFormat/Bug4823811.java started failing after DST ended. Reviewed-by: okutsu ! test/java/text/Format/DateFormat/Bug4823811.java Changeset: 63e684c4ed2f Author: rupashka Date: 2008-11-25 16:42 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/63e684c4ed2f 6698013: JFileChooser can no longer navigate non-local file systems. Summary: ShellFolder is used only if possible Reviewed-by: peterz ! src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java ! src/share/classes/sun/swing/FilePane.java + test/javax/swing/JFileChooser/6698013/bug6698013.html + test/javax/swing/JFileChooser/6698013/bug6698013.java Changeset: be2b6b030a79 Author: rupashka Date: 2008-11-26 19:08 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/be2b6b030a79 6560349: REGRESSION :folder having ".lnk" in the name can not be opened by 5.0 and later versions Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Changeset: 8b842701af50 Author: rupashka Date: 2008-11-26 19:38 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/8b842701af50 6776856: Code with useShellFolder field shuold be simplify Reviewed-by: peterz ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java ! src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java ! src/share/classes/sun/swing/FilePane.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java Changeset: 5784f5dfe3ac Author: rupashka Date: 2008-11-27 17:55 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/5784f5dfe3ac 6776095: Code improvement and warnings removing from swing packages Reviewed-by: malenkov Contributed-by: Florian Brunner ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/share/classes/javax/swing/ImageIcon.java ! src/share/classes/javax/swing/ProgressMonitor.java ! src/share/classes/javax/swing/SwingWorker.java ! src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java ! src/share/classes/javax/swing/table/DefaultTableColumnModel.java ! src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java ! src/share/classes/javax/swing/undo/CompoundEdit.java Changeset: 50a9a4db3500 Author: malenkov Date: 2008-12-22 17:42 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/50a9a4db3500 4864117: RFE: Make XMLDecoder API more reusable Reviewed-by: peterz, loneid - src/share/classes/com/sun/beans/ObjectHandler.java + src/share/classes/com/sun/beans/decoder/AccessorElementHandler.java + src/share/classes/com/sun/beans/decoder/ArrayElementHandler.java + src/share/classes/com/sun/beans/decoder/BooleanElementHandler.java + src/share/classes/com/sun/beans/decoder/ByteElementHandler.java + src/share/classes/com/sun/beans/decoder/CharElementHandler.java + src/share/classes/com/sun/beans/decoder/ClassElementHandler.java + src/share/classes/com/sun/beans/decoder/DocumentHandler.java + src/share/classes/com/sun/beans/decoder/DoubleElementHandler.java + src/share/classes/com/sun/beans/decoder/ElementHandler.java + src/share/classes/com/sun/beans/decoder/FalseElementHandler.java + src/share/classes/com/sun/beans/decoder/FieldElementHandler.java + src/share/classes/com/sun/beans/decoder/FloatElementHandler.java + src/share/classes/com/sun/beans/decoder/IntElementHandler.java + src/share/classes/com/sun/beans/decoder/JavaElementHandler.java + src/share/classes/com/sun/beans/decoder/LongElementHandler.java + src/share/classes/com/sun/beans/decoder/MethodElementHandler.java + src/share/classes/com/sun/beans/decoder/NewElementHandler.java + src/share/classes/com/sun/beans/decoder/NullElementHandler.java + src/share/classes/com/sun/beans/decoder/ObjectElementHandler.java + src/share/classes/com/sun/beans/decoder/PropertyElementHandler.java + src/share/classes/com/sun/beans/decoder/ShortElementHandler.java + src/share/classes/com/sun/beans/decoder/StringElementHandler.java + src/share/classes/com/sun/beans/decoder/TrueElementHandler.java + src/share/classes/com/sun/beans/decoder/ValueObject.java + src/share/classes/com/sun/beans/decoder/ValueObjectImpl.java + src/share/classes/com/sun/beans/decoder/VarElementHandler.java + src/share/classes/com/sun/beans/decoder/VoidElementHandler.java + src/share/classes/com/sun/beans/finder/AbstractFinder.java ! src/share/classes/com/sun/beans/finder/ClassFinder.java + src/share/classes/com/sun/beans/finder/ConstructorFinder.java + src/share/classes/com/sun/beans/finder/FieldFinder.java + src/share/classes/com/sun/beans/finder/MethodFinder.java ! src/share/classes/com/sun/beans/finder/PrimitiveTypeMap.java + src/share/classes/com/sun/beans/finder/PrimitiveWrapperMap.java + src/share/classes/com/sun/beans/finder/Signature.java ! src/share/classes/java/beans/MetaData.java ! src/share/classes/java/beans/ReflectionUtils.java ! src/share/classes/java/beans/XMLDecoder.java ! src/share/classes/javax/swing/plaf/synth/SynthParser.java + test/java/beans/XMLDecoder/Test4864117.java ! test/java/beans/XMLDecoder/Test6341798.java + test/java/beans/XMLDecoder/spec/AbstractTest.java + test/java/beans/XMLDecoder/spec/TestArray.java + test/java/beans/XMLDecoder/spec/TestBoolean.java + test/java/beans/XMLDecoder/spec/TestByte.java + test/java/beans/XMLDecoder/spec/TestChar.java + test/java/beans/XMLDecoder/spec/TestClass.java + test/java/beans/XMLDecoder/spec/TestDouble.java + test/java/beans/XMLDecoder/spec/TestFalse.java + test/java/beans/XMLDecoder/spec/TestField.java + test/java/beans/XMLDecoder/spec/TestFloat.java + test/java/beans/XMLDecoder/spec/TestInt.java + test/java/beans/XMLDecoder/spec/TestJava.java + test/java/beans/XMLDecoder/spec/TestLong.java + test/java/beans/XMLDecoder/spec/TestMethod.java + test/java/beans/XMLDecoder/spec/TestNew.java + test/java/beans/XMLDecoder/spec/TestNull.java + test/java/beans/XMLDecoder/spec/TestObject.java + test/java/beans/XMLDecoder/spec/TestProperty.java + test/java/beans/XMLDecoder/spec/TestShort.java + test/java/beans/XMLDecoder/spec/TestString.java + test/java/beans/XMLDecoder/spec/TestTrue.java + test/java/beans/XMLDecoder/spec/TestVar.java Changeset: 2b8a0d8b5cbb Author: malenkov Date: 2008-12-25 20:43 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/2b8a0d8b5cbb 6736248: EnumEditor bug. Class check incorrect Reviewed-by: rupashka, alexp ! src/share/classes/sun/beans/editors/EnumEditor.java + test/java/beans/PropertyEditor/TestEnumSubclass.java + test/java/beans/PropertyEditor/TestEnumSubclassJava.java + test/java/beans/PropertyEditor/TestEnumSubclassNull.java + test/java/beans/PropertyEditor/TestEnumSubclassValue.java Changeset: b06c29386f63 Author: amenkov Date: 2009-01-19 20:11 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/b06c29386f63 6702956: OpenJDK: replace encumbered code (software synthesizer) 6717691: Update Gervill with post 1.0 fixes 6740210: Update Gervill with more post 1.0 fixes 6748247: Further update Gervill with still more post 1.0 fixes 6748251: Apply IcedTea midi sound patch 6758986: Gervill: Turn SoftJitterCorrector, SoftAudioPusher threads into a daemon threads Reviewed-by: ohair, darcy ! make/common/Release.gmk ! make/common/internal/BinaryPlugs.gmk ! make/javax/sound/Makefile - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java + src/share/classes/com/sun/media/sound/AudioFileSoundbankReader.java + src/share/classes/com/sun/media/sound/AudioFloatConverter.java + src/share/classes/com/sun/media/sound/AudioFloatFormatConverter.java + src/share/classes/com/sun/media/sound/AudioFloatInputStream.java + src/share/classes/com/sun/media/sound/AudioSynthesizer.java + src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java + src/share/classes/com/sun/media/sound/DLSInfo.java + src/share/classes/com/sun/media/sound/DLSInstrument.java + src/share/classes/com/sun/media/sound/DLSModulator.java + src/share/classes/com/sun/media/sound/DLSRegion.java + src/share/classes/com/sun/media/sound/DLSSample.java + src/share/classes/com/sun/media/sound/DLSSampleLoop.java + src/share/classes/com/sun/media/sound/DLSSampleOptions.java + src/share/classes/com/sun/media/sound/DLSSoundbank.java + src/share/classes/com/sun/media/sound/DLSSoundbankReader.java ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java + src/share/classes/com/sun/media/sound/EmergencySoundbank.java + src/share/classes/com/sun/media/sound/FFT.java + src/share/classes/com/sun/media/sound/InvalidDataException.java + src/share/classes/com/sun/media/sound/InvalidFormatException.java + src/share/classes/com/sun/media/sound/JARSoundbankReader.java + src/share/classes/com/sun/media/sound/ModelAbstractChannelMixer.java + src/share/classes/com/sun/media/sound/ModelAbstractOscillator.java + src/share/classes/com/sun/media/sound/ModelByteBuffer.java + src/share/classes/com/sun/media/sound/ModelByteBufferWavetable.java + src/share/classes/com/sun/media/sound/ModelChannelMixer.java + src/share/classes/com/sun/media/sound/ModelConnectionBlock.java + src/share/classes/com/sun/media/sound/ModelDestination.java + src/share/classes/com/sun/media/sound/ModelDirectedPlayer.java + src/share/classes/com/sun/media/sound/ModelDirector.java + src/share/classes/com/sun/media/sound/ModelIdentifier.java + src/share/classes/com/sun/media/sound/ModelInstrument.java + src/share/classes/com/sun/media/sound/ModelInstrumentComparator.java + src/share/classes/com/sun/media/sound/ModelMappedInstrument.java + src/share/classes/com/sun/media/sound/ModelOscillator.java + src/share/classes/com/sun/media/sound/ModelOscillatorStream.java + src/share/classes/com/sun/media/sound/ModelPatch.java + src/share/classes/com/sun/media/sound/ModelPerformer.java + src/share/classes/com/sun/media/sound/ModelSource.java + src/share/classes/com/sun/media/sound/ModelStandardDirector.java + src/share/classes/com/sun/media/sound/ModelStandardTransform.java + src/share/classes/com/sun/media/sound/ModelTransform.java + src/share/classes/com/sun/media/sound/ModelWavetable.java ! src/share/classes/com/sun/media/sound/Platform.java + src/share/classes/com/sun/media/sound/RIFFInvalidDataException.java + src/share/classes/com/sun/media/sound/RIFFInvalidFormatException.java + src/share/classes/com/sun/media/sound/RIFFReader.java + src/share/classes/com/sun/media/sound/RIFFWriter.java ! src/share/classes/com/sun/media/sound/RealTimeSequencer.java + src/share/classes/com/sun/media/sound/SF2GlobalRegion.java + src/share/classes/com/sun/media/sound/SF2Instrument.java + src/share/classes/com/sun/media/sound/SF2InstrumentRegion.java + src/share/classes/com/sun/media/sound/SF2Layer.java + src/share/classes/com/sun/media/sound/SF2LayerRegion.java + src/share/classes/com/sun/media/sound/SF2Modulator.java + src/share/classes/com/sun/media/sound/SF2Region.java + src/share/classes/com/sun/media/sound/SF2Sample.java + src/share/classes/com/sun/media/sound/SF2Soundbank.java + src/share/classes/com/sun/media/sound/SF2SoundbankReader.java + src/share/classes/com/sun/media/sound/SimpleInstrument.java + src/share/classes/com/sun/media/sound/SimpleSoundbank.java + src/share/classes/com/sun/media/sound/SoftAbstractResampler.java + src/share/classes/com/sun/media/sound/SoftAudioBuffer.java + src/share/classes/com/sun/media/sound/SoftAudioProcessor.java + src/share/classes/com/sun/media/sound/SoftAudioPusher.java + src/share/classes/com/sun/media/sound/SoftChannel.java + src/share/classes/com/sun/media/sound/SoftChannelProxy.java + src/share/classes/com/sun/media/sound/SoftChorus.java + src/share/classes/com/sun/media/sound/SoftControl.java + src/share/classes/com/sun/media/sound/SoftCubicResampler.java + src/share/classes/com/sun/media/sound/SoftEnvelopeGenerator.java + src/share/classes/com/sun/media/sound/SoftFilter.java + src/share/classes/com/sun/media/sound/SoftInstrument.java + src/share/classes/com/sun/media/sound/SoftJitterCorrector.java + src/share/classes/com/sun/media/sound/SoftLanczosResampler.java + src/share/classes/com/sun/media/sound/SoftLimiter.java + src/share/classes/com/sun/media/sound/SoftLinearResampler.java + src/share/classes/com/sun/media/sound/SoftLinearResampler2.java + src/share/classes/com/sun/media/sound/SoftLowFrequencyOscillator.java + src/share/classes/com/sun/media/sound/SoftMainMixer.java + src/share/classes/com/sun/media/sound/SoftMidiAudioFileReader.java + src/share/classes/com/sun/media/sound/SoftMixingClip.java + src/share/classes/com/sun/media/sound/SoftMixingDataLine.java + src/share/classes/com/sun/media/sound/SoftMixingMainMixer.java + src/share/classes/com/sun/media/sound/SoftMixingMixer.java + src/share/classes/com/sun/media/sound/SoftMixingMixerProvider.java + src/share/classes/com/sun/media/sound/SoftMixingSourceDataLine.java + src/share/classes/com/sun/media/sound/SoftPerformer.java + src/share/classes/com/sun/media/sound/SoftPointResampler.java + src/share/classes/com/sun/media/sound/SoftProcess.java + src/share/classes/com/sun/media/sound/SoftProvider.java + src/share/classes/com/sun/media/sound/SoftReceiver.java + src/share/classes/com/sun/media/sound/SoftResampler.java + src/share/classes/com/sun/media/sound/SoftResamplerStreamer.java + src/share/classes/com/sun/media/sound/SoftReverb.java + src/share/classes/com/sun/media/sound/SoftShortMessage.java + src/share/classes/com/sun/media/sound/SoftSincResampler.java + src/share/classes/com/sun/media/sound/SoftSynthesizer.java + src/share/classes/com/sun/media/sound/SoftTuning.java + src/share/classes/com/sun/media/sound/SoftVoice.java + src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java + src/share/classes/com/sun/media/sound/WaveFloatFileReader.java + src/share/classes/com/sun/media/sound/WaveFloatFileWriter.java ! src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.MidiDeviceProvider ! src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.MidiFileReader ! src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.SoundbankReader ! src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.AudioFileReader ! src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.FormatConversionProvider ! src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.MixerProvider - src/share/lib/audio/soundbank.gm + test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java + test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java + test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java + test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java + test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java + test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java + test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java + test/javax/sound/midi/Gervill/DLSSoundbankReader/ding.dls + test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java + test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java + test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java + test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java + test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java + test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java + test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java + test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java + test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java + test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java + test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java + test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java + test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java + test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java + test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java + test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java + test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java + test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java + test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java + test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java + test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java + test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java + test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java + test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java + test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java + test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java + test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java + test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java + test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java + test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java + test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java + test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java + test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java + test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java + test/javax/sound/midi/Gervill/ModelPerformer/SetName.java + test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java + test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java + test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java + test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java + test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java + test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java + test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java + test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java + test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java + test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java + test/javax/sound/midi/Gervill/ModelSource/SetTransform.java + test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java + test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java + test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java + test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java + test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java + test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java + test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java + test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java + test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java + test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java + test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java + test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java + test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java + test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java + test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java + test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java + test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java + test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java + test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java + test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java + test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java + test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java + test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java + test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java + test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java + test/javax/sound/midi/Gervill/SF2SoundbankReader/ding.sf2 + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java + test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java + test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java + test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java + test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java + test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java + test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java + test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java + test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java + test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java + test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java + test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java + test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java + test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java + test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java + test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java + test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java + test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java + test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java + test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java + test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java + test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java + test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java + test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java + test/javax/sound/midi/Gervill/SoftChannel/Controller.java + test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java + test/javax/sound/midi/Gervill/SoftChannel/Mono.java + test/javax/sound/midi/Gervill/SoftChannel/Mute.java + test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java + test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java + test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java + test/javax/sound/midi/Gervill/SoftChannel/Omni.java + test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java + test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java + test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java + test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java + test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java + test/javax/sound/midi/Gervill/SoftChannel/Solo.java + test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java + test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java + test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java + test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java + test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java + test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java + test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java + test/javax/sound/midi/Gervill/SoftReceiver/Close.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java + test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java + test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java + test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java + test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java + test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java + test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java + test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java + test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java + test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java + test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java + test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java + test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java + test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java + test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java + test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java + test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java + test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java + test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java + test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java + test/javax/sound/midi/Gervill/SoftSynthesizer/ding.sf2 + test/javax/sound/midi/Gervill/SoftSynthesizer/expresso.mid + test/javax/sound/midi/Gervill/SoftTuning/GetName.java + test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java + test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java + test/javax/sound/midi/Gervill/SoftTuning/Load1.java + test/javax/sound/midi/Gervill/SoftTuning/Load2.java + test/javax/sound/midi/Gervill/SoftTuning/Load4.java + test/javax/sound/midi/Gervill/SoftTuning/Load5.java + test/javax/sound/midi/Gervill/SoftTuning/Load6.java + test/javax/sound/midi/Gervill/SoftTuning/Load7.java + test/javax/sound/midi/Gervill/SoftTuning/Load8.java + test/javax/sound/midi/Gervill/SoftTuning/Load9.java + test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java + test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java + test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java + test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java Changeset: cda097df492f Author: peterz Date: 2009-01-21 21:30 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/cda097df492f 6792401: Windows LAF: ActiveWindowsIcon should not be greedy with fallback icon Summary: Fallback mechanism changed to use symbolic name instead of icon. Reviewed-by: igor, rupashka ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Changeset: cf591ddc3456 Author: naoto Date: 2009-01-21 13:58 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/cf591ddc3456 6627549: ISO 3166 code addition: Saint Barthelemy and Saint Martin 6786276: Locale.getISOCountries() still contains country code "CS" Reviewed-by: okutsu ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/java/util/LocaleISOData.java ! src/share/classes/sun/util/resources/LocaleNames.properties ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Locale/LocaleTest.java ! test/sun/text/resources/LocaleData Changeset: f650e6e22c16 Author: malenkov Date: 2009-01-23 18:31 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f650e6e22c16 4222508: JColorChooser ignores setEnabled() function call Reviewed-by: peterz, rupashka ! src/share/classes/javax/swing/colorchooser/AbstractColorChooserPanel.java ! src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java ! src/share/classes/javax/swing/colorchooser/DefaultSwatchChooserPanel.java + test/javax/swing/JColorChooser/Test4222508.html + test/javax/swing/JColorChooser/Test4222508.java Changeset: d75ae3f11e01 Author: peytoia Date: 2009-01-26 09:19 +0900 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/d75ae3f11e01 6796489: (tz) Support tzdata2009a Reviewed-by: okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/asia ! make/sun/javazic/tzdata/backward ! make/sun/javazic/tzdata/europe ! make/sun/javazic/tzdata/northamerica ! make/sun/javazic/tzdata/zone.tab ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Changeset: e02f2d591cd5 Author: malenkov Date: 2009-01-29 15:34 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/e02f2d591cd5 6788531: java.beans.Statement imposes excessive access control Reviewed-by: peterz, rupashka ! src/share/classes/com/sun/beans/finder/MethodFinder.java ! src/share/classes/java/beans/EventHandler.java ! src/share/classes/java/beans/ReflectionUtils.java ! src/share/classes/java/beans/Statement.java + test/java/beans/EventHandler/Test6788531.java + test/java/beans/Statement/Test6788531.java Changeset: ff6633279632 Author: rupashka Date: 2009-01-29 19:06 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/ff6633279632 6794836: BasicSliderUI throws NullPointerExc when JSlider maximum is Integer.MAX_VALUE Reviewed-by: peterz ! src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java + test/javax/swing/JSlider/6794836/bug6794836.java Changeset: 1f6ff90d9692 Author: lana Date: 2009-01-29 09:25 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/1f6ff90d9692 Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java ! src/share/classes/javax/swing/plaf/synth/SynthParser.java ! src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java - src/share/lib/audio/soundbank.gm Changeset: 4b03e27a4409 Author: lana Date: 2009-02-03 22:02 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/4b03e27a4409 Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/lib/audio/soundbank.gm Changeset: b4ac413b1f12 Author: xdono Date: 2009-02-05 16:07 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/b4ac413b1f12 Added tag jdk7-b46 for changeset 4b03e27a4409 ! .hgtags Changeset: 2ab03c2f814b Author: xdono Date: 2009-02-12 14:00 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/2ab03c2f814b Added tag jdk7-b47 for changeset b4ac413b1f12 ! .hgtags Changeset: 53d9259661c3 Author: jccollet Date: 2009-01-27 11:36 +0100 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/53d9259661c3 6790677: java.net.HttpCookie.parse(String) should ignore unrecognized attributes, RFC2965 Summary: Changed code not to throw an exception on unknown attributes Reviewed-by: chegar ! src/share/classes/java/net/HttpCookie.java ! test/java/net/CookieHandler/TestHttpCookie.java Changeset: 6eac3829cb41 Author: martin Date: 2009-01-27 15:04 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/6eac3829cb41 6797480: Remove synchronization bottleneck in logger Reviewed-by: swamyv Contributed-by: jeremymanson at google.com ! src/share/classes/java/util/logging/Logger.java Changeset: c2d2185a79dd Author: darcy Date: 2009-01-28 10:30 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/c2d2185a79dd 6704655: Test test/java/lang/reflect/Generics/Probe.java fails under OpenJDK Reviewed-by: ksrini ! test/java/lang/reflect/Generics/Probe.java Changeset: 1ebbc958f06a Author: darcy Date: 2009-01-28 12:46 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/1ebbc958f06a 6719182: update legal notice in java/lang/instrument/package.html Reviewed-by: jjh ! src/share/classes/java/lang/instrument/package.html Changeset: 6607850bd7fc Author: martin Date: 2009-01-28 14:13 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/6607850bd7fc 6798822: (process) Non-portable use of isdigit in src/solaris/native/java/lang/UNIXProcess_md.c Reviewed-by: alanb Contributed-by: christos at zoulas.com ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: 7241bd422542 Author: darcy Date: 2009-01-29 09:04 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7241bd422542 6239194: Object.hashCode() should reference System.identityHashCode() Reviewed-by: emcmanus ! src/share/classes/java/lang/Object.java Changeset: ff9ad99b63cc Author: darcy Date: 2009-01-29 13:04 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/ff9ad99b63cc 6327048: Enum javadoc could link to JLS 6653154: Exception message for bad Enum.valueOf has spurious "class" Reviewed-by: emcmanus ! src/share/classes/java/lang/Enum.java ! src/share/classes/java/lang/annotation/Annotation.java + test/java/lang/Enum/ValueOf.java Changeset: 483e5c97d438 Author: darcy Date: 2009-01-30 12:40 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/483e5c97d438 6799343: (fmt) java.util.Formatter uses plainlink instead of linkplain Reviewed-by: alanb ! src/share/classes/java/util/Formatter.java Changeset: d6881542bfef Author: michaelm Date: 2009-01-30 22:05 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/d6881542bfef 4167874: URL-downloaded jar files can consume all available file descriptors Summary: added close method to URLClassLoader Reviewed-by: alanb ! src/share/classes/java/lang/RuntimePermission.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/sun/misc/URLClassPath.java + test/java/net/URLClassLoader/closetest/CloseTest.java + test/java/net/URLClassLoader/closetest/README + test/java/net/URLClassLoader/closetest/build.sh + test/java/net/URLClassLoader/closetest/serverRoot/Test.java + test/java/net/URLClassLoader/closetest/test1/com/foo/Resource1 + test/java/net/URLClassLoader/closetest/test1/com/foo/Resource2 + test/java/net/URLClassLoader/closetest/test1/com/foo/TestClass.java + test/java/net/URLClassLoader/closetest/test1/com/foo/TestClass1.java + test/java/net/URLClassLoader/closetest/test2/com/foo/Resource1 + test/java/net/URLClassLoader/closetest/test2/com/foo/Resource2 + test/java/net/URLClassLoader/closetest/test2/com/foo/TestClass.java + test/java/net/URLClassLoader/closetest/test2/com/foo/TestClass1.java Changeset: 0a05a2632a81 Author: michaelm Date: 2009-01-30 22:27 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/0a05a2632a81 Merge Changeset: 948c504d6ef7 Author: darcy Date: 2009-01-30 15:09 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/948c504d6ef7 6799462: Minor typo (wrong word) in JavaDoc for InputStream.read(byte[] b) method Reviewed-by: sherman, martin ! src/share/classes/java/io/InputStream.java Changeset: f9cf49b7b248 Author: tbell Date: 2009-01-30 23:27 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f9cf49b7b248 Merge Changeset: 886a56291f1c Author: tbell Date: 2009-02-05 09:24 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/886a56291f1c Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/lib/audio/soundbank.gm Changeset: 6c5d04d1eff4 Author: jccollet Date: 2009-02-02 16:50 +0100 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/6c5d04d1eff4 6791927: Wrong Locale in HttpCookie::expiryDate2DeltaSeconds Summary: Force Locale.US when parsing the cookie expiration date. Reviewed-by: chegar ! src/share/classes/java/net/HttpCookie.java + test/java/net/CookieHandler/B6791927.java Changeset: dbb82636df41 Author: weijun Date: 2009-02-03 09:38 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/dbb82636df41 6552334: Enable DNS in Kerberos by default Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/KrbServiceLocator.java ! test/sun/security/krb5/DnsFallback.java Changeset: ca32af4c0ea5 Author: weijun Date: 2009-02-03 09:38 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/ca32af4c0ea5 6785456: Read Kerberos setting from Windows environment variables Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/Config.java Changeset: 050da121df16 Author: darcy Date: 2009-02-03 16:29 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/050da121df16 6548433: (enum spec) java.lang.Enum docs should explain about values() and valueOf(String) Reviewed-by: martin ! src/share/classes/java/lang/Enum.java Changeset: a96a1f0edeeb Author: xuelei Date: 2009-02-04 19:10 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/a96a1f0edeeb 6782783: regtest HttpsURLConnection/B6216082.java throws ClosedByInterruptException Summary: make the test robust Reviewed-by: weijun ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java Changeset: 61ee91f965ac Author: jccollet Date: 2009-02-04 14:15 +0100 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/61ee91f965ac 6585546: Please update API doc for java.net.CookieManager Summary: Trivial doc updates Reviewed-by: chegar ! src/share/classes/java/net/CookieManager.java Changeset: c87205c0e215 Author: tbell Date: 2009-02-05 09:28 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/c87205c0e215 Merge Changeset: 2753acfbf013 Author: tbell Date: 2009-02-06 09:43 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/2753acfbf013 Merge Changeset: 14681728d6af Author: tbell Date: 2009-02-17 09:06 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/14681728d6af Merge Changeset: 75755e92430c Author: art Date: 2008-08-26 13:09 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/75755e92430c 6585765: RFE: Remove Unicows-related code from AWT 6733976: VS2008 errors compiling AWT files - explicit casts need to be added 6728735: VS2008 errors compiling UnicowsLoader.h and fatal error in awtmsg.h Summary: Unicows-related and Win95/98/Me-related code is removed Reviewed-by: uta, tdv ! make/sun/awt/FILES_c_windows.gmk ! make/sun/awt/Makefile ! make/sun/awt/make.depend ! make/sun/jawt/make.depend ! make/sun/splashscreen/Makefile ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/native/sun/awt/splashscreen/splashscreen_sys.c ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp ! src/windows/native/sun/java2d/d3d/D3DRenderQueue.cpp ! src/windows/native/sun/java2d/d3d/D3DRenderer.cpp ! src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp ! src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp ! src/windows/native/sun/java2d/windows/GDIRenderer.cpp ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp ! src/windows/native/sun/java2d/windows/WindowsFlags.cpp ! src/windows/native/sun/windows/ComCtl32Util.cpp ! src/windows/native/sun/windows/ComCtl32Util.h ! src/windows/native/sun/windows/Devices.cpp ! src/windows/native/sun/windows/Devices.h ! src/windows/native/sun/windows/GDIHashtable.cpp ! src/windows/native/sun/windows/GDIHashtable.h ! src/windows/native/sun/windows/ShellFolder2.cpp - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_Button.cpp ! src/windows/native/sun/windows/awt_Checkbox.cpp ! src/windows/native/sun/windows/awt_Choice.cpp ! src/windows/native/sun/windows/awt_Color.cpp ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Cursor.cpp ! src/windows/native/sun/windows/awt_Cursor.h ! src/windows/native/sun/windows/awt_DataTransferer.cpp ! src/windows/native/sun/windows/awt_Desktop.cpp ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_Dialog.cpp ! src/windows/native/sun/windows/awt_DnDDS.cpp ! src/windows/native/sun/windows/awt_DnDDT.cpp ! src/windows/native/sun/windows/awt_DrawingSurface.cpp ! src/windows/native/sun/windows/awt_FileDialog.cpp ! src/windows/native/sun/windows/awt_FileDialog.h ! src/windows/native/sun/windows/awt_Font.cpp ! src/windows/native/sun/windows/awt_Font.h ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_InputMethod.cpp ! src/windows/native/sun/windows/awt_InputTextInfor.cpp ! src/windows/native/sun/windows/awt_InputTextInfor.h ! src/windows/native/sun/windows/awt_List.cpp - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h ! src/windows/native/sun/windows/awt_MenuItem.cpp - src/windows/native/sun/windows/awt_Multimon.h ! src/windows/native/sun/windows/awt_Object.cpp ! src/windows/native/sun/windows/awt_Palette.cpp ! src/windows/native/sun/windows/awt_PopupMenu.cpp ! src/windows/native/sun/windows/awt_PrintControl.cpp ! src/windows/native/sun/windows/awt_PrintDialog.cpp ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_Robot.cpp ! src/windows/native/sun/windows/awt_ScrollPane.cpp ! src/windows/native/sun/windows/awt_TextArea.cpp ! src/windows/native/sun/windows/awt_TextArea.h ! src/windows/native/sun/windows/awt_TextComponent.cpp ! src/windows/native/sun/windows/awt_TextComponent.h ! src/windows/native/sun/windows/awt_TextField.cpp ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h ! src/windows/native/sun/windows/awt_TrayIcon.cpp ! src/windows/native/sun/windows/awt_TrayIcon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h ! src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp ! src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp ! src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp ! src/windows/native/sun/windows/awt_Window.cpp - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h ! src/windows/native/sun/windows/awtmsg.h ! src/windows/native/sun/windows/jawt.cpp Changeset: 95a618c79382 Author: art Date: 2008-08-26 16:31 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/95a618c79382 6741364: Some input method problems after the fix for 6585765 Summary: the fix for 6585765 is corrected Reviewed-by: uta ! src/windows/native/sun/windows/awt_InputTextInfor.cpp ! src/windows/native/sun/windows/awt_InputTextInfor.h Changeset: 39c8e06919a9 Author: art Date: 2008-09-01 17:41 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/39c8e06919a9 6707023: Chenese Characters in JTextPane Cause Pane to Hang Summary: input method events are dispatched to correct AppContext Reviewed-by: naoto, yan ! src/windows/classes/sun/awt/windows/WInputMethod.java Changeset: b942efbc1c72 Author: dav Date: 2008-09-04 17:20 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/b942efbc1c72 6738181: api/java_awt/Toolkit/index.html#GetAWTEventListeners Fails with:empty array returned unexpectedly Summary: redirect getAWTEventListeners(long l) from Headless to underlying toolkit. Reviewed-by: art ! src/share/classes/sun/awt/HeadlessToolkit.java + test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java Changeset: f0ce5b54bd90 Author: dav Date: 2008-09-04 17:24 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f0ce5b54bd90 Merge - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h Changeset: 31a7769b5fd1 Author: martin Date: 2008-09-08 17:26 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/31a7769b5fd1 6744609: Disable MMX support when building libpng library Summary: Define -DPNG_NO_MMX_CODE unconditionally, not just on 64-bit Linux Reviewed-by: anthony, art ! make/sun/splashscreen/Makefile Changeset: fd13d8cce933 Author: dcherepanov Date: 2008-09-10 15:02 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/fd13d8cce933 6743433: IM candidate window is not shown until window is deactivated and reactivated again Summary: OpenCandidateWindow procedure should directly call ::DefWindowProc Reviewed-by: art ! src/windows/native/sun/windows/awt_Component.cpp Changeset: b0c557c745e8 Author: art Date: 2008-09-11 10:38 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/b0c557c745e8 6727884: Some Uncaught Exceptions are no longer getting sent to the Uncaught Exception Handlers Reviewed-by: anthony, dav ! src/share/classes/java/awt/EventDispatchThread.java + test/java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java Changeset: 3b9a288d7ddb Author: dav Date: 2008-09-16 12:17 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/3b9a288d7ddb 6315717: Support for mouse with multiple scroll wheels and 4 or more buttons Summary: implementation of the more mouse buttons support Reviewed-by: art, dcherepanov ! make/sun/xawt/mapfile-vers ! src/share/classes/java/awt/Robot.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/doc-files/DesktopProperties.html ! src/share/classes/java/awt/event/InputEvent.java ! src/share/classes/java/awt/event/MouseEvent.java ! src/share/classes/java/awt/peer/RobotPeer.java ! src/share/classes/sun/awt/HeadlessToolkit.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java ! src/solaris/classes/sun/awt/X11/XRobotPeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/native/sun/awt/awt_Robot.c ! src/windows/classes/sun/awt/windows/WRobotPeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Robot.cpp ! src/windows/native/sun/windows/awt_Robot.h ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h ! src/windows/native/sun/windows/awt_TrayIcon.cpp + test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java + test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java + test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java + test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java + test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java + test/java/awt/Robot/ManualInstructions/ManualInstructions.java + test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java + test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java + test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java + test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java + test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java + test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java + test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java + test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java Changeset: 7e0533679ea1 Author: dav Date: 2008-09-29 14:54 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7e0533679ea1 6746212: Broken MouseEvents for TrayIcon Reviewed-by: dcherepanov, art ! src/windows/native/sun/windows/awt_TrayIcon.cpp Changeset: 672290c883fd Author: rkennke Date: 2008-09-29 20:16 +0200 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/672290c883fd 6749920: Cleanup AWT peer interfaces Summary: Remove duplicate and obsolete methods in the AWT peer interfaces. Reviewed-by: art, dav ! src/share/classes/java/awt/Choice.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/List.java ! src/share/classes/java/awt/MenuItem.java ! src/share/classes/java/awt/TextArea.java ! src/share/classes/java/awt/TextField.java ! src/share/classes/java/awt/peer/ChoicePeer.java ! src/share/classes/java/awt/peer/ComponentPeer.java ! src/share/classes/java/awt/peer/ContainerPeer.java ! src/share/classes/java/awt/peer/ListPeer.java ! src/share/classes/java/awt/peer/MenuItemPeer.java ! src/share/classes/java/awt/peer/TextAreaPeer.java ! src/share/classes/java/awt/peer/TextComponentPeer.java ! src/share/classes/java/awt/peer/TextFieldPeer.java ! src/share/classes/java/awt/peer/WindowPeer.java Changeset: 485e803c2d5a Author: dav Date: 2008-10-03 10:33 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/485e803c2d5a 6755110: Solaris build has corrupted with extra mouse buttons RFE Reviewed-by: yan ! src/solaris/native/sun/awt/awt_Robot.c Changeset: 5482ef16fe78 Author: yan Date: 2008-10-06 16:45 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/5482ef16fe78 5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif Summary: Does not work on Motif but works on XToolkit now; implemented using XQueryPointer. Reviewed-by: anthony ! make/sun/xawt/mapfile-vers ! src/solaris/classes/sun/awt/X11/XKeysym.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XlibWrapper.java ! src/solaris/classes/sun/awt/X11/keysym2ucs.h ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: ce224a356eb8 Author: dav Date: 2008-10-07 16:34 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/ce224a356eb8 6750288: Regression after 6315717. ArrayIndexOutOfBoundsException. Reviewed-by: dcherepanov, denis ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 724eb9cbd3bb Author: dav Date: 2008-10-07 16:43 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/724eb9cbd3bb Merge ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: aed796ac3788 Author: dav Date: 2008-10-08 12:50 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/aed796ac3788 5076635: Double click speed is not honored in KDE linux Reviewed-by: art, dcherepanov ! src/solaris/classes/sun/awt/X11/XToolkit.java + test/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.html + test/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.java Changeset: 346127532313 Author: dav Date: 2008-10-08 13:01 +0400 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/346127532313 Merge - make/java/nio/spp.sh - make/tools/winver/Makefile - make/tools/winver/bin/winver.exe - make/tools/winver/src/StdAfx.cpp - make/tools/winver/src/StdAfx.h - make/tools/winver/src/winver.cpp - src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java - src/share/classes/javax/management/ToQueryString.java ! src/solaris/classes/sun/awt/X11/XToolkit.java - src/windows/classes/sun/java2d/d3d/D3DBackBufferSurfaceData.java - src/windows/classes/sun/java2d/windows/DDBlitLoops.java - src/windows/classes/sun/java2d/windows/DDRenderer.java - src/windows/classes/sun/java2d/windows/DDScaleLoops.java - src/windows/classes/sun/java2d/windows/Win32OffScreenSurfaceData.java - src/windows/classes/sun/java2d/windows/Win32SurfaceData.java - src/windows/classes/sun/java2d/windows/Win32SurfaceDataProxy.java - src/windows/classes/sun/java2d/windows/WinBackBuffer.java - src/windows/classes/sun/java2d/windows/WinBackBufferSurfaceData.java - src/windows/classes/sun/java2d/windows/WinVolatileSurfaceManager.java - src/windows/native/sun/java2d/d3d/D3DRuntimeTest.cpp - src/windows/native/sun/java2d/d3d/D3DRuntimeTest.h - src/windows/native/sun/java2d/d3d/D3DTestRaster.h - src/windows/native/sun/java2d/d3d/D3DTextRenderer_md.cpp - src/windows/native/sun/java2d/d3d/D3DUtils.cpp - src/windows/native/sun/java2d/d3d/D3DUtils.h - src/windows/native/sun/java2d/windows/DDBlitLoops.cpp - src/windows/native/sun/java2d/windows/DDRenderer.cpp - src/windows/native/sun/java2d/windows/RegistryKey.cpp - src/windows/native/sun/java2d/windows/RegistryKey.h - src/windows/native/sun/java2d/windows/Win32OffScreenSurfaceData.cpp - src/windows/native/sun/java2d/windows/Win32SurfaceData.cpp - src/windows/native/sun/java2d/windows/Win32SurfaceData.h - src/windows/native/sun/java2d/windows/WinBackBufferSurfaceData.cpp - src/windows/native/sun/java2d/windows/ddrawObject.cpp - src/windows/native/sun/java2d/windows/ddrawObject.h - src/windows/native/sun/java2d/windows/ddrawUtils.cpp - src/windows/native/sun/java2d/windows/ddrawUtils.h - src/windows/native/sun/java2d/windows/dxCapabilities.cpp - src/windows/native/sun/java2d/windows/dxCapabilities.h - src/windows/native/sun/java2d/windows/dxInit.cpp - src/windows/native/sun/java2d/windows/dxInit.h - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h Changeset: 0c515369b48b Author: lana Date: 2008-10-20 19:07 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/0c515369b48b Merge - make/ASSEMBLY_EXCEPTION - make/LICENSE - make/README - make/README-builds.html - make/README.html - make/THIRD_PARTY_README ! make/sun/awt/Makefile - make/tools/auto_multi/Makefile - make/tools/src/build/tools/automulti/AutoMulti.java - make/tools/src/build/tools/automulti/README.txt - make/tools/src/build/tools/automulti/TestALFGenerator.java - make/tools/src/build/tools/automulti/TestALFLookAndFeel.java ! src/share/classes/java/awt/EventDispatchThread.java - src/share/classes/java/nio/channels/package.html - src/share/classes/javax/swing/colorchooser/DefaultHSBChooserPanel.java - src/share/classes/javax/swing/colorchooser/DefaultRGBChooserPanel.java - src/share/classes/javax/swing/colorchooser/SyntheticImage.java - src/share/classes/org/jcp/xml/dsig/internal/package.html - src/share/classes/sun/launcher/LauncherHelp.java - src/share/classes/sun/nio/ch/OptionAdaptor.java - src/share/classes/sun/nio/ch/SocketOpts.java - src/share/classes/sun/nio/ch/SocketOptsImpl.java - src/share/classes/sun/nio/ch/exceptions - src/share/javavm/include/opcodes.h - src/share/javavm/include/opcodes.length - src/share/javavm/include/opcodes.list - src/share/javavm/include/opcodes.weight - src/share/javavm/include/opcodes.wide - src/share/javavm/include/sys_api.h - src/share/javavm/include/typedefs.h - src/solaris/javavm/include/typedefs_md.h - src/windows/javavm/include/typedefs_md.h ! src/windows/native/sun/windows/ComCtl32Util.cpp ! src/windows/native/sun/windows/ComCtl32Util.h ! src/windows/native/sun/windows/awt_TextArea.cpp - test/javax/swing/JFileChooser/4252173/bug4252173.java - test/javax/swing/JFileChooser/6524424/bug6524424.html - test/javax/swing/JFileChooser/6524424/bug6524424.java - test/sun/net/www/http/ChunkedInputStream/test.txt - test/tools/launcher/Arrrghs.sh Changeset: 7406833af6e4 Author: art Date: 2008-10-28 17:06 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7406833af6e4 6758673: WeakReference leak in Window.ownedWindowList Summary: WindowDisposerRecord parent field is correctly initialized Reviewed-by: dav, ant ! src/share/classes/java/awt/Window.java + test/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java Changeset: 9daa41eca0d9 Author: art Date: 2008-11-26 16:25 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/9daa41eca0d9 6699589: java/awt/EventQueue/PostEventOrderingTest.java fails Reviewed-by: dav, anthony ! src/share/classes/sun/awt/SunToolkit.java Changeset: d5bf2dd61ed5 Author: art Date: 2008-12-19 16:04 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/d5bf2dd61ed5 6773985: OutOfMemory (PermGen space) under Linux / Firefox when switching bw. applets Summary: XEmbedClientHelper is uninstalled when its embedded frame is disposed. Reviewed-by: dcherepanov, ant ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java Changeset: 63d087cacbf9 Author: rkennke Date: 2009-01-13 20:04 +0100 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/63d087cacbf9 6792515: Specify awt peer's API Summary: Document AWT peer API. Reviewed-by: art, dav ! src/share/classes/java/awt/peer/ButtonPeer.java ! src/share/classes/java/awt/peer/CanvasPeer.java ! src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java ! src/share/classes/java/awt/peer/CheckboxPeer.java ! src/share/classes/java/awt/peer/ChoicePeer.java ! src/share/classes/java/awt/peer/ComponentPeer.java ! src/share/classes/java/awt/peer/ContainerPeer.java ! src/share/classes/java/awt/peer/DesktopPeer.java ! src/share/classes/java/awt/peer/DialogPeer.java ! src/share/classes/java/awt/peer/FileDialogPeer.java ! src/share/classes/java/awt/peer/FontPeer.java ! src/share/classes/java/awt/peer/FramePeer.java ! src/share/classes/java/awt/peer/KeyboardFocusManagerPeer.java ! src/share/classes/java/awt/peer/LabelPeer.java ! src/share/classes/java/awt/peer/ListPeer.java ! src/share/classes/java/awt/peer/MenuBarPeer.java ! src/share/classes/java/awt/peer/MenuComponentPeer.java ! src/share/classes/java/awt/peer/MenuItemPeer.java ! src/share/classes/java/awt/peer/MenuPeer.java ! src/share/classes/java/awt/peer/MouseInfoPeer.java ! src/share/classes/java/awt/peer/PanelPeer.java ! src/share/classes/java/awt/peer/PopupMenuPeer.java ! src/share/classes/java/awt/peer/RobotPeer.java ! src/share/classes/java/awt/peer/ScrollPanePeer.java ! src/share/classes/java/awt/peer/ScrollbarPeer.java ! src/share/classes/java/awt/peer/SystemTrayPeer.java ! src/share/classes/java/awt/peer/TextAreaPeer.java ! src/share/classes/java/awt/peer/TextComponentPeer.java ! src/share/classes/java/awt/peer/TextFieldPeer.java ! src/share/classes/java/awt/peer/TrayIconPeer.java ! src/share/classes/java/awt/peer/WindowPeer.java Changeset: 127e3269ee1f Author: bae Date: 2009-01-20 19:51 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/127e3269ee1f 6551075: screenshot image taken through clipboard on W2K terminal server is shifted Reviewed-by: dav, uta ! src/windows/native/sun/windows/awt_DataTransferer.cpp Changeset: 9fa2e56c8a30 Author: art Date: 2009-01-29 14:58 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/9fa2e56c8a30 6721088: Bad window size calculation after using pack() Reviewed-by: anthony Contributed-by: Omair Majid ! src/solaris/classes/sun/awt/X11/WindowDimensions.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java + test/java/awt/Frame/FrameSize/TestFrameSize.java Changeset: f36e9200cb85 Author: anthony Date: 2009-02-04 11:58 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f36e9200cb85 6797195: Forward-port enhancements for hw/lw mixing from 6u12 to 7 Reviewed-by: art, dcherepanov ! make/sun/awt/Makefile ! make/tools/sharing/classlist.linux ! make/tools/sharing/classlist.solaris ! make/tools/sharing/classlist.windows + src/share/classes/com/sun/awt/AWTUtilities.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/javax/swing/JRootPane.java + src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/java2d/pipe/Region.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/native/sun/windows/awt_Component.cpp + test/java/awt/Mixing/HWDisappear.java + test/java/awt/Mixing/JButtonInGlassPane.java + test/java/awt/Mixing/LWComboBox.java + test/java/awt/Mixing/MixingOnShrinkingHWButton.java + test/java/awt/Mixing/NonOpaqueInternalFrame.java ! test/java/awt/Mixing/OpaqueTest.java ! test/java/awt/Mixing/OverlappingButtons.java Changeset: 8b96fb2d0c3a Author: lana Date: 2009-02-10 12:26 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/8b96fb2d0c3a Merge ! make/sun/xawt/mapfile-vers ! src/share/classes/java/awt/EventDispatchThread.java - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h Changeset: 5fbd9ea7def1 Author: lana Date: 2009-02-18 10:05 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/5fbd9ea7def1 Merge - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h Changeset: 8311105ea7a3 Author: xdono Date: 2009-02-19 14:08 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/8311105ea7a3 Added tag jdk7-b48 for changeset 5fbd9ea7def1 ! .hgtags Changeset: 383d6bebfba6 Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/383d6bebfba6 Added tag jdk7-b49 for changeset 8311105ea7a3 ! .hgtags Changeset: 40ce81649cd6 Author: poonam Date: 2009-02-10 03:26 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/40ce81649cd6 6755621: Include SA binaries into Windows JDK Summary: These changes will enable inclusion of sa-jdi.jar and sawindbg.dll into Windows JDK bundle. Reviewed-by: never, jjh, alanb ! make/common/Defs-windows.gmk Changeset: 043dfafc41a5 Author: chegar Date: 2009-02-11 13:16 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/043dfafc41a5 6799040: Portability issues in src/solaris/native/java/net/Inet4AddressImpl.c Reviewed-by: alanb Contributed-by: christos at zoulas.com ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c Changeset: f06f30b29f36 Author: alanb Date: 2009-02-15 12:25 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f06f30b29f36 6781363: New I/O: Update socket-channel API to jsr203/nio2-b99 4313887: New I/O: Improved filesystem interface 4607272: New I/O: Support asynchronous I/O Reviewed-by: sherman, chegar ! make/docs/CORE_PKGS.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/java/nio/Exportedfiles.gmk ! make/java/nio/FILES_c.gmk ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! make/mksample/nio/Makefile + make/mksample/nio/file/Makefile + src/share/classes/com/sun/nio/file/ExtendedCopyOption.java + src/share/classes/com/sun/nio/file/ExtendedOpenOption.java + src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java + src/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java ! src/share/classes/java/io/File.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/net/StandardProtocolFamily.java ! src/share/classes/java/net/StandardSocketOption.java + src/share/classes/java/nio/channels/AsynchronousByteChannel.java + src/share/classes/java/nio/channels/AsynchronousChannel.java + src/share/classes/java/nio/channels/AsynchronousChannelGroup.java + src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java + src/share/classes/java/nio/channels/AsynchronousFileChannel.java + src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java + src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/Channels.java + src/share/classes/java/nio/channels/CompletionHandler.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/MembershipKey.java ! src/share/classes/java/nio/channels/MulticastChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java + src/share/classes/java/nio/channels/SeekableByteChannel.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/exceptions ! src/share/classes/java/nio/channels/package-info.java + src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/nio/channels/spi/package.html + src/share/classes/java/nio/file/AccessDeniedException.java + src/share/classes/java/nio/file/AccessMode.java + src/share/classes/java/nio/file/AtomicMoveNotSupportedException.java + src/share/classes/java/nio/file/ClosedDirectoryStreamException.java + src/share/classes/java/nio/file/ClosedFileSystemException.java + src/share/classes/java/nio/file/ClosedWatchServiceException.java + src/share/classes/java/nio/file/CopyOption.java + src/share/classes/java/nio/file/DirectoryNotEmptyException.java + src/share/classes/java/nio/file/DirectoryStream.java + src/share/classes/java/nio/file/DirectoryStreamFilters.java + src/share/classes/java/nio/file/FileAction.java + src/share/classes/java/nio/file/FileAlreadyExistsException.java + src/share/classes/java/nio/file/FileRef.java + src/share/classes/java/nio/file/FileStore.java + src/share/classes/java/nio/file/FileSystem.java + src/share/classes/java/nio/file/FileSystemAlreadyExistsException.java + src/share/classes/java/nio/file/FileSystemException.java + src/share/classes/java/nio/file/FileSystemNotFoundException.java + src/share/classes/java/nio/file/FileSystems.java + src/share/classes/java/nio/file/FileTreeWalker.java + src/share/classes/java/nio/file/FileVisitOption.java + src/share/classes/java/nio/file/FileVisitResult.java + src/share/classes/java/nio/file/FileVisitor.java + src/share/classes/java/nio/file/Files.java + src/share/classes/java/nio/file/InvalidPathException.java + src/share/classes/java/nio/file/LinkOption.java + src/share/classes/java/nio/file/LinkPermission.java + src/share/classes/java/nio/file/NoSuchFileException.java + src/share/classes/java/nio/file/NotDirectoryException.java + src/share/classes/java/nio/file/NotLinkException.java + src/share/classes/java/nio/file/OpenOption.java + src/share/classes/java/nio/file/Path.java + src/share/classes/java/nio/file/PathMatcher.java + src/share/classes/java/nio/file/Paths.java + src/share/classes/java/nio/file/ProviderMismatchException.java + src/share/classes/java/nio/file/ProviderNotFoundException.java + src/share/classes/java/nio/file/ReadOnlyFileSystemException.java + src/share/classes/java/nio/file/SecureDirectoryStream.java + src/share/classes/java/nio/file/SimpleFileVisitor.java + src/share/classes/java/nio/file/StandardCopyOption.java + src/share/classes/java/nio/file/StandardOpenOption.java + src/share/classes/java/nio/file/StandardWatchEventKind.java + src/share/classes/java/nio/file/WatchEvent.java + src/share/classes/java/nio/file/WatchKey.java + src/share/classes/java/nio/file/WatchService.java + src/share/classes/java/nio/file/Watchable.java + src/share/classes/java/nio/file/attribute/AclEntry.java + src/share/classes/java/nio/file/attribute/AclEntryFlag.java + src/share/classes/java/nio/file/attribute/AclEntryPermission.java + src/share/classes/java/nio/file/attribute/AclEntryType.java + src/share/classes/java/nio/file/attribute/AclFileAttributeView.java + src/share/classes/java/nio/file/attribute/AttributeView.java + src/share/classes/java/nio/file/attribute/Attributes.java + src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java + src/share/classes/java/nio/file/attribute/BasicFileAttributes.java + src/share/classes/java/nio/file/attribute/DosFileAttributeView.java + src/share/classes/java/nio/file/attribute/DosFileAttributes.java + src/share/classes/java/nio/file/attribute/FileAttribute.java + src/share/classes/java/nio/file/attribute/FileAttributeView.java + src/share/classes/java/nio/file/attribute/FileOwnerAttributeView.java + src/share/classes/java/nio/file/attribute/FileStoreAttributeView.java + src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributeView.java + src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributes.java + src/share/classes/java/nio/file/attribute/GroupPrincipal.java + src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java + src/share/classes/java/nio/file/attribute/PosixFileAttributes.java + src/share/classes/java/nio/file/attribute/PosixFilePermission.java + src/share/classes/java/nio/file/attribute/PosixFilePermissions.java + src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java + src/share/classes/java/nio/file/attribute/UserPrincipal.java + src/share/classes/java/nio/file/attribute/UserPrincipalLookupService.java + src/share/classes/java/nio/file/attribute/UserPrincipalNotFoundException.java + src/share/classes/java/nio/file/attribute/package-info.java + src/share/classes/java/nio/file/package-info.java + src/share/classes/java/nio/file/spi/AbstractPath.java + src/share/classes/java/nio/file/spi/FileSystemProvider.java + src/share/classes/java/nio/file/spi/FileTypeDetector.java + src/share/classes/java/nio/file/spi/package-info.java ! src/share/classes/java/util/Scanner.java + src/share/classes/sun/nio/ch/AbstractFuture.java + src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java + src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java + src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java + src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java + src/share/classes/sun/nio/ch/Cancellable.java + src/share/classes/sun/nio/ch/CompletedFuture.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/ExtendedSocketOption.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java + src/share/classes/sun/nio/ch/FileDispatcher.java ! src/share/classes/sun/nio/ch/FileLockImpl.java + src/share/classes/sun/nio/ch/FileLockTable.java + src/share/classes/sun/nio/ch/Groupable.java ! src/share/classes/sun/nio/ch/IOUtil.java + src/share/classes/sun/nio/ch/Invoker.java ! src/share/classes/sun/nio/ch/MembershipKeyImpl.java ! src/share/classes/sun/nio/ch/MembershipRegistry.java ! src/share/classes/sun/nio/ch/NativeThreadSet.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/OptionKey.java + src/share/classes/sun/nio/ch/PendingFuture.java ! src/share/classes/sun/nio/ch/Reflect.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java + src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java + src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java + src/share/classes/sun/nio/ch/ThreadPool.java ! src/share/classes/sun/nio/ch/Util.java + src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java + src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java + src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java + src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java + src/share/classes/sun/nio/fs/AbstractPoller.java + src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java + src/share/classes/sun/nio/fs/AbstractWatchKey.java + src/share/classes/sun/nio/fs/AbstractWatchService.java + src/share/classes/sun/nio/fs/Cancellable.java + src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java + src/share/classes/sun/nio/fs/Globs.java + src/share/classes/sun/nio/fs/MimeType.java + src/share/classes/sun/nio/fs/NativeBuffer.java + src/share/classes/sun/nio/fs/NativeBuffers.java + src/share/classes/sun/nio/fs/PollingWatchService.java + src/share/classes/sun/nio/fs/Reflect.java ! src/share/classes/sun/security/util/SecurityConstants.java ! src/share/native/sun/nio/ch/genSocketOptionRegistry.c + src/share/sample/nio/file/AclEdit.java + src/share/sample/nio/file/Chmod.java + src/share/sample/nio/file/Copy.java + src/share/sample/nio/file/DiskUsage.java + src/share/sample/nio/file/FileType.java + src/share/sample/nio/file/WatchDir.java + src/share/sample/nio/file/Xdd.java ! src/solaris/classes/sun/nio/ch/DatagramDispatcher.java + src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java ! src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java + src/solaris/classes/sun/nio/ch/EPoll.java ! src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java + src/solaris/classes/sun/nio/ch/EPollPort.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java - src/solaris/classes/sun/nio/ch/FileDispatcher.java + src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java + src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/PollSelectorImpl.java + src/solaris/classes/sun/nio/ch/Port.java ! src/solaris/classes/sun/nio/ch/SinkChannelImpl.java ! src/solaris/classes/sun/nio/ch/SocketDispatcher.java + src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java + src/solaris/classes/sun/nio/ch/SolarisEventPort.java ! src/solaris/classes/sun/nio/ch/SourceChannelImpl.java + src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java + src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java + src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java + src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java + src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java + src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java + src/solaris/classes/sun/nio/fs/LinuxFileStore.java + src/solaris/classes/sun/nio/fs/LinuxFileSystem.java + src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java + src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java + src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java + src/solaris/classes/sun/nio/fs/LinuxWatchService.java + src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java + src/solaris/classes/sun/nio/fs/SolarisFileStore.java + src/solaris/classes/sun/nio/fs/SolarisFileSystem.java + src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java + src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java + src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java + src/solaris/classes/sun/nio/fs/SolarisWatchService.java + src/solaris/classes/sun/nio/fs/UnixChannelFactory.java + src/solaris/classes/sun/nio/fs/UnixCopyFile.java + src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java + src/solaris/classes/sun/nio/fs/UnixException.java + src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java + src/solaris/classes/sun/nio/fs/UnixFileAttributes.java + src/solaris/classes/sun/nio/fs/UnixFileKey.java + src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java + src/solaris/classes/sun/nio/fs/UnixFileStore.java + src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java + src/solaris/classes/sun/nio/fs/UnixFileSystem.java + src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java + src/solaris/classes/sun/nio/fs/UnixMountEntry.java + src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java + src/solaris/classes/sun/nio/fs/UnixPath.java + src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java + src/solaris/classes/sun/nio/fs/UnixUriUtils.java + src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java + src/solaris/native/sun/nio/ch/EPoll.c + src/solaris/native/sun/nio/ch/EPollPort.c ! src/solaris/native/sun/nio/ch/FileChannelImpl.c - src/solaris/native/sun/nio/ch/FileDispatcher.c + src/solaris/native/sun/nio/ch/FileDispatcherImpl.c ! src/solaris/native/sun/nio/ch/SocketDispatcher.c + src/solaris/native/sun/nio/ch/SolarisEventPort.c + src/solaris/native/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.c + src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c + src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c + src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c + src/solaris/native/sun/nio/fs/LinuxWatchService.c + src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c + src/solaris/native/sun/nio/fs/SolarisWatchService.c + src/solaris/native/sun/nio/fs/UnixCopyFile.c + src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c + src/solaris/native/sun/nio/fs/genSolarisConstants.c + src/solaris/native/sun/nio/fs/genUnixConstants.c + src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java - src/windows/classes/sun/nio/ch/FileDispatcher.java + src/windows/classes/sun/nio/ch/FileDispatcherImpl.java + src/windows/classes/sun/nio/ch/Iocp.java + src/windows/classes/sun/nio/ch/PendingIoCache.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java + src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java + src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java + src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java + src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java + src/windows/classes/sun/nio/fs/WindowsChannelFactory.java + src/windows/classes/sun/nio/fs/WindowsConstants.java + src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java + src/windows/classes/sun/nio/fs/WindowsException.java + src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java + src/windows/classes/sun/nio/fs/WindowsFileAttributes.java + src/windows/classes/sun/nio/fs/WindowsFileCopy.java + src/windows/classes/sun/nio/fs/WindowsFileStore.java + src/windows/classes/sun/nio/fs/WindowsFileSystem.java + src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java + src/windows/classes/sun/nio/fs/WindowsLinkSupport.java + src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java + src/windows/classes/sun/nio/fs/WindowsPath.java + src/windows/classes/sun/nio/fs/WindowsPathParser.java + src/windows/classes/sun/nio/fs/WindowsPathType.java + src/windows/classes/sun/nio/fs/WindowsSecurity.java + src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java + src/windows/classes/sun/nio/fs/WindowsUriSupport.java + src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java + src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java + src/windows/classes/sun/nio/fs/WindowsWatchService.java ! src/windows/native/sun/nio/ch/FileChannelImpl.c - src/windows/native/sun/nio/ch/FileDispatcher.c + src/windows/native/sun/nio/ch/FileDispatcherImpl.c + src/windows/native/sun/nio/ch/Iocp.c + src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c + src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c + src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c + src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c + src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c + test/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java + test/java/nio/channels/AsynchronousChannelGroup/Attack.java + test/java/nio/channels/AsynchronousChannelGroup/BadProperties.java + test/java/nio/channels/AsynchronousChannelGroup/Basic.java + test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java + test/java/nio/channels/AsynchronousChannelGroup/Identity.java + test/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java + test/java/nio/channels/AsynchronousChannelGroup/Restart.java + test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java + test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh + test/java/nio/channels/AsynchronousDatagramChannel/Basic.java + test/java/nio/channels/AsynchronousFileChannel/Basic.java + test/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java + test/java/nio/channels/AsynchronousFileChannel/Lock.java + test/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java + test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java + test/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java + test/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow + test/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny + test/java/nio/channels/AsynchronousSocketChannel/Basic.java + test/java/nio/channels/AsynchronousSocketChannel/Leaky.java + test/java/nio/channels/Channels/Basic2.java ! test/java/nio/channels/DatagramChannel/BasicMulticastTests.java ! test/java/nio/channels/DatagramChannel/SocketOptionTests.java ! test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/SocketOptionTests.java ! test/java/nio/channels/etc/NetworkChannelTests.java + test/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java + test/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider + test/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java + test/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java + test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh + test/java/nio/file/DirectoryStream/Basic.java + test/java/nio/file/DirectoryStream/Filters.java + test/java/nio/file/DirectoryStream/SecureDS.java + test/java/nio/file/FileStore/Basic.java + test/java/nio/file/FileSystem/Basic.java + test/java/nio/file/Files/ContentType.java + test/java/nio/file/Files/CreateFileTree.java + test/java/nio/file/Files/ForceLoad.java + test/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector + test/java/nio/file/Files/Misc.java + test/java/nio/file/Files/PrintFileTree.java + test/java/nio/file/Files/SimpleFileTypeDetector.java + test/java/nio/file/Files/SkipSiblings.java + test/java/nio/file/Files/TerminateWalk.java + test/java/nio/file/Files/content_type.sh + test/java/nio/file/Files/walk_file_tree.sh + test/java/nio/file/Path/CopyAndMove.java + test/java/nio/file/Path/DeleteOnClose.java + test/java/nio/file/Path/InterruptCopy.java + test/java/nio/file/Path/Links.java + test/java/nio/file/Path/Misc.java + test/java/nio/file/Path/PathOps.java + test/java/nio/file/Path/SBC.java + test/java/nio/file/Path/TemporaryFiles.java + test/java/nio/file/Path/UriImportExport.java + test/java/nio/file/Path/delete_on_close.sh + test/java/nio/file/Path/temporary_files.sh + test/java/nio/file/PathMatcher/Basic.java + test/java/nio/file/TestUtil.java + test/java/nio/file/WatchService/Basic.java + test/java/nio/file/WatchService/FileTreeModifier.java + test/java/nio/file/WatchService/SensitivityModifier.java + test/java/nio/file/WatchService/WithSecurityManager.java + test/java/nio/file/WatchService/denyAll.policy + test/java/nio/file/WatchService/grantDirAndOneLevel.policy + test/java/nio/file/WatchService/grantDirAndTree.policy + test/java/nio/file/WatchService/grantDirOnly.policy + test/java/nio/file/attribute/AclFileAttributeView/Basic.java + test/java/nio/file/attribute/Attributes/Basic.java + test/java/nio/file/attribute/BasicFileAttributeView/Basic.java + test/java/nio/file/attribute/DosFileAttributeView/Basic.java + test/java/nio/file/attribute/FileStoreAttributeView/Basic.java + test/java/nio/file/attribute/PosixFileAttributeView/Basic.java + test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java + test/java/nio/file/spi/SetDefaultProvider.java + test/java/nio/file/spi/TestProvider.java Changeset: f8a9a7aff362 Author: chegar Date: 2009-02-16 17:19 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/f8a9a7aff362 6800805: java.net.NetworkInterface.getNetworkInterfaces() does not list IPv6 network interfaces correctly Reviewed-by: jccollet ! src/solaris/native/java/net/NetworkInterface.c Changeset: 1109646be6f6 Author: tbell Date: 2009-02-19 18:04 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/1109646be6f6 Merge - src/solaris/classes/sun/nio/ch/FileDispatcher.java - src/solaris/native/sun/nio/ch/FileDispatcher.c - src/windows/classes/sun/nio/ch/FileDispatcher.java - src/windows/native/sun/nio/ch/FileDispatcher.c Changeset: a144afafb6fe Author: xuelei Date: 2009-02-20 12:50 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/a144afafb6fe 4918870: Examine session cache implementation (sun.misc.Cache) Summary: replace sun.misc.Cache with sun.security.util.Cache Reviewed-by: weijun ! src/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/share/classes/sun/security/util/Cache.java Changeset: 6bdbb2f5c763 Author: xuelei Date: 2009-02-20 13:05 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/6bdbb2f5c763 6697270: Inputstream dosent behave correct Summary: do not try to read zero byte from a InputStream, and do always return immediately for zero byte reading in a InputStream implementation. Reviewed-by: weijun ! src/share/classes/sun/security/ssl/AppInputStream.java ! src/share/classes/sun/security/ssl/AppOutputStream.java ! src/share/classes/sun/security/ssl/ByteBufferInputStream.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadZeroBytes.java Changeset: 7443278199cb Author: tbell Date: 2009-02-20 10:53 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/7443278199cb Merge Changeset: 9b1bc2e28518 Author: weijun Date: 2009-02-23 10:03 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/9b1bc2e28518 6535697: keytool can be more flexible on format of PEM-encoded X.509 certificates Reviewed-by: vinnie ! src/share/classes/sun/security/provider/X509Factory.java ! test/java/security/cert/CertificateFactory/BadX509CertData.java + test/java/security/cert/CertificateFactory/openssl/OpenSSLCert.java + test/java/security/cert/CertificateFactory/openssl/open + test/java/security/cert/CertificateFactory/openssl/pem Changeset: 33bc32405045 Author: weijun Date: 2009-02-23 10:04 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/33bc32405045 6789935: cross-realm capath search error Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/Realm.java + test/sun/security/krb5/ParseCAPaths.java + test/sun/security/krb5/krb5-capaths.conf Changeset: ec98d5f9b338 Author: weijun Date: 2009-02-23 10:04 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/ec98d5f9b338 6804045: DerValue does not accept empty OCTET STRING Reviewed-by: xuelei ! src/share/classes/sun/security/util/DerValue.java + test/sun/security/util/DerValue/EmptyValue.java Changeset: 8edcd68fb6ac Author: weijun Date: 2009-02-23 10:05 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/8edcd68fb6ac 6803376: BasicConstraintsExtension does not encode when (ca==false && pathLen<0) Reviewed-by: xuelei ! src/share/classes/sun/security/x509/BasicConstraintsExtension.java + test/sun/security/x509/Extensions/BCNull.java Changeset: 90ab7b4891e3 Author: weijun Date: 2009-02-23 10:05 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/90ab7b4891e3 6780416: New keytool commands/options: -gencert, -printcertreq, -ext Reviewed-by: xuelei, mullan ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java ! src/share/classes/sun/security/x509/AccessDescription.java ! src/share/classes/sun/security/x509/AuthorityInfoAccessExtension.java ! src/share/classes/sun/security/x509/AuthorityKeyIdentifierExtension.java ! src/share/classes/sun/security/x509/CertAndKeyGen.java ! src/share/classes/sun/security/x509/CertificateExtensions.java ! src/share/classes/sun/security/x509/IssuerAlternativeNameExtension.java ! src/share/classes/sun/security/x509/OIDMap.java + src/share/classes/sun/security/x509/SubjectInfoAccessExtension.java ! test/sun/security/tools/keytool/KeyToolTest.java ! test/sun/security/tools/keytool/autotest.sh + test/sun/security/tools/keytool/standard.sh Changeset: 2a7c1a997102 Author: xuelei Date: 2009-02-23 17:32 +0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/2a7c1a997102 5067458: Loopback SSLSocketImpl createSocket is throwing an exception Summary: A null hostname should be regarded as a loopback address. Reviewed-by: weijun ! src/share/classes/sun/security/ssl/SSLSocketImpl.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/LoopbackSSLSocket.java Changeset: 0f4497002345 Author: chegar Date: 2009-02-23 10:36 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/0f4497002345 6806649: synchronization bottleneck when constructing Thread subclasses Summary: Replace subclass audits synchronization with ConcurrentHashMap with weakly referenced Class keys Reviewed-by: peterjones, dholmes, martin ! src/share/classes/java/lang/Thread.java Changeset: 27e1141d436c Author: sherman Date: 2009-02-23 21:06 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/27e1141d436c 6350801: Add support for named (instead of numbered) capture groups in regular expression 6676425: Opensource unit/regression tests for java.util.regex Summary: Added "named capturing group" into regex. Moved most of reg/unit tests to openjdk. Reviewed-by: alanb, okutsu ! src/share/classes/java/util/regex/Matcher.java ! src/share/classes/java/util/regex/Pattern.java + test/java/util/regex/BMPTestCases.txt + test/java/util/regex/RegExTest.java + test/java/util/regex/SupplementaryTestCases.txt + test/java/util/regex/TestCases.txt Changeset: 910f9cceb0f8 Author: alanb Date: 2009-02-24 09:11 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/910f9cceb0f8 6808647: (file) Paths.get("C:").newDirectoryStream() iterates over Path elements with additional slash [win] 6808648: (file) Files.walkFileTree should obtain file attributes during iteration [win] Reviewed-by: sherman ! make/java/nio/FILES_java.gmk ! src/share/classes/java/nio/file/FileTreeWalker.java + src/share/classes/sun/nio/fs/BasicFileAttributesHolder.java ! src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java ! src/windows/classes/sun/nio/fs/WindowsFileAttributes.java ! src/windows/classes/sun/nio/fs/WindowsFileSystem.java ! src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java ! src/windows/classes/sun/nio/fs/WindowsPath.java ! src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c + test/java/nio/file/DirectoryStream/DriveLetter.java Changeset: c7f39995fcf4 Author: alanb Date: 2009-02-24 11:31 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/c7f39995fcf4 6809132: (file) Javadoc style and consistency issues Reviewed-by: vinnie Contributed-by: cquinn at google.com ! src/share/classes/java/nio/file/AccessDeniedException.java ! src/share/classes/java/nio/file/AtomicMoveNotSupportedException.java ! src/share/classes/java/nio/file/DirectoryNotEmptyException.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/DirectoryStreamFilters.java ! src/share/classes/java/nio/file/FileAction.java ! src/share/classes/java/nio/file/FileAlreadyExistsException.java ! src/share/classes/java/nio/file/FileStore.java ! src/share/classes/java/nio/file/FileSystemAlreadyExistsException.java ! src/share/classes/java/nio/file/FileSystemException.java ! src/share/classes/java/nio/file/FileSystemNotFoundException.java ! src/share/classes/java/nio/file/FileSystems.java ! src/share/classes/java/nio/file/FileVisitor.java ! src/share/classes/java/nio/file/InvalidPathException.java ! src/share/classes/java/nio/file/LinkPermission.java ! src/share/classes/java/nio/file/NoSuchFileException.java ! src/share/classes/java/nio/file/NotDirectoryException.java ! src/share/classes/java/nio/file/NotLinkException.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/nio/file/Paths.java ! src/share/classes/java/nio/file/ProviderMismatchException.java ! src/share/classes/java/nio/file/ProviderNotFoundException.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/SimpleFileVisitor.java ! src/share/classes/java/nio/file/WatchEvent.java ! src/share/classes/java/nio/file/WatchKey.java ! src/share/classes/java/nio/file/WatchService.java ! src/share/classes/java/nio/file/Watchable.java ! src/share/classes/java/nio/file/attribute/AclEntry.java ! src/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/share/classes/java/nio/file/attribute/AttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributes.java ! src/share/classes/java/nio/file/attribute/DosFileAttributeView.java ! src/share/classes/java/nio/file/attribute/DosFileAttributes.java ! src/share/classes/java/nio/file/attribute/FileOwnerAttributeView.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributes.java ! src/share/classes/java/nio/file/attribute/PosixFilePermissions.java ! src/share/classes/java/nio/file/attribute/UserPrincipalLookupService.java ! src/share/classes/java/nio/file/attribute/UserPrincipalNotFoundException.java ! src/share/classes/java/nio/file/package-info.java Changeset: abe5e7125bd3 Author: alanb Date: 2009-02-24 11:33 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/abe5e7125bd3 Merge Changeset: dc237aecf7cf Author: kevinw Date: 2009-02-24 14:22 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/dc237aecf7cf 6599383: Unable to open zip files more than 2GB in size Reviewed-by: alanb ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h + test/java/util/zip/ZipFile/LargeZipFile.java Changeset: 59e76cdc647a Author: tbell Date: 2009-02-27 10:53 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/59e76cdc647a Merge Changeset: 58ba2cd5a250 Author: alanb Date: 2009-03-01 14:44 +0000 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/58ba2cd5a250 6811578: genSolarisConstants.c should not require kernel patch to compile on Solaris 10 Reviewed-by: tbell ! src/solaris/native/sun/nio/fs/genSolarisConstants.c Changeset: c32ec45b582d Author: lana Date: 2009-03-04 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/c32ec45b582d Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers ! make/sun/awt/Makefile ! make/sun/xawt/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/lib/audio/soundbank.gm - src/solaris/classes/sun/nio/ch/FileDispatcher.java - src/solaris/native/sun/nio/ch/FileDispatcher.c - src/windows/classes/sun/nio/ch/FileDispatcher.java - src/windows/native/sun/nio/ch/FileDispatcher.c - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h From Jim.A.Graham at Sun.COM Wed Mar 4 16:22:54 2009 From: Jim.A.Graham at Sun.COM (Jim Graham) Date: Wed, 04 Mar 2009 16:22:54 -0800 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236112022.22103.21.camel@moonlight> References: <1236094739.22103.16.camel@moonlight> <0KFY006X75FW94C0@fe-sfbay-09.sun.com> <1236112022.22103.21.camel@moonlight> Message-ID: <0KG000LY3BTCSVE0@fe-sfbay-10.sun.com> This is almost there. A couple of points about the solution, though: - If you skip the MOVETO then you need to make sure that you later emit an lsink.moveTo otherwise the lsink object will complain about bad state. If you look in ProcessPath.c you will see that a "skip" boolean is set whenever a moveto is skipped (bad name, I would have called it "movetoSkipped" or something) and that tells the other path cases to turn their point into a moveto if they need to. - If you never got any path segments because you skipped them all, make sure that calling lsink.close() isn't a problem. Note that if you get a CLOSE as the first thing in the path then it's OK to have lsink.close() throw an exception, but now that you are skipping coordinates, the burden is on you that if you skipped some coordinates, don't call close() in an invalid state because the incoming path state *was* correct - it's your edited path that got mangled down to just a close(), right? - Finally, we should consider what we should do with "huge" coordinates that aren't infinite. Why reject infinity, but not maxfloat-1? The Ductus and ProcessPath.c pipelines reject all coordinates outside of maxfloat/2 and maxfloat/4 respectively which are huge compared to the range of S15_16, but they aren't infinite. Also, those pipelines can handle huge float values, but values greater than those limits have the potential of being driven to infinity by doing things like "(a+b)/2" where the result will be infinity if a and b are more than inf/2. I'm not sure what the best strategy is for our S15_16 code is, though, in the short term. Perhaps long term we want to have all path processing done in float and only the inner loops done in fract, but we aren't there yet... :-( ...jim Roman Kennke wrote: > Hi Jim, > >> I think the shape iterators used in the other pipelines (which should be >> visible as it was code that we wrote, even if it isn't used for Pisces) >> took a more flexible approach, testing each segment for NaN and overflow >> and ignoring individual segments until the shape became finite again. >> This happens somewhere in the src/share/classes/sun/java2d/pipe classes... > > Ah cool. In this case we can implement it quite easily as in the > attached patch. Seems the output is 1:1 the same as with the non-free > JDK6. > > /Roman > >> ...jim >> >> Roman Kennke wrote: >>> Hi again, >>> >>>> 3. NotANumberTest: Double.NaN isn't handled gracefully. >>> The problem here is that the renderer in OpenJDK is originally written >>> for ME and uses fixed point arithmetic. I can't think of a quick fix, >>> because shapes are processed by iterating over them, this means, by the >>> time we hit the NaN, we might already have processed (==rendered) some >>> of the shape, but your test seems to suggest that you expect nothing to >>> be rendered in this case. The specification doesn't say anything about >>> this particular problem (at least I can't find anything). One solution >>> would be to pre-check all the incoming shapes for NaN or other invalid >>> values (infinity, etc) and not go into the iteration at all. But this >>> seems like quite a big overhead to me. We could also make the >>> floating->fixed conversion to throw an exception, that we would have to >>> catch higher up in the call tree and rollback what has already been >>> rendered (which doesn't seem easy either, because in the case of >>> strokeTo() this lies outside of the pisces renderer). >>> >>> /Roman From jennifer.godinez at sun.com Thu Mar 5 11:23:11 2009 From: jennifer.godinez at sun.com (jennifer.godinez at sun.com) Date: Thu, 05 Mar 2009 19:23:11 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6735296: Regression: Common print dialog does not show the correct page orientation Message-ID: <20090305192325.91396E804@hg.openjdk.java.net> Changeset: 8d5144dfc642 Author: jgodinez Date: 2009-03-05 10:56 -0800 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/8d5144dfc642 6735296: Regression: Common print dialog does not show the correct page orientation Reviewed-by: tdv, prr ! src/share/classes/sun/print/ServiceDialog.java From t.landschoff at gmx.net Fri Mar 6 13:30:43 2009 From: t.landschoff at gmx.net (Torsten Landschoff) Date: Fri, 6 Mar 2009 22:30:43 +0100 Subject: [OpenJDK 2D-Dev] [PATCH] 4494651: Wrong width and height in BufferedImage GraphicsConfiguration objects In-Reply-To: <0KFJ001VXMFLRSF0@fe-sfbay-09.sun.com> References: <20090202225443.GA28471@merzeus.obrandt.org> <499B6EDB.4020109@Sun.COM> <0KF8002TJPN0I650@fe-sfbay-10.sun.com> <0KF8003J2P6O6690@fe-sfbay-09.sun.com> <20090222013737.GB6453@merzeus.obrandt.org> <0KFJ001VXMFLRSF0@fe-sfbay-09.sun.com> Message-ID: <20090306213043.GB4985@merzeus.obrandt.org> Hi Jim, On Mon, Feb 23, 2009 at 03:55:02PM -0800, Jim Graham wrote: > The size of a GC is very relevant for screen GCs - it defines the size > of the device that the component is being rendered on. Therefore the [...] Thanks for keeping the discussion going. I can now understand your view while I still can't subscribe to it. I am currently too busy to follow up on this issue, but I'll get back once I am back from a business trip. Greetings, and sorry for the lag Torsten From roman.kennke at aicas.com Wed Mar 11 02:57:35 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Wed, 11 Mar 2009 10:57:35 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236093446.22103.8.camel@moonlight> References: <1236093446.22103.8.camel@moonlight> Message-ID: <1236765455.9599.4.camel@moonlight> Hi, so what happens now with this patch and the others? Should I enter them into Bugzilla, so they don't get lost? Are they already in the process of beeing integrated? /Roman Am Dienstag, den 03.03.2009, 16:17 +0100 schrieb Roman Kennke: > Hi there, > > > 4. StrokeShapeTest: createStrokedShape() behaves differently. > > It turns out that there is an arithmetic overflow here. The pisces > stroker does a stupid thing here. First it initializes the > scaledLineWidth like this: > > this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); > > which is infact wrong, because in fixed point arithmetics you need to > apply >> 16, because the decimal moves. > > However, in another place it uses this factor like this: > > dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); > dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); > > which makes it ok in the end. The only problem is, that we start with an > incredibly large number, then multiply another incredibly large number > and _after_ that (when the overflow already occured) do the >> 16. The > patch moves the >> 16 to the initialization of scaledLineWidth, which > makes it clearer, more correct and even a tad faster, because we do the > second calculation at least 2x. > > Of course, the real fix here would be to turn the whole implementation > into floating point. This particular testcase is fixed by this patch, > and the 'range of correct behaviour' is much large now, but if you deal > with very large numbers in your shapes, then you will get trouble again. > > /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From phil.race at sun.com Thu Mar 12 12:08:35 2009 From: phil.race at sun.com (phil.race at sun.com) Date: Thu, 12 Mar 2009 19:08:35 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6727719: Performance of TextLayout.getBounds() Message-ID: <20090312190859.44298EDA2@hg.openjdk.java.net> Changeset: 59696dfd5455 Author: prr Date: 2009-03-12 12:01 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/59696dfd5455 6727719: Performance of TextLayout.getBounds() Reviewed-by: jgodinez, dougfelt ! src/share/classes/sun/font/FileFontStrike.java From jennifer.godinez at sun.com Mon Mar 16 12:03:57 2009 From: jennifer.godinez at sun.com (jennifer.godinez at sun.com) Date: Mon, 16 Mar 2009 19:03:57 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6812600: The miter line join decoration isn't rendered properly Message-ID: <20090316190425.B432CE050@hg.openjdk.java.net> Changeset: 9318628e8eee Author: jgodinez Date: 2009-03-16 11:46 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/9318628e8eee 6812600: The miter line join decoration isn't rendered properly Reviewed-by: avu, flar Contributed-by: Google ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java + test/sun/pisces/JoinMiterTest.java From alexey.ushakov at sun.com Fri Mar 20 10:11:36 2009 From: alexey.ushakov at sun.com (alexey.ushakov at sun.com) Date: Fri, 20 Mar 2009 17:11:36 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6733501: Apply IcedTea little cms patches Message-ID: <20090320171206.59494E5FC@hg.openjdk.java.net> Changeset: 467e4f25965c Author: avu Date: 2009-03-20 20:05 +0300 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/467e4f25965c 6733501: Apply IcedTea little cms patches Reviewed-by: bae, prr ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/share/native/sun/java2d/cmm/lcms/lcms.h + test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java From phil.race at sun.com Mon Mar 23 10:46:17 2009 From: phil.race at sun.com (phil.race at sun.com) Date: Mon, 23 Mar 2009 17:46:17 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6745225: Memory leak while drawing Attributed String Message-ID: <20090323174645.6C348E714@hg.openjdk.java.net> Changeset: e43ea83ca696 Author: prr Date: 2009-03-23 10:40 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/e43ea83ca696 6745225: Memory leak while drawing Attributed String Reviewed-by: jgodinez, dougfelt ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/GlyphLayout.java + test/java/awt/font/LineBreakMeasurer/FRCTest.java From phil.race at sun.com Tue Mar 24 09:19:14 2009 From: phil.race at sun.com (phil.race at sun.com) Date: Tue, 24 Mar 2009 16:19:14 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6821031: Upgrade OpenJDK's LittleCMS version to 1.18 Message-ID: <20090324161943.BA572E833@hg.openjdk.java.net> Changeset: e2cc7ffbb355 Author: prr Date: 2009-03-24 09:14 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/e2cc7ffbb355 6821031: Upgrade OpenJDK's LittleCMS version to 1.18 Reviewed-by: bae, igor ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/cmm/lcms/cmscam02.c ! src/share/native/sun/java2d/cmm/lcms/cmscam97.c ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c ! src/share/native/sun/java2d/cmm/lcms/cmscnvrt.c ! src/share/native/sun/java2d/cmm/lcms/cmserr.c ! src/share/native/sun/java2d/cmm/lcms/cmsgamma.c ! src/share/native/sun/java2d/cmm/lcms/cmsgmt.c ! src/share/native/sun/java2d/cmm/lcms/cmsintrp.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/share/native/sun/java2d/cmm/lcms/cmsio1.c ! src/share/native/sun/java2d/cmm/lcms/cmslut.c ! src/share/native/sun/java2d/cmm/lcms/cmsmatsh.c ! src/share/native/sun/java2d/cmm/lcms/cmsmtrx.c ! src/share/native/sun/java2d/cmm/lcms/cmsnamed.c ! src/share/native/sun/java2d/cmm/lcms/cmspack.c ! src/share/native/sun/java2d/cmm/lcms/cmspcs.c ! src/share/native/sun/java2d/cmm/lcms/cmsps2.c ! src/share/native/sun/java2d/cmm/lcms/cmssamp.c ! src/share/native/sun/java2d/cmm/lcms/cmsvirt.c ! src/share/native/sun/java2d/cmm/lcms/cmswtpnt.c ! src/share/native/sun/java2d/cmm/lcms/cmsxform.c ! src/share/native/sun/java2d/cmm/lcms/icc34.h ! src/share/native/sun/java2d/cmm/lcms/lcms.h From phil.race at sun.com Tue Mar 24 11:08:33 2009 From: phil.race at sun.com (phil.race at sun.com) Date: Tue, 24 Mar 2009 18:08:33 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6821504: typo in lcmsio.c Message-ID: <20090324180911.56323E846@hg.openjdk.java.net> Changeset: 0c69e3ba15f4 Author: prr Date: 2009-03-24 10:53 -0700 URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/0c69e3ba15f4 6821504: typo in lcmsio.c Reviewed-by: jgodinez ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c From roman.kennke at aicas.com Tue Mar 24 13:03:07 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Tue, 24 Mar 2009 21:03:07 +0100 Subject: [OpenJDK 2D-Dev] Question regarding surface locking Message-ID: <1237924987.20406.9.camel@saturn> Hi there, I see in X11SurfaceData, that we lock and unlock on the global AWT lock. AFAICS, the purpose of this lock is to prevent race conditions on the surface data (like: t1 reads, t2 reads, t1 writes back, t2 writes back -> BUMM). Is it really necessary to lock on a global lock, wouldn't a lock on the surface do the same job? I'm thinking when you have animations on several surfaces in parallel (like in the Java2Demo), it might be more efficient to have a finer grained lock. Or are there other pitfalls attached here? /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From linuxhippy at gmail.com Tue Mar 24 13:13:59 2009 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Tue, 24 Mar 2009 16:13:59 -0400 Subject: [OpenJDK 2D-Dev] Question regarding surface locking In-Reply-To: <1237924987.20406.9.camel@saturn> References: <1237924987.20406.9.camel@saturn> Message-ID: <194f62550903241313k3fa0b20cubfbc440c6165f58c@mail.gmail.com> Hi Roman, > Is it really necessary to lock on a global lock, wouldn't a > lock on the surface do the same job? I'm thinking when you have > animations on several surfaces in parallel (like in the Java2Demo), it > might be more efficient to have a finer grained lock. Or are there other > pitfalls attached here? I am not really sure, but as far as I know the global lock also protects libX11 from concurrent access. - Clemens From roman at kennke.org Tue Mar 24 13:22:28 2009 From: roman at kennke.org (Roman Kennke) Date: Tue, 24 Mar 2009 21:22:28 +0100 Subject: [OpenJDK 2D-Dev] Question regarding surface locking In-Reply-To: <194f62550903241313k3fa0b20cubfbc440c6165f58c@mail.gmail.com> References: <1237924987.20406.9.camel@saturn> <194f62550903241313k3fa0b20cubfbc440c6165f58c@mail.gmail.com> Message-ID: <1237926148.20406.14.camel@saturn> Yeah right, I just answered this myself after I wrote it. At least for XPixmaps this makes sense. Could be optimized for Shm and DGA I suppose, but that would complicate stuff (even more), unless the implementation gets split up in XPixmapSurfaceData, ShmSurfaceData and DGASurfaceData or so. /Roman Am Dienstag, den 24.03.2009, 16:13 -0400 schrieb Clemens Eisserer: > Hi Roman, > > > Is it really necessary to lock on a global lock, wouldn't a > > lock on the surface do the same job? I'm thinking when you have > > animations on several surfaces in parallel (like in the Java2Demo), it > > might be more efficient to have a finer grained lock. Or are there other > > pitfalls attached here? > > I am not really sure, but as far as I know the global lock also > protects libX11 from concurrent access. > > - Clemens From roman at kennke.org Wed Mar 25 06:57:45 2009 From: roman at kennke.org (Roman Kennke) Date: Wed, 25 Mar 2009 14:57:45 +0100 Subject: [OpenJDK 2D-Dev] Pote Message-ID: <1237989465.6440.19.camel@saturn> From roman.kennke at aicas.com Wed Mar 25 06:58:46 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Wed, 25 Mar 2009 14:58:46 +0100 Subject: [OpenJDK 2D-Dev] Potential problem in X11GraphicsDevice Message-ID: <1237989526.6440.20.camel@saturn> Hi, While looking through X11GraphicsDevice I found a potential problem. The array returned by getConfigurations() is the real thing, and is mutable. Client code could get the array and write crap into it (e.g. null). This will most likely turn out to be the problem of the caller in the end, but I'm not sure if it couldn't be used to do nasty things as well when sneaking in manipulated GC objects. Maybe this should be made so that it returns a copy of the real array instead? /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From Dmitri.Trembovetski at Sun.COM Wed Mar 25 15:32:13 2009 From: Dmitri.Trembovetski at Sun.COM (Dmitri Trembovetski) Date: Wed, 25 Mar 2009 15:32:13 -0700 Subject: [OpenJDK 2D-Dev] Potential problem in X11GraphicsDevice In-Reply-To: <1237989526.6440.20.camel@saturn> References: <1237989526.6440.20.camel@saturn> Message-ID: <49CAB0ED.5080406@Sun.COM> Hi Roman, this issue was filed. While it's not very serious, and could at most be used to do a dos attack on one VM - but there's plenty of other ways to do that (like creating thousands of threads), it should still be addressed. Java security model won't allow the client code to be run in a privileged context, so there's no problem with the client trying to supply an object with overridden public methods which could potentially be called from JDK code with elevated privileges: http://java.sun.com/javase/6/docs/technotes/guides/security/spec/security-spec.doc4.html#24646 When the checkPermission method of the AccessController is invoked by the most recent caller (e.g., a method in the File class), the basic algorithm for deciding whether to allow or deny the requested access is as follows. If any caller in the call chain does not have the requested permission, AccessControlException is thrown, unless the following is true -- a caller whose domain is granted the said permission has been marked as "privileged" (see the next section) and all parties subsequently called by this caller (directly or indirectly) all have the said permission. Thanks, Dmitri Roman Kennke wrote: > Hi, > > While looking through X11GraphicsDevice I found a potential problem. The > array returned by getConfigurations() is the real thing, and is mutable. > Client code could get the array and write crap into it (e.g. null). This > will most likely turn out to be the problem of the caller in the end, > but I'm not sure if it couldn't be used to do nasty things as well when > sneaking in manipulated GC objects. Maybe this should be made so that it > returns a copy of the real array instead? > > /Roman From roman.kennke at aicas.com Thu Mar 26 07:16:18 2009 From: roman.kennke at aicas.com (Roman Kennke) Date: Thu, 26 Mar 2009 15:16:18 +0100 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1236765455.9599.4.camel@moonlight> References: <1236093446.22103.8.camel@moonlight> <1236765455.9599.4.camel@moonlight> Message-ID: <1238076978.8460.5.camel@saturn> Hi, Is it possible to get an update on these patches or did the whole Java2D team just disappear? ;-) Should I enter the patches into Bugzilla or should I simply wait? What's happening with them now? /Roman > so what happens now with this patch and the others? Should I enter them > into Bugzilla, so they don't get lost? Are they already in the process > of beeing integrated? > > /Roman > > Am Dienstag, den 03.03.2009, 16:17 +0100 schrieb Roman Kennke: > > Hi there, > > > > > 4. StrokeShapeTest: createStrokedShape() behaves differently. > > > > It turns out that there is an arithmetic overflow here. The pisces > > stroker does a stupid thing here. First it initializes the > > scaledLineWidth like this: > > > > this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); > > > > which is infact wrong, because in fixed point arithmetics you need to > > apply >> 16, because the decimal moves. > > > > However, in another place it uses this factor like this: > > > > dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); > > dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); > > > > which makes it ok in the end. The only problem is, that we start with an > > incredibly large number, then multiply another incredibly large number > > and _after_ that (when the overflow already occured) do the >> 16. The > > patch moves the >> 16 to the initialization of scaledLineWidth, which > > makes it clearer, more correct and even a tad faster, because we do the > > second calculation at least 2x. > > > > Of course, the real fix here would be to turn the whole implementation > > into floating point. This particular testcase is fixed by this patch, > > and the 'range of correct behaviour' is much large now, but if you deal > > with very large numbers in your shapes, then you will get trouble again. > > > > /Roman -- Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-48 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From Jennifer.Godinez at Sun.COM Mon Mar 30 11:11:36 2009 From: Jennifer.Godinez at Sun.COM (Jennifer Godinez) Date: Mon, 30 Mar 2009 11:11:36 -0700 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1238076978.8460.5.camel@saturn> References: <1236093446.22103.8.camel@moonlight> <1236765455.9599.4.camel@moonlight> <1238076978.8460.5.camel@saturn> Message-ID: <49D10B58.3080502@Sun.COM> Hi Roman, Apologies for not replying to you sooner. As far as I know, Jim made comments on the fix. Have you looked into these? Whether or not you have, please go ahead and enter the patch into Bugzilla so we can better keep track on them. Jennifer Roman Kennke wrote: > Hi, > > Is it possible to get an update on these patches or did the whole Java2D > team just disappear? ;-) Should I enter the patches into Bugzilla or > should I simply wait? What's happening with them now? > > /Roman > >> so what happens now with this patch and the others? Should I enter them >> into Bugzilla, so they don't get lost? Are they already in the process >> of beeing integrated? >> >> /Roman >> >> Am Dienstag, den 03.03.2009, 16:17 +0100 schrieb Roman Kennke: >>> Hi there, >>> >>>> 4. StrokeShapeTest: createStrokedShape() behaves differently. >>> It turns out that there is an arithmetic overflow here. The pisces >>> stroker does a stupid thing here. First it initializes the >>> scaledLineWidth like this: >>> >>> this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); >>> >>> which is infact wrong, because in fixed point arithmetics you need to >>> apply >> 16, because the decimal moves. >>> >>> However, in another place it uses this factor like this: >>> >>> dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); >>> dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); >>> >>> which makes it ok in the end. The only problem is, that we start with an >>> incredibly large number, then multiply another incredibly large number >>> and _after_ that (when the overflow already occured) do the >> 16. The >>> patch moves the >> 16 to the initialization of scaledLineWidth, which >>> makes it clearer, more correct and even a tad faster, because we do the >>> second calculation at least 2x. >>> >>> Of course, the real fix here would be to turn the whole implementation >>> into floating point. This particular testcase is fixed by this patch, >>> and the 'range of correct behaviour' is much large now, but if you deal >>> with very large numbers in your shapes, then you will get trouble again. >>> >>> /Roman From roman at kennke.org Tue Mar 31 10:27:52 2009 From: roman at kennke.org (Roman Kennke) Date: Tue, 31 Mar 2009 19:27:52 +0200 Subject: [OpenJDK 2D-Dev] Question regarding GraphicsConfiguration/DisplayMode Message-ID: <1238520473.10787.9.camel@saturn> Hi, I think my mental model regarding the GD/GC/DisplayMode API is a bit messed up, or the API is a bit messed up. So far I was always assuming that the GCs (as returned by GD.getGraphicsConfigurations()) represent all the possible settings (resolution, color model, etc) that the GD can use. BUT, then we also have GD.getDisplayModes(). And GC is also used for Xinerama support, right? So what does GC represent? I am implementing on an embedded platform right now, I only have one screen, but a couple of different settings, and would like to know what is correct here. Is there a relationship between the list of display modes and the list of GCs? If so, how are color models in DisplayMode handled? I only see a bitDepth property there, but for example how to differenciate between a RGB565 and RGB556 setup in the DisplayMode API? Then: what is the default configuration? Is it just some random configuration that is considered the default? Is it the one currently in use? Does it relate to getDisplayMode()? What is (and how to use) GD.getBestConfiguration()? The GraphicsConfigTemplate class seems pretty useless to me. Thanks in advance for your hints, Roman From Dmitri.Trembovetski at Sun.COM Tue Mar 31 11:37:57 2009 From: Dmitri.Trembovetski at Sun.COM (Dmitri Trembovetski) Date: Tue, 31 Mar 2009 11:37:57 -0700 Subject: [OpenJDK 2D-Dev] Question regarding GraphicsConfiguration/DisplayMode In-Reply-To: <1238520473.10787.9.camel@saturn> References: <1238520473.10787.9.camel@saturn> Message-ID: <49D26305.8040202@Sun.COM> Hi Roman, Roman Kennke wrote: > I think my mental model regarding the GD/GC/DisplayMode API is a bit > messed up, or the API is a bit messed up. It's the API that's a bit messed up. Basically, GD represents a real graphics device - like a video board on windows, and screen on X11 (w/o xinerama). If your video board has two outputs, depending on the settings GD may represent the board, or each of the outputs - "physical screens". GCs represent Visuals on X11, and pixel formats on Windows. It makes a little less sense on Windows as there Pixel Formats are only relevant for creating windows that work well with OpenGL so that third party applications can use HWNDs from AWT windows for rendering OpenGL content. For d3d (and somewhat confusingly, for the built-in opengl pipeline) we have one single GraphicsConfiguration. This doesn't explain some methods that crept up into this class (like getBounds and getNormalizingTransform). They should have been on GraphicsDevice. So suppose you have an X11 system with single board with two screens (no xinerama), 32 bit IntBgr default visual, and the board is capable of simultaneously displaying a 8-bit grayscale visual windows. But also imagine that this system supports changing display nodes to 16 bit (I hope you have good imagination!), and different resolutions. Then you'll have two GD with two GC each (32-bit Bgr and 8-bit GrayScale). The DisplayMode[] will have entries for 32 and 16 bit modes, and whatever different resolutions you have. Xinerama is a tricky case. Most X11 applications aren't really aware of Xinerama presence, but Java is (so that it doesn't place windows in between the screens and stuff like that). But I believe we still expose a single device in this case. On Windows one can configure a multiscreen system as having two separate screens, or one single continuous screen - similar to xinerama vs no xinerama on X11 (except you can always drag windows from screen to screen on Windows). This is typically done through vendor drivers, but I think it's generic starting with Vista or W7. > So far I was always assuming that the GCs (as returned by > GD.getGraphicsConfigurations()) represent all the possible settings > (resolution, color model, etc) that the GD can use. BUT, then we also This was an incorrect assumption. > have GD.getDisplayModes(). And GC is also used for Xinerama support, > right? So what does GC represent? I am implementing on an embedded > platform right now, I only have one screen, but a couple of different > settings, and would like to know what is correct here. Is there a > relationship between the list of display modes and the list of GCs? If No. List of display modes is the list of possible display modes the graphics device can be switched to. That includes different resolutions, as well as bit depths. (see below for more) > so, how are color models in DisplayMode handled? I only see a bitDepth > property there, but for example how to differenciate between a RGB565 > and RGB556 setup in the DisplayMode API? DisplayMode for a device represents the desktop resolution and (where applicable) the bit depth. It makes less sense if your device can display windows with different bit depths simultaneously so there isn't one "desktop bit depth", which is why there's DisplayMode.BIT_DEPTH_MULTI to indicate that case. > Then: what is the default configuration? Is it just some random This is tricky. In _most_ cases it corresponds to the screen's default visual / pixel format. Except for the cases where the default visual is say 8-bit, but there's a 32-bit visual available. This happens on older SunOS systems with CDE where the default visual is 8 bit. There are Sun adapters for sparc which can display windows with different bit depths (and palettes, and gamma correction) simultaneously. (BTW, you can force the default visual by using FORCEDEFVIS env. variable, see http://java.sun.com/javase/6/webnotes/trouble/TSG-Desktop/html/java2d-props.html) > configuration that is considered the default? Is it the one currently in > use? Does it relate to getDisplayMode()? You can think of it as representing the current device's resolution and bit depth (where applicable). > What is (and how to use) GD.getBestConfiguration()? The > GraphicsConfigTemplate class seems pretty useless to me. It is. =) I'm not sure anyone uses this stuff. Thanks, Dmitri > > Thanks in advance for your hints, > > Roman > > From roman at kennke.org Tue Mar 31 13:11:45 2009 From: roman at kennke.org (Roman Kennke) Date: Tue, 31 Mar 2009 22:11:45 +0200 Subject: [OpenJDK 2D-Dev] Question regarding GraphicsConfiguration/DisplayMode In-Reply-To: <49D26305.8040202@Sun.COM> References: <1238520473.10787.9.camel@saturn> <49D26305.8040202@Sun.COM> Message-ID: <1238530305.10787.23.camel@saturn> Hi Dmitri, > > I think my mental model regarding the GD/GC/DisplayMode API is a bit > > messed up, or the API is a bit messed up. > > It's the API that's a bit messed up. Phew. ;-) > Basically, GD represents a real graphics device - like a video board on > windows, and screen on X11 (w/o xinerama). If your video board has two outputs, > depending on the settings GD may represent the board, or each of the outputs - > "physical screens". Ok, good. > GCs represent Visuals on X11, and pixel formats on Windows. > > It makes a little less sense on Windows as there Pixel Formats are only > relevant for creating windows that work well with OpenGL so that third party > applications can use HWNDs from AWT windows for rendering OpenGL content. > > For d3d (and somewhat confusingly, for the built-in opengl pipeline) > we have one single GraphicsConfiguration. > > This doesn't explain some methods that crept up into this class (like > getBounds and getNormalizingTransform). They should have been on GraphicsDevice. Why? Isn't getBounds() used to indicate which part of the whole virtual screen (Xinerama) a GC is representing? At least, this is what the API docs tell me. I suppose in the ideal world we'd need getBounds() in both the GD (the bounds of the whole virtual screen) and the GC (the bounds of the sub-screen). Ok, in an ideal world, Xinerama would be represented by a different class then GC I suppose... > So suppose you have an X11 system with single board with two screens (no > xinerama), 32 bit IntBgr default visual, and the board is capable of > simultaneously displaying a 8-bit grayscale visual windows. > > But also imagine that this system supports changing display nodes to 16 bit > (I hope you have good imagination!), and different resolutions. > > Then you'll have two GD with two GC each (32-bit Bgr and 8-bit GrayScale). > > The DisplayMode[] will have entries for 32 and 16 bit modes, and whatever > different resolutions you have. Ok, this makes sense. So in my case, where I can display windows only in one color model simultanously (and no Xinerama of course on this poor embedded box), I'd only return one GC at any time. Good. > > So far I was always assuming that the GCs (as returned by > > GD.getGraphicsConfigurations()) represent all the possible settings > > (resolution, color model, etc) that the GD can use. BUT, then we also > > This was an incorrect assumption. I see. > > have GD.getDisplayModes(). And GC is also used for Xinerama support, > > right? So what does GC represent? I am implementing on an embedded > > platform right now, I only have one screen, but a couple of different > > settings, and would like to know what is correct here. Is there a > > relationship between the list of display modes and the list of GCs? If > > No. List of display modes is the list of possible display modes the graphics > device can be switched to. That includes different resolutions, as well as bit > depths. (see below for more) Ok, so this is what I assumed the GCs are for. Good to know. > > so, how are color models in DisplayMode handled? I only see a bitDepth > > property there, but for example how to differenciate between a RGB565 > > and RGB556 setup in the DisplayMode API? > > DisplayMode for a device represents the desktop resolution and (where > applicable) the bit depth. > > It makes less sense if your device can display windows with different bit > depths simultaneously so there isn't one "desktop bit depth", which is why > there's DisplayMode.BIT_DEPTH_MULTI to indicate that case. I think I mean something different. Suppose your graphics board is capable of using 2 different resolutions (1024x768 and 800x600) in two different color modes (RGB565 and RGB556) (not simultanously). This would make 4 DMs. The problem I see is that bitDepth is not expressive enough to differentiate between RGB565 and RGB556, both use 16 bits. > > Then: what is the default configuration? Is it just some random > > This is tricky. > > In _most_ cases it corresponds to the screen's default visual / pixel format. > > Except for the cases where the default visual is say 8-bit, but there's a > 32-bit visual available. This happens on older SunOS systems with CDE where the > default visual is 8 bit. There are Sun adapters for sparc which can display > windows with different bit depths (and palettes, and gamma correction) > simultaneously. Ok, I guess when I only ever have one GC (see above) that's easy now :-) > > What is (and how to use) GD.getBestConfiguration()? The > > GraphicsConfigTemplate class seems pretty useless to me. > > It is. =) I'm not sure anyone uses this stuff. Haha, good. :-) Thanks a lot for clearing this up Dmitri. Oh, it means I have to rework lots of code. THANKS! ;-) /Roman From yamauchi at google.com Tue Mar 31 13:56:34 2009 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Tue, 31 Mar 2009 13:56:34 -0700 Subject: [OpenJDK 2D-Dev] More incompatibilities In-Reply-To: <1238076978.8460.5.camel@saturn> References: <1236093446.22103.8.camel@moonlight> <1236765455.9599.4.camel@moonlight> <1238076978.8460.5.camel@saturn> Message-ID: FYI, the join miter patch seems to have gone in: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/9318628e8eee but probably the other patches didn't. I also would like to see these patches go into openjdk soon. Thanks, Hiroshi On Thu, Mar 26, 2009 at 7:16 AM, Roman Kennke wrote: > Hi, > > Is it possible to get an update on these patches or did the whole Java2D > team just disappear? ;-) Should I enter the patches into Bugzilla or > should I simply wait? What's happening with them now? > > /Roman > >> so what happens now with this patch and the others? Should I enter them >> into Bugzilla, so they don't get lost? Are they already in the process >> of beeing integrated? >> >> /Roman >> >> Am Dienstag, den 03.03.2009, 16:17 +0100 schrieb Roman Kennke: >> > Hi there, >> > >> > > 4. StrokeShapeTest: createStrokedShape() behaves differently. >> > >> > It turns out that there is an arithmetic overflow here. The pisces >> > stroker does a stupid thing here. First it initializes the >> > scaledLineWidth like this: >> > >> > ? ? ? ? this.scaledLineWidth2 = ((long)transform.m00*lineWidth2); >> > >> > which is infact wrong, because in fixed point arithmetics you need to >> > apply >> 16, because the decimal moves. >> > >> > However, in another place it uses this factor like this: >> > >> > ? ? ? ? ? ? ? ? dx = (int)( (ly*scaledLineWidth2)/ilen >> 16); >> > ? ? ? ? ? ? ? ? dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16); >> > >> > which makes it ok in the end. The only problem is, that we start with an >> > incredibly large number, then multiply another incredibly large number >> > and _after_ that (when the overflow already occured) do the >> 16. The >> > patch moves the >> 16 to the initialization of scaledLineWidth, which >> > makes it clearer, more correct and even a tad faster, because we do the >> > second calculation at least 2x. >> > >> > Of course, the real fix here would be to turn the whole implementation >> > into floating point. This particular testcase is fixed by this patch, >> > and the 'range of correct behaviour' is much large now, but if you deal >> > with very large numbers in your shapes, then you will get trouble again. >> > >> > /Roman > -- > Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org > aicas Allerton Interworks Computer Automated Systems GmbH > Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany > http://www.aicas.com ? * Tel: +49-721-663 968-48 > USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe > Gesch?ftsf?hrer: Dr. James J. Hunt > > > From Dmitri.Trembovetski at Sun.COM Tue Mar 31 14:27:15 2009 From: Dmitri.Trembovetski at Sun.COM (Dmitri Trembovetski) Date: Tue, 31 Mar 2009 14:27:15 -0700 Subject: [OpenJDK 2D-Dev] Question regarding GraphicsConfiguration/DisplayMode In-Reply-To: <1238530305.10787.23.camel@saturn> References: <1238520473.10787.9.camel@saturn> <49D26305.8040202@Sun.COM> <1238530305.10787.23.camel@saturn> Message-ID: <49D28AB3.6030208@Sun.COM> Hi Roman, Roman Kennke wrote: >> This doesn't explain some methods that crept up into this class (like >> getBounds and getNormalizingTransform). They should have been on GraphicsDevice. > > Why? Isn't getBounds() used to indicate which part of the whole virtual > screen (Xinerama) a GC is representing? At least, this is what the API That's the thing. GC doesn't represent a screen, virtual or otherwise. It represents one of several possible (color model-related) configurations of a GraphicsDevice, which represents a screen. So you could create a Window using one of those graphics configurations, and it will happen to be on the same screen the configuration belongs to. > docs tell me. I suppose in the ideal world we'd need getBounds() in both > the GD (the bounds of the whole virtual screen) and the GC (the bounds > of the sub-screen). Ok, in an ideal world, Xinerama would be represented > by a different class then GC I suppose... In an ideal world we wouldn't have had bounds in GCs. The GC represent different visuals, nothing to do with screens' geometry. >> So suppose you have an X11 system with single board with two screens (no >> xinerama), 32 bit IntBgr default visual, and the board is capable of >> simultaneously displaying a 8-bit grayscale visual windows. >> >> But also imagine that this system supports changing display nodes to 16 bit >> (I hope you have good imagination!), and different resolutions. >> >> Then you'll have two GD with two GC each (32-bit Bgr and 8-bit GrayScale). >> >> The DisplayMode[] will have entries for 32 and 16 bit modes, and whatever >> different resolutions you have. > > Ok, this makes sense. So in my case, where I can display windows only in > one color model simultanously (and no Xinerama of course on this poor > embedded box), I'd only return one GC at any time. Good. Yes. >>> have GD.getDisplayModes(). And GC is also used for Xinerama support, >>> right? So what does GC represent? I am implementing on an embedded >>> platform right now, I only have one screen, but a couple of different >>> settings, and would like to know what is correct here. Is there a >>> relationship between the list of display modes and the list of GCs? If >> No. List of display modes is the list of possible display modes the graphics >> device can be switched to. That includes different resolutions, as well as bit >> depths. (see below for more) > > Ok, so this is what I assumed the GCs are for. Good to know. >> It makes less sense if your device can display windows with different bit >> depths simultaneously so there isn't one "desktop bit depth", which is why >> there's DisplayMode.BIT_DEPTH_MULTI to indicate that case. > > I think I mean something different. Suppose your graphics board is > capable of using 2 different resolutions (1024x768 and 800x600) in two > different color modes (RGB565 and RGB556) (not simultanously). This > would make 4 DMs. The problem I see is that bitDepth is not expressive > enough to differentiate between RGB565 and RGB556, both use 16 bits. I see. Indeed, this situation wasn't foreseen. Thanks, Dmitri >>> Then: what is the default configuration? Is it just some random >> This is tricky. >> >> In _most_ cases it corresponds to the screen's default visual / pixel format. >> >> Except for the cases where the default visual is say 8-bit, but there's a >> 32-bit visual available. This happens on older SunOS systems with CDE where the >> default visual is 8 bit. There are Sun adapters for sparc which can display >> windows with different bit depths (and palettes, and gamma correction) >> simultaneously. > > Ok, I guess when I only ever have one GC (see above) that's easy now :-) > >>> What is (and how to use) GD.getBestConfiguration()? The >>> GraphicsConfigTemplate class seems pretty useless to me. >> It is. =) I'm not sure anyone uses this stuff. > > Haha, good. :-) > > Thanks a lot for clearing this up Dmitri. Oh, it means I have to rework > lots of code. THANKS! ;-) > > /Roman > >