--- old/make/CopyIntoClasses.gmk 2014-05-07 11:20:39.295859964 -0700 +++ new/make/CopyIntoClasses.gmk 2014-05-07 11:20:39.199859961 -0700 @@ -118,10 +118,8 @@ SRC_SERVICES_FILES := $(wildcard $(addsuffix /services/*, $(ALL_META-INF_DIRS))) ifdef OPENJDK - SRC_SERVICES_FILES := $(filter-out %sun/dc/META-INF/services/sun.java2d.pipe.RenderingEngine, $(SRC_SERVICES_FILES)) SRC_SERVICES_FILES := $(filter-out %sun/java2d/cmm/kcms/META-INF/services/sun.java2d.cmm.CMMServiceProvider, $(SRC_SERVICES_FILES)) else - SRC_SERVICES_FILES := $(filter-out %sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine, $(SRC_SERVICES_FILES)) SRC_SERVICES_FILES := $(filter-out %sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.CMMServiceProvider, $(SRC_SERVICES_FILES)) endif --- old/make/profile-rtjar-includes.txt 2014-05-07 11:20:39.599859972 -0700 +++ new/make/profile-rtjar-includes.txt 2014-05-07 11:20:39.499859970 -0700 @@ -242,5 +242,4 @@ META-INF/services/javax.sound.sampled.spi.AudioFileWriter \ META-INF/services/javax.sound.sampled.spi.FormatConversionProvider \ META-INF/services/javax.sound.sampled.spi.MixerProvider \ - META-INF/services/sun.java2d.cmm.PCMM \ - META-INF/services/sun.java2d.pipe.RenderingEngine + META-INF/services/sun.java2d.cmm.PCMM --- old/src/share/classes/sun/java2d/pipe/RenderingEngine.java 2014-05-07 11:20:39.951859982 -0700 +++ new/src/share/classes/sun/java2d/pipe/RenderingEngine.java 2014-05-07 11:20:39.847859979 -0700 @@ -32,7 +32,6 @@ import java.security.PrivilegedAction; import java.security.AccessController; -import java.util.ServiceLoader; import sun.security.action.GetPropertyAction; import sun.awt.geom.PathConsumer2D; @@ -97,12 +96,9 @@ * * * If no specific {@code RenderingEngine} is specified on the command - * or Ductus renderer is specified, it will attempt loading the - * sun.dc.DuctusRenderingEngine class using Class.forName as a fastpath; - * if not found, use the ServiceLoader. - * If no specific {@code RenderingEngine} is specified on the command - * line then the last one returned by enumerating all subclasses of - * {@code RenderingEngine} known to the ServiceLoader is used. + * or Ductus renderer is specified, it will first attempt loading the + * sun.dc.DuctusRenderingEngine class using Class.forName, if that + * is not found, then it will look for Pisces. *

* Runtime tracing of the actions of the {@code RenderingEngine} * can be enabled by specifying the runtime flag: @@ -120,30 +116,29 @@ reImpl = AccessController.doPrivileged(new PrivilegedAction() { public RenderingEngine run() { + /* Look first for ductus or an app-override renderer, + * if not specified or present, then look for pisces. + */ final String ductusREClass = "sun.dc.DuctusRenderingEngine"; - String reClass = - System.getProperty("sun.java2d.renderer", ductusREClass); - if (reClass.equals(ductusREClass)) { - try { - Class cls = Class.forName(ductusREClass); - return (RenderingEngine) cls.newInstance(); - } catch (ReflectiveOperationException ignored) { - // not found - } + final String piscesREClass = "sun.java2d.pisces.PiscesRenderingEngine"; + String reClass = System.getProperty("sun.java2d.renderer"); + if (reClass == null) { + reClass = ductusREClass; } - - ServiceLoader reLoader = - ServiceLoader.loadInstalled(RenderingEngine.class); - - RenderingEngine service = null; - - for (RenderingEngine re : reLoader) { - service = re; - if (re.getClass().getName().equals(reClass)) { - break; - } + try { + Class cls = Class.forName(reClass); + return (RenderingEngine) cls.newInstance(); + } catch (ReflectiveOperationException ignored) { + // not found + } + try { + Class cls = Class.forName(piscesREClass); + return (RenderingEngine) cls.newInstance(); + } catch (ReflectiveOperationException ignored) { + // not found } - return service; + + return null; } }); --- old/src/share/classes/sun/dc/META-INF/services/sun.java2d.pipe.RenderingEngine 2014-05-07 11:20:40.311859992 -0700 +++ /dev/null 2014-05-05 09:33:15.782818112 -0700 @@ -1,2 +0,0 @@ -# Ductus Rendering Engine module -sun.dc.DuctusRenderingEngine --- old/src/share/classes/sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine 2014-05-07 11:20:40.511859998 -0700 +++ /dev/null 2014-05-05 09:33:15.782818112 -0700 @@ -1,2 +0,0 @@ -# Pisces Rendering Engine module -sun.java2d.pisces.PiscesRenderingEngine --- old/src/solaris/classes/sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine 2014-05-07 11:20:40.715860004 -0700 +++ /dev/null 2014-05-05 09:33:15.782818112 -0700 @@ -1,5 +0,0 @@ -# Jules Rendering Engine module -sun.java2d.jules.JulesRenderingEngine - -# Pisces Rendering Engine module -sun.java2d.pisces.PiscesRenderingEngine