/hg/icedtea6: 2 new changesets
dlila at icedtea.classpath.org
dlila at icedtea.classpath.org
Thu May 12 10:33:33 PDT 2011
changeset 55217d6f7533 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=55217d6f7533
author: Denis Lila <dlila at redhat.com>
date: Thu May 12 13:27:51 2011 -0400
Fix regression.
changeset d41db027b4ea in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d41db027b4ea
author: Denis Lila <dlila at redhat.com>
date: Thu May 12 13:33:06 2011 -0400
merge
diffstat:
ChangeLog | 15 +
Makefile.am | 5 +-
NEWS | 1 +
patches/openjdk/7043921-java_rmi_cgi.patch | 39 ++
patches/openjdk/pgram-pipe-regression.patch | 543 ++++++++++++++++++++++++++++
patches/rmi_amd64.patch | 14 -
6 files changed, 601 insertions(+), 16 deletions(-)
diffs (truncated from 674 to 500 lines):
diff -r 0dad4d8420ac -r d41db027b4ea ChangeLog
--- a/ChangeLog Thu May 12 11:22:12 2011 -0400
+++ b/ChangeLog Thu May 12 13:33:06 2011 -0400
@@ -1,3 +1,18 @@
+2011-05-12 Denis Lila <dlila at redhat.com>
+
+ * Makefile.am: Apply patch.
+ * NEWS: Update with backport.
+ * patches/openjdk/pgram-pipe-regression.patch: Fix regression a
+ where the wrong user space bounds would be passed to user supplied
+ paint object.
+
+2011-05-12 Omair Majid <omajid at redhat.com>
+
+ * Makefile.am (ICEDTEA_PATCHES): Remove rmi_amd64.patch. Add
+ 7043921-java_rmi_cgi.patch
+ * patches/openjdk/7043921-java_rmi_cgi.patch: New file.
+ * patches/rmi_amd64.patch: Remove.
+
2011-05-12 Omair Majid <omajid at redhat.com>
* Makefile.am (ICEDTEA_PATCHES): Replace patches/libpng.patch with
diff -r 0dad4d8420ac -r d41db027b4ea Makefile.am
--- a/Makefile.am Thu May 12 11:22:12 2011 -0400
+++ b/Makefile.am Thu May 12 13:33:06 2011 -0400
@@ -217,7 +217,7 @@
patches/version.patch \
patches/version-hotspot.patch \
patches/hotspot/$(HSBUILD)/text-relocations.patch \
- patches/rmi_amd64.patch \
+ patches/openjdk/7043921-java_rmi_cgi.patch \
patches/tools.patch \
patches/use-system-tzdata.patch \
patches/headers.patch \
@@ -338,7 +338,8 @@
patches/icedtea-hugepage-7034464.patch \
patches/icedtea-hugepage-7037939.patch \
patches/openjdk/6986968-crash_on_xim_restart.patch \
- patches/openjdk/7036754-stroker-nan.patch
+ patches/openjdk/7036754-stroker-nan.patch \
+ patches/openjdk/pgram-pipe-regression.patch
if WITH_ALT_HSBUILD
ICEDTEA_PATCHES += \
diff -r 0dad4d8420ac -r d41db027b4ea NEWS
--- a/NEWS Thu May 12 11:22:12 2011 -0400
+++ b/NEWS Thu May 12 13:33:06 2011 -0400
@@ -27,6 +27,7 @@
- S7018387: Xrender pipeline may leak GC's
- S7036754: Stroked quads sometimes contain NaN
- S7042040: Remove disk space sanity check
+ - S7043054: REGRESSION - wrong userBounds in Paint.createContext()
* Bug fixes
- PR637: make check should exit with an error code if any regression test failed.
- G356743: Support libpng 1.5.
diff -r 0dad4d8420ac -r d41db027b4ea patches/openjdk/7043921-java_rmi_cgi.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/7043921-java_rmi_cgi.patch Thu May 12 13:33:06 2011 -0400
@@ -0,0 +1,40 @@
+# HG changeset patch
+# User ohair
+# Date 1305210277 25200
+# Node ID 13fa9a0c628f58326cc376b7623a03b9d796136e
+# Parent caed82420c5d01f5aaee5b15e8e37befc8db3d49
+7043921: generate java-rmi.cgi on 64 bit platform
+Reviewed-by: omajid, katleman
+
+diff -r caed82420c5d -r 13fa9a0c628f make/sun/rmi/rmi/Makefile
+--- openjdk/jdk/make/sun/rmi/rmi/Makefile Wed May 11 14:12:50 2011 -0700
++++ openjdk/jdk/make/sun/rmi/rmi/Makefile Thu May 12 07:24:37 2011 -0700
+@@ -85,16 +85,21 @@
+ sun.rmi.registry.RegistryImpl \
+ sun.rmi.transport.DGCImpl
+
+-ifeq ($(PLATFORM), windows)
+-build: stubs
+-else # PLATFORM
+-ifneq ($(ARCH_DATA_MODEL), 32)
+-build: stubs
+-else # ARCH_DATA_MODEL
+-build: stubs bin
++#
++# The java-rmi.cgi script in bin/ only gets delivered in certain situations
++#
++BUILD_TARGETS = stubs
++ifeq ($(PLATFORM), linux)
++ BUILD_TARGETS += bin
+ endif
++ifeq ($(PLATFORM), solaris)
++ ifeq ($(ARCH_DATA_MODEL), 32)
++ BUILD_TARGETS += bin
++ endif
+ endif
+
++build: $(BUILD_TARGETS)
++
+ clean clobber:: bin.clean
+
+
diff -r 0dad4d8420ac -r d41db027b4ea patches/openjdk/pgram-pipe-regression.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/pgram-pipe-regression.patch Thu May 12 13:33:06 2011 -0400
@@ -0,0 +1,552 @@
+# HG changeset patch
+# User flar
+# Date 1305155521 25200
+# Node ID f290441b0cb7f5059caab84936b363b1f45e9e2f
+# Parent 85f53467c30ce903c3ea51cfea7759d9c7e39edc
+7043054: REGRESSION: JDK 7 b126 : Wrong userBounds in Paint.createContext()
+Reviewed-by: prr
+
+diff -r 85f53467c30c -r f290441b0cb7 src/share/classes/sun/java2d/opengl/OGLRenderer.java
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/opengl/OGLRenderer.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/opengl/OGLRenderer.java Wed May 11 16:12:01 2011 -0700
+@@ -102,15 +102,20 @@
+ final ParallelogramPipe realpipe = oglr.getAAParallelogramPipe();
+ return new ParallelogramPipe() {
+ public void fillParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+ {
+ GraphicsPrimitive.tracePrimitive("OGLFillAAParallelogram");
+ realpipe.fillParallelogram(sg2d,
++ ux1, uy1, ux2, uy2,
+ x, y, dx1, dy1, dx2, dy2);
+ }
+ public void drawParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+@@ -118,6 +123,7 @@
+ {
+ GraphicsPrimitive.tracePrimitive("OGLDrawAAParallelogram");
+ realpipe.drawParallelogram(sg2d,
++ ux1, uy1, ux2, uy2,
+ x, y, dx1, dy1, dx2, dy2,
+ lw1, lw2);
+ }
+@@ -166,21 +172,29 @@
+ oglr.fillSpans(sg2d, si, transx, transy);
+ }
+ public void fillParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+ {
+ GraphicsPrimitive.tracePrimitive("OGLFillParallelogram");
+- oglr.fillParallelogram(sg2d, x, y, dx1, dy1, dx2, dy2);
++ oglr.fillParallelogram(sg2d,
++ ux1, uy1, ux2, uy2,
++ x, y, dx1, dy1, dx2, dy2);
+ }
+ public void drawParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+ double lw1, double lw2)
+ {
+ GraphicsPrimitive.tracePrimitive("OGLDrawParallelogram");
+- oglr.drawParallelogram(sg2d, x, y, dx1, dy1, dx2, dy2, lw1, lw2);
++ oglr.drawParallelogram(sg2d,
++ ux1, uy1, ux2, uy2,
++ x, y, dx1, dy1, dx2, dy2, lw1, lw2);
+ }
+ public void copyArea(SunGraphics2D sg2d,
+ int x, int y, int w, int h, int dx, int dy)
+diff -r 85f53467c30c -r f290441b0cb7 src/share/classes/sun/java2d/pipe/AAShapePipe.java
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java Wed May 11 16:12:01 2011 -0700
+@@ -68,21 +68,23 @@
+ renderPath(sg, s, null);
+ }
+
+- private static Rectangle2D computeBBox(double x, double y,
+- double dx1, double dy1,
+- double dx2, double dy2)
++ private static Rectangle2D computeBBox(double ux1, double uy1,
++ double ux2, double uy2)
+ {
+- double lox, loy, hix, hiy;
+- lox = hix = x;
+- loy = hiy = y;
+- if (dx1 < 0) { lox += dx1; } else { hix += dx1; }
+- if (dy1 < 0) { loy += dy1; } else { hiy += dy1; }
+- if (dx2 < 0) { lox += dx2; } else { hix += dx2; }
+- if (dy2 < 0) { loy += dy2; } else { hiy += dy2; }
+- return new Rectangle2D.Double(lox, loy, hix-lox, hiy-loy);
++ if ((ux2 -= ux1) < 0) {
++ ux1 += ux2;
++ ux2 = -ux2;
++ }
++ if ((uy2 -= uy1) < 0) {
++ uy1 += uy2;
++ uy2 = -uy2;
++ }
++ return new Rectangle2D.Double(ux1, uy1, ux2, uy2);
+ }
+
+ public void fillParallelogram(SunGraphics2D sg,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+@@ -97,10 +99,12 @@
+ return;
+ }
+
+- renderTiles(sg, computeBBox(x, y, dx1, dy1, dx2, dy2), aatg, abox);
++ renderTiles(sg, computeBBox(ux1, uy1, ux2, uy2), aatg, abox);
+ }
+
+ public void drawParallelogram(SunGraphics2D sg,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+@@ -118,7 +122,7 @@
+
+ // Note that bbox is of the original shape, not the wide path.
+ // This is appropriate for handing to Paint methods...
+- renderTiles(sg, computeBBox(x, y, dx1, dy1, dx2, dy2), aatg, abox);
++ renderTiles(sg, computeBBox(ux1, uy1, ux2, uy2), aatg, abox);
+ }
+
+ private static byte[] theTile;
+diff -r 85f53467c30c -r f290441b0cb7 src/share/classes/sun/java2d/pipe/AlphaColorPipe.java
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/AlphaColorPipe.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/AlphaColorPipe.java Wed May 11 16:12:01 2011 -0700
+@@ -66,6 +66,8 @@
+ }
+
+ public void fillParallelogram(SunGraphics2D sg,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+@@ -75,6 +77,8 @@
+ }
+
+ public void drawParallelogram(SunGraphics2D sg,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+diff -r 85f53467c30c -r f290441b0cb7 src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java Wed May 11 16:12:01 2011 -0700
+@@ -408,6 +408,8 @@
+ }
+
+ public void fillParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+@@ -429,6 +431,8 @@
+ }
+
+ public void drawParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+@@ -454,6 +458,8 @@
+
+ private class AAParallelogramPipe implements ParallelogramPipe {
+ public void fillParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+@@ -475,6 +481,8 @@
+ }
+
+ public void drawParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+diff -r 85f53467c30c -r f290441b0cb7 src/share/classes/sun/java2d/pipe/LoopPipe.java
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java Wed May 11 16:12:01 2011 -0700
+@@ -352,6 +352,8 @@
+ }
+
+ public void fillParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+@@ -362,6 +364,8 @@
+ }
+
+ public void drawParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+diff -r 85f53467c30c -r f290441b0cb7 src/share/classes/sun/java2d/pipe/ParallelogramPipe.java
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/ParallelogramPipe.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/ParallelogramPipe.java Wed May 11 16:12:01 2011 -0700
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2008, 2011 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -40,9 +40,17 @@
+ * => (x+dx2, y+dy2)
+ * => origin
+ * </pre>
++ * The four u[xy][12] parameters are the unsorted extreme coordinates
++ * of the primitive in user space. They may have been generated by a
++ * line or a rectangle so they could have u[xy]2 < u[xy]1 in some cases.
++ * They should be sorted before calculating the bounds of the original
++ * primitive (such as for calculating the user space bounds for the
++ * Paint.createContext() method).
+ */
+ public interface ParallelogramPipe {
+ public void fillParallelogram(SunGraphics2D sg,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2);
+@@ -59,6 +67,8 @@
+ * difference between the outer and inner parallelograms.
+ */
+ public void drawParallelogram(SunGraphics2D sg,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+diff -r 85f53467c30c -r f290441b0cb7 src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java Wed May 11 16:12:01 2011 -0700
+@@ -175,8 +175,8 @@
+ }
+
+ public boolean drawGeneralLine(SunGraphics2D sg2d,
+- double x1, double y1,
+- double x2, double y2)
++ double ux1, double uy1,
++ double ux2, double uy2)
+ {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_CUSTOM ||
+ sg2d.strokeState == SunGraphics2D.STROKE_THINDASHED)
+@@ -194,13 +194,14 @@
+ double lw = bs.getLineWidth();
+ // Save the original dx, dy in case we need it to transform
+ // the linewidth as a perpendicular vector below
+- double dx = x2 - x1;
+- double dy = y2 - y1;
++ double dx = ux2 - ux1;
++ double dy = uy2 - uy1;
++ double x1, y1, x2, y2;
+ switch (sg2d.transformState) {
+ case SunGraphics2D.TRANSFORM_GENERIC:
+ case SunGraphics2D.TRANSFORM_TRANSLATESCALE:
+ {
+- double coords[] = {x1, y1, x2, y2};
++ double coords[] = {ux1, uy1, ux2, uy2};
+ sg2d.transform.transform(coords, 0, coords, 0, 2);
+ x1 = coords[0];
+ y1 = coords[1];
+@@ -213,13 +214,17 @@
+ {
+ double tx = sg2d.transform.getTranslateX();
+ double ty = sg2d.transform.getTranslateY();
+- x1 += tx;
+- y1 += ty;
+- x2 += tx;
+- y2 += ty;
++ x1 = ux1 + tx;
++ y1 = uy1 + ty;
++ x2 = ux2 + tx;
++ y2 = uy2 + ty;
+ }
+ break;
+ case SunGraphics2D.TRANSFORM_ISIDENT:
++ x1 = ux1;
++ y1 = uy1;
++ x2 = ux2;
++ y2 = uy2;
+ break;
+ default:
+ throw new InternalError("unknown TRANSFORM state...");
+@@ -279,7 +284,8 @@
+ dx += udx;
+ dy += udy;
+ }
+- outrenderer.fillParallelogram(sg2d, px, py, -udy, udx, dx, dy);
++ outrenderer.fillParallelogram(sg2d, ux1, uy1, ux2, uy2,
++ px, py, -udy, udx, dx, dy);
+ return true;
+ }
+
+@@ -313,7 +319,8 @@
+ px = newx;
+ py = newy;
+ }
+- outrenderer.fillParallelogram(sg2d, px, py, dx1, dy1, dx2, dy2);
++ outrenderer.fillParallelogram(sg2d, rx, ry, rx+rw, ry+rh,
++ px, py, dx1, dy1, dx2, dy2);
+ }
+
+ public void drawRectangle(SunGraphics2D sg2d,
+@@ -360,10 +367,12 @@
+ // entire hole in the middle of the parallelogram
+ // so we can just fill the outer parallelogram.
+ fillOuterParallelogram(sg2d,
++ rx, ry, rx+rw, ry+rh,
+ px, py, dx1, dy1, dx2, dy2,
+ len1, len2, lw1, lw2);
+ } else {
+ outrenderer.drawParallelogram(sg2d,
++ rx, ry, rx+rw, ry+rh,
+ px, py, dx1, dy1, dx2, dy2,
+ lw1 / len1, lw2 / len2);
+ }
+@@ -377,6 +386,8 @@
+ * and issues a single fillParallelogram request to fill it.
+ */
+ public void fillOuterParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double px, double py,
+ double dx1, double dy1,
+ double dx2, double dy2,
+@@ -412,6 +423,7 @@
+ dx2 += udx2;
+ dy2 += udy2;
+
+- outrenderer.fillParallelogram(sg2d, px, py, dx1, dy1, dx2, dy2);
++ outrenderer.fillParallelogram(sg2d, ux1, uy1, ux2, uy2,
++ px, py, dx1, dy1, dx2, dy2);
+ }
+ }
+diff -r 85f53467c30c -r f290441b0cb7 src/windows/classes/sun/java2d/d3d/D3DRenderer.java
+--- openjdk.orig/jdk/src/windows/classes/sun/java2d/d3d/D3DRenderer.java Tue May 10 15:59:01 2011 -0700
++++ openjdk/jdk/src/windows/classes/sun/java2d/d3d/D3DRenderer.java Wed May 11 16:12:01 2011 -0700
+@@ -102,15 +102,20 @@
+ final ParallelogramPipe realpipe = d3dr.getAAParallelogramPipe();
+ return new ParallelogramPipe() {
+ public void fillParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
+ {
+ GraphicsPrimitive.tracePrimitive("D3DFillAAParallelogram");
+ realpipe.fillParallelogram(sg2d,
++ ux1, uy1, ux2, uy2,
+ x, y, dx1, dy1, dx2, dy2);
+ }
+ public void drawParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2,
+@@ -118,6 +123,7 @@
+ {
+ GraphicsPrimitive.tracePrimitive("D3DDrawAAParallelogram");
+ realpipe.drawParallelogram(sg2d,
++ ux1, uy1, ux2, uy2,
+ x, y, dx1, dy1, dx2, dy2,
+ lw1, lw2);
+ }
+@@ -167,21 +173,29 @@
+ d3dr.fillSpans(sg2d, si, transx, transy);
+ }
+ public void fillParallelogram(SunGraphics2D sg2d,
++ double ux1, double uy1,
++ double ux2, double uy2,
+ double x, double y,
+ double dx1, double dy1,
+ double dx2, double dy2)
More information about the distro-pkg-dev
mailing list