RFR: 8148886: SEGV in sun.java2d.marlin.Renderer._endRendering

Andrew Hughes gnu.andrew at redhat.com
Fri May 22 01:50:06 UTC 2020


On 14/04/2020 20:20, Laurent Bourgès wrote:
> Please review this 10th patch to backport the Marlin renderer from jdk9.
> 
> JBS: https://bugs.openjdk.java.net/browse/JDK-8148886
> patch:
> http://cr.openjdk.java.net/~lbourges/marlin8u/marlin-8.10/m10.8148886.patch
> webrev:
> http://cr.openjdk.java.net/~lbourges/marlin8u/marlin-8.10/webrev-8148886.0/
> unshuffled patch:
> http://cr.openjdk.java.net/~lbourges/marlin8u/marlin-8.10/unshuffled/8-m10.8148886.patch
> 
> Changes:
> - RendererContext.java: fixed few chunks due to missing changes (Cleaner
> API can not be used in jdk8)

I presume you just mean the context is different because 8u doesn't have
the cleanerObj? I don't see much of a diff.

> - fixed Version: to 0.7.3.2
> 
> Complete diff between unshuffled & proposed patch:
> 
> ---
> /home/bourgesl/libs/graphics-rasterizer/wr/marlin-8.10/unshuffled/8-m10.8148886.patch
> +++ /home/bourgesl/libs/graphics-rasterizer/wr/marlin-8.10/m10.8148886.patch
> @@ -772,10 +772,10 @@
>  -     * @see MarlinRenderingEngine#REF_TYPE
>  -     */
>  -    final Object reference;
> -     // Smallest object used as Cleaner's parent reference
> -     final Object cleanerObj = new Object();
>       // dirty flag indicating an exception occured during pipeline in
> pathTo()
> -@@ -101,7 +98,7 @@
> +     boolean dirty = false;
> +     // dynamic array caches kept using weak reference (low memory
> footprint)
> +@@ -99,7 +96,7 @@
>       /**
>        * Constructor
>        *
> @@ -784,7 +784,7 @@
>        */
>       RendererContext(final String name) {
>           if (logCreateContext) {
> -@@ -124,20 +121,6 @@
> +@@ -122,20 +119,6 @@
> 
>           stroker = new Stroker(this);
>           dasher = new Dasher(this);
> @@ -819,7 +819,7 @@
> 
>   public final class Version {
> 
> --    private static final String version = "marlin-0.7.3-Unsafe-OpenJDK";
> +-    private static final String version = "marlin-0.7.2-Unsafe-OpenJDK";
>  +    private static final String version = "marlin-0.7.3.2-Unsafe-OpenJDK";
> 
>       public static String getVersion() {
> 
> Cheers,
> Laurent
> 

I also see some differences in
src/share/classes/sun/java2d/pipe/AAShapePipe.java but it seems to just
be whitespace differences.

Ok for 8u-dev.

Thanks,
-- 
Andrew :)

Senior Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net)
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222



More information about the jdk8u-dev mailing list