RFR: 8143849: Integrate Marlin renderer per JEP 265

Laurent Bourgès bourges.laurent at gmail.com
Fri Jan 24 08:04:18 UTC 2020


Hi,

Two comments on this patch:
1. In jdk9's RenderingEngine class, the system property
-Dsun.java2d.renderer.verbose=true

+        gpa = new GetPropertyAction("sun.java2d.renderer.verbose");
+        String verbose = AccessController.doPrivileged(gpa);
+        if (verbose != null && verbose.startsWith("t")) {
+            System.out.println("RenderingEngine = "+reImpl);
+        }

This change is missing in the current jdk8 backport (zulu 8) so there
is no mean to display which RenderingEngine is in action at runtime.

2. As I disabled the Marlin renderer by default in this patch, it must
be explicitly enabled by setting the system property:
 -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine

Finally I built the patched JDK8u and tested using jtreg (sun.java2d tests).

Laurent


Le jeu. 23 janv. 2020 à 23:48, Laurent Bourgès <bourges.laurent at gmail.com>
a écrit :

> Please review this first patch to backport the Marlin renderer from jdk9.
>
> JBS: https://bugs.openjdk.java.net/browse/JDK-8143849
> webrev:
> http://cr.openjdk.java.net/~lbourges/marlin8u/marlin-8.01/m01.8143849.patch
> unshuffled patch:
> http://cr.openjdk.java.net/~lbourges/marlin8u/marlin-8.01/unshuffled/
>
> m01.8143849.patch + merge with marlin changes only from m01b.8149896.patch
> (few lines), the bug 8149896 will not be backported later.
>
> Changes:
> - FloatMath.java: removed powerOfTwoD(int n) as done in m01b.8149896.patch
>
> - MarlinCache.java & MarlinTileGenerator.java:
> import jdk.internal.misc.Unsafe; => import sun.misc.Unsafe;
>
> - MarlinUtils:
> import jdk.internal.misc.JavaLangAccess; => import sun.misc.JavaLangAccess;
> import jdk.internal.misc.SharedSecrets; => import sun.misc.SharedSecrets;
>
> - OffHeapArray.java:
> import sun.awt.util.ThreadGroupUtils; => import sun.misc.ThreadGroupUtils;
> import jdk.internal.misc.Unsafe; => import sun.misc.Unsafe;
>
> - Renderer.java:
> import jdk.internal.misc.Unsafe; => import sun.misc.Unsafe;
>
> 1 Line change from m01b.8149896.patch:
> private static final double POWER_2_TO_32 = FloatMath.powerOfTwoD(32); =>
> private static final double POWER_2_TO_32 = 0x1.0p32;
>
> - RenderingEngine.java:
> I skipped any change to the RenderingEngine class to not change the
> default renderer in jdk 8u.
> FYI I moved those changes in the following file, not to be integrated:
>
> http://cr.openjdk.java.net/~lbourges/marlin8u/marlin-8.01/m01.8143849-RenderingEngine.patch
>
> - Add MarlinRenderingEngine in sun.java2d.pipe.RenderingEngine property
> files
>
> Best regards,
> Laurent
>


-- 
-- 
Laurent Bourgès


More information about the jdk8u-dev mailing list