<tt><span style=" font-size:10pt">Hi Vladimir,</span></tt>
<br>
<br><tt><span style=" font-size:10pt">I have a locally-written performance
test I used to get the "6x". </span></tt>
<br><tt><span style=" font-size:10pt">Will chase up with the guy who wrote
it to see if I can share it. </span></tt>
<br><tt><span style=" font-size:10pt">If not, I'll write a new one.<br>
</span></tt>
<br><tt><span style=" font-size:10pt">As for the enhancements, two options
are:</span></tt>
<br>
<br><tt><span style=" font-size:10pt">- matching on the new method names,
and replacing the inner logic </span></tt>
<br><tt><span style=" font-size:10pt">with some souped-up version of said
logic. </span></tt>
<br>
<br><tt><span style=" font-size:10pt">- alter the code to match on one
of the C2 idioms, though I imagine </span></tt>
<br><tt><span style=" font-size:10pt">if it were that simple, OpenJDK would
come with a list of said </span></tt>
<br><tt><span style=" font-size:10pt">idioms so everything people write
can be easily accelerated by the </span></tt>
<br><tt><span style=" font-size:10pt">JIT.</span></tt>
<br>
<br><tt><span style=" font-size:10pt">As for how OpenJ9 does it specifically,
I don't know, and I suspect </span></tt>
<br><tt><span style=" font-size:10pt">it's safer if I don't find out, contamination-wise.</span></tt>
<br>
<br><tt><span style=" font-size:10pt">Does any of that help?</span></tt>
<br><tt><span style=" font-size:10pt"><br>
Best Regards<br>
<br>
Adam Farley <br>
IBM Runtimes<br>
</span></tt>
<br>
<br><tt><span style=" font-size:10pt">Vladimir Ivanov <vladimir.x.ivanov@oracle.com>
wrote on 29/05/2019 13:22:27:<br>
<br>
> From: Vladimir Ivanov <vladimir.x.ivanov@oracle.com></span></tt>
<br><tt><span style=" font-size:10pt">> To: Adam Farley8 <adam.farley@uk.ibm.com>,
hotspot-compiler-<br>
> dev@openjdk.java.net</span></tt>
<br><tt><span style=" font-size:10pt">> Date: 29/05/2019 13:22</span></tt>
<br><tt><span style=" font-size:10pt">> Subject: Re: RFR: JDK-8224963:
Char-Byte Performance Enhancement</span></tt>
<br><tt><span style=" font-size:10pt">> <br>
> Hi Adam,<br>
> <br>
> The bug mentions ~6x improvement in throughput. Are there have any
<br>
> microbenchmarks you can share which demonstrate that? That would greatly
<br>
> simplify the analysis of changes you propose.<br>
> <br>
> Also, if you can elaborate on what optimization opportunities C2 misses
<br>
> in original code, please, do.<br>
> <br>
> Best regards,<br>
> Vladimir Ivanov<br>
> <br>
> On 29/05/2019 12:45, Adam Farley8 wrote:<br>
> > Hi All,<br>
> > <br>
> > Could someone familiar with the Hotspot JIT please review and
opine on <br>
> > the below?<br>
> > <br>
> > The Char-Byte encoding/decoding methods inside some of the sun.nio.cs
<br>
> > classes<br>
> > (such as US_ASCII) see a lot of use, and OpenJDK on the OpenJ9
VM seems to<br>
> > do this a lot faster.<br>
> > <br>
> > Is it possible to achieve a similar improvement on OpenJDK on
Hotspot by<br>
> > tweaking the CL code to match Hotspot JIT compiler idioms, or
by <br>
> > introducing<br>
> > a method name for the HS JIT to match on?<br>
> > <br>
> > An example of these changes to US_ASCII.java is linked below.
No OpenJ9 <br>
> > code<br>
> > is included in the work item or the webrev, to avoid contamination.<br>
> > <br>
> > Work item: </span></tt><a href=https://urldefense.proofpoint.com/v2/url?><tt><span style=" font-size:10pt">https://urldefense.proofpoint.com/v2/url?</span></tt></a><tt><span style=" font-size:10pt"><br>
> u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8224963&d=DwIC-<br>
> g&c=jf_iaSHvJObTbx-siA1ZOg&r=P5m8KWUXJf-<br>
> CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=4XPqGhxLchCLvSQhTIu3Wvm63NE2XpuEJf-<br>
> PzjFCXb4&s=2ChxP3IE0tkvevxSXfil3PGlpEHkUPxgwMxHH5J-A34&e=<br>
> > <br>
> > Example Webrev: _https://urldefense.proofpoint.com/v2/url?<br>
> u=http-3A__cr.openjdk.java.net_-7Eafarley_8224963_webrev_-5F&d=DwIC-<br>
> g&c=jf_iaSHvJObTbx-siA1ZOg&r=P5m8KWUXJf-<br>
> CeVJc0hDGD9AQ2LkcXDC0PMV9ntVw5Ho&m=4XPqGhxLchCLvSQhTIu3Wvm63NE2XpuEJf-<br>
> PzjFCXb4&s=fCeNvvk3Fehc6ssZfoNkJao_NJyoxeov7cxiyMSvuwQ&e=<br>
> > <br>
> > Best Regards<br>
> > <br>
> > Adam Farley<br>
> > IBM Runtimes<br>
> > <br>
> > Unless stated otherwise above:<br>
> > IBM United Kingdom Limited - Registered in England and Wales
with number <br>
> > 741598.<br>
> > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire
PO6 3AU<br>
> <br>
</span></tt><span style=" font-size:10pt;font-family:sans-serif"><br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br>
</span>