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

Laurent Bourgès bourges.laurent at gmail.com
Tue Apr 14 19:20:31 UTC 2020


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)
- 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


More information about the jdk8u-dev mailing list