Backport proposal of the Marlin renderer in OpenJDK8
Andrew Brygin
abrygin at azul.com
Thu Sep 19 19:17:04 UTC 2019
Hello Laurent,
I am sorry for the delay.
I have applied Marlin patches from Zulu 8 repo to jdk8u-dev,
and generated webrevs.
There are 20 patches related to Marlin integration:
01 8143849: Integrate Marlin renderer per JEP 265
02 8145055: Marlin renderer causes unaligned write accesses
03 8144630: Use PrivilegedAction to create Thread in Marlin RendererStats
04 8144446: Automate the Marlin crash test
05 8144445: Maximum size checking in Marlin ArrayCache utility methods is not optimal
06 8144526: Remove Marlin logging use of deleted internal API
07 8144654: Improve Marlin logging
08 8144718: Pisces / Marlin Strokers may generate invalid curves with huge coordinates and round joins
09 8149338: JVM Crash caused by Marlin renderer not handling NaN coordinates
10 8148886: SEGV in sun.java2d.marlin.Renderer._endRendering
11 8144938: Handle properly coordinate overflow in Marlin Renderer
12 8159093: Fix coding conventions in Marlin renderer
13 8159638: Improve array caches and renderer stats in Marlin renderer
14 8180055: Upgrade the Marlin renderer in Java2D
15 8191814: Marlin rasterizer spends time computing geometry for stroked segments that do not intersect the clip
16 8198885: upgrade Marlin (java2d) to 0.9.1
17 8200526: Test sun/java2d/marlin/ClipShapeTest.java times out
18 8202580: Dashed BasicStroke randomly painted incorrectly, may freeze application
19 8210335: Clipping problems with complex affine transforms: negative scaling factors or small scaling factors
20 8180055: Upgrade the Marlin renderer in Java2D (update service list)
Webrevs are available here:
http://cr.openjdk.java.net/~bae/marlin/webrevs/
Just in case, patches are available here, cleanly applicable to
current state of jdk8u-dev:
http://cr.openjdk.java.net/~bae/marlin/
Thanks,
Andrew
> On Sep 19, 2019, at 9:47 PM, Laurent Bourgès <bourges.laurent at gmail.com> wrote:
>
> Hi,
>
> Le jeu. 19 sept. 2019 à 19:31, Andrey Petushkov <andrey at azul.com> a écrit :
> Dear Laurent,
>
> unfortunately Azul engineers and especially Andrew Brygin was overwhelmed by other work last days, e.g. like getting Java 13 builds out of the door.
> so if you can afford waiting a few more days please give him chance to finish the patches
>
> Sorry, I understand.
> I was not aware of such plan, please just say it in the future, if you need time.
>
> Of course, I have time but I will start preparing the job.
>
> Cheers,
> Laurent
>
>
> 19 сентября 2019 г. 10:09:08 GMT-07:00, "Laurent Bourgès" <bourges.laurent at gmail.com> пишет:
> Hi Andrew JH,
>
> As I have no more news from Azul, I will start redoing all the proper
> backport.
>
> I identified ~ 25 bug ids and the corresponding hg changeset ids in latest
> jdk repo.
>
> Le mar. 17 sept. 2019 à 20:53, Andrew John Hughes <gnu.andrew at redhat.com> a
> écrit :
>
>
>
> On 12/09/2019 20:54, Laurent Bourgès wrote:
> Hi Andrew B (& other Andrew in this thread),
>
> I have an idea that could satisfy both approaches:
> - As the azul team backported already jdk9+ patches into their openjdk8 /
> zulu repository, it implies jdk8u patches are ready for integration and I
> already reviewed the code: zulu could be considered as both an incubator
> that proved Marlin works on jdk8 in production (as I did on my github).
>
> Two solutions:
> - extract & apply all zulu-ready patches in order in jdk8u-dev
> - extract one big patch (from zulu) and apply it on jdk8u-dev
> I do not see any reason to use another incubator repository...
>
> I can review all individual patches or the all-in-one and we are all
> done,
> up to the last patch backported in zulu 8 (version 0.9.1.1 merged in dec
> 2018 according to me).
>
> Moreover I already maintain a github branch for the Marlin / openjdk (8):
> https://github.com/bourgesl/marlin-renderer/tree/openjdk?files=1
> It is my reference to easily compare with any jdk8 codebase.
>
> From this first step, I will manage the missing patches to be up-to-date
> with latest jdk14 (v0.9.1.3 ie 2 patches) and future ones.
>
> What do you think ?
> This approach requires some work from zulu team to publish jdk8 patches
> that I will review and I need a jdk8u sponsor to endorse, follow & push
> the
> patch train or the all-in-one patch integration.
>
> Cheers,
> Laurent
>
>
> Is this Zulu public? Does it use OpenJDK bug IDs for the changesets?
>
>
> Zulu code is available on demand, no public repository I know. I know they
> backported patches 1 by 1... but I only reviewed few snapshots.
> Nevermind.
>
>
> As I said before, my preferred method is the backport of changesets
> corresponding to individual OpenJDK bug IDs, so we have a clear idea of
> what issues are now fixed in 8u.
>
>
> Ok, I will setup a dedicated github repo to gather all unshuffled patches
> and write a script to import all of them in order on jdk8u/jdk repo.
>
> I estimate this work will be 1 month long (spare time only).
>
> Thanks for any feedback,
> Laurent
More information about the jdk8u-dev
mailing list