OK .. since no one else seems to be doing this I'll handle it for you.

-phil.

On 4/9/19 12:28 AM, Dmitry Batrak wrote:
Thanks!

Hopefully someone can push (sponsor) it now.

Best regards,
Dmitry Batrak


On Mon, Apr 8, 2019 at 10:16 PM Sergey Bylokhov <[email protected] <mailto:[email protected]>> wrote:

    +1

    On 01/04/2019 02:12, Alexey Ushakov wrote:
    > Looks good for me.
    >
    > Best Regards,
    > Alexey
    >
    > On Mon, Apr 1, 2019 at 10:46 AM Dmitry Batrak
    <[email protected] <mailto:[email protected]>
    <mailto:[email protected]
    <mailto:[email protected]>>> wrote:
    >
    >      > Sorry for the delay. I've now finished verifying this and
    it is a +1 from me.
    >     Thanks!
    >
    >     Anyone else, please? A second reviewer is required.
    >
    >     On Mon, Mar 25, 2019 at 11:19 PM Philip Race
    <[email protected] <mailto:[email protected]>
    <mailto:[email protected] <mailto:[email protected]>>>
    wrote:
    >
    >         Sorry for the delay. I've now finished verifying this
    and it is a +1 from me.
    >
    >         -phil.
    >
    >         On 3/12/19, 1:32 AM, Dmitry Batrak wrote:
    >>         > This looks good to me, if I understand correctly that
    we now create
    >>         > the face on first use and cache it fin Java or as
    long as the Font2D is
    >>         > alive.
    >>         > And the JNIEnv is always found on
    >>         That's correct. The assumption is that HarfBuzz doesn't
    create its own threads,
    >>         so HarfBuzz-related native code will always be invoked
    from a Java thread
    >>         (as part of 'shape' call), and so JNIEnv will be
    available in that context.
    >>
    >>         I've updated the webrev by including a stress test for
    multi-threaded behaviour
    >>         testing. Apart from the test, webrev also has some
    cosmetic differences
    >>         from the previous version (like a comment fix or
    parameter order changing),
    >>         appeared during 'splitting' process. To simplify the
    review, I'm also providing
    >>         the links to the 'split' version of the same webrev -
    three parts that produce
    >>         the same result when combined. I've not tested the
    changes separately
    >>         (except basic compilation check).
    >>
    >>         Complete change:
    >> http://cr.openjdk.java.net/~dbatrak/8220231/webrev.01/
    <http://cr.openjdk.java.net/%7Edbatrak/8220231/webrev.01/>
    >>         Part 1 (caching hb_face_t):
    >> http://cr.openjdk.java.net/~dbatrak/8220231/webrev.01-1/
    <http://cr.openjdk.java.net/%7Edbatrak/8220231/webrev.01-1/>
    >>         Part 2 (tables caching removal):
    >> http://cr.openjdk.java.net/~dbatrak/8220231/webrev.01-2/
    <http://cr.openjdk.java.net/%7Edbatrak/8220231/webrev.01-2/>
    >>         Part 3 (scaler pointer passing removal):
    >> http://cr.openjdk.java.net/~dbatrak/8220231/webrev.01-3/
    <http://cr.openjdk.java.net/%7Edbatrak/8220231/webrev.01-3/>
    >>
    >>         Best regards,
    >>         Dmitry Batrak
    >>
    >>         On Fri, Mar 8, 2019 at 3:21 AM Philip Race
    <[email protected] <mailto:[email protected]>
    <mailto:[email protected] <mailto:[email protected]>>>
    wrote:
    >>
    >>             This looks good to me, if I understand correctly
    that we now create
    >>             the face on first use and cache it fin Java or as
    long as the Font2D is
    >>             alive.
    >>             And the JNIEnv is always found on
    >>
    >>             I think you are right that we don't need the
    caching of the tables since
    >>             now the face will do it. The unfortunate thing is
    that the removal of
    >>             this code is
    >>             well over half the changes and as such it greatly
    muddied finding the
    >>             changes
    >>             that make the performance difference so my review
    was harder and less
    >>             certain
    >>             because of that.
    >>             It could have been separated into a follow-on
    change I think so that it
    >>             would have
    >>             been easier to review the important change.
    >>
    >>             The pScaler parameter looks like it is unused these
    days which is why I
    >>             expect you removed it but also not directly relevant.
    >>
    >>             I have run builds + some tests - but I'm not in a
    position to run more tests
    >>             for a couple of weeks.
    >>
    >>             A (mild) stress test re-using the same font from
    multiple threads eachmaking
    >>             multiple calls into layout would be a good addition
    here. That should
    >>             help tell
    >>             us if there are any MT or re-entrancy problems. Can
    you provide such a
    >>             test ?
    >>             It will be a good thing to have automatically run
    to catch any problems
    >>             introduced later either on the Java side or by an
    update to harfbuzz.
    >>
    >>             -phil.
    >>
    >>
    >>
    >>             On 3/6/19, 5:45 PM, Dmitry Batrak wrote:
    >>             > Hello,
    >>             >
    >>             > I'd like to submit a patch for JDK-8220231. I'm
    not a Committer, so
    >>             > I'll need someone to sponsor this change.
    >>             >
    >>             > The proposed approach is used without known
    issues in OpenJDK-based
    >>             > JetBrains Runtime for almost three years now.
    I've mentioned it
    >>             > previously on this mailing list
    >>             >
    (https://mail.openjdk.java.net/pipermail/2d-dev/2017-August/008497.html).
    >>             > The change has been refactored as compared to the
    version mentioned
    >>             > above (the logic has been moved to
    SunLayoutEngine), and includes the
    >>             > removal of font tables caching (JDK-8186317). The
    latter, I believe,
    >>             > becomes redundant with this fix.
    >>             >
    >>             > Issue:
    https://bugs.openjdk.java.net/browse/JDK-8220231
    >>             > Webrev:
    http://cr.openjdk.java.net/~dbatrak/8220231/webrev.00/
    <http://cr.openjdk.java.net/%7Edbatrak/8220231/webrev.00/>
    >>             >
    <http://cr.openjdk.java.net/%7Edbatrak/8220231/webrev.00/>
    >>             >
    >>             > Best regards,
    >>             > Dmitry Batrak
    >>             >
    >>
    >>
    >>
    >
    >
    >     --
    >     Dmitry Batrak
    >     Senior Software Developer
    >     JetBrains
    > http://www.jetbrains.com
    >     The Drive to Develop
    >


-- Best regards, Sergey.



Reply via email to