RFR(L) 8149655: PPC64: Implement CompactString intrinsics

Doerr, Martin martin.doerr at sap.com
Mon Feb 22 08:17:24 UTC 2016


Hi Vladimir,

thank you very much for sponsoring so quickly.

Best regards,
Martin

-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] 
Sent: Freitag, 19. Februar 2016 22:06
To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; Doerr, Martin <martin.doerr at sap.com>; hotspot-compiler-dev at openjdk.java.net
Subject: Re: RFR(L) 8149655: PPC64: Implement CompactString intrinsics

Job is submitted to JPRT.

Thanks,
Vladimir

On 2/19/16 5:14 AM, Lindenmaier, Goetz wrote:
> Hi Martin,
>
> looks good now. Could someone please sponsor?
>
> Thanks for the fixes,
>
>    Goetz.
>
> *From:*Doerr, Martin
> *Sent:* Friday, February 19, 2016 11:38 AM
> *To:* Lindenmaier, Goetz <goetz.lindenmaier at sap.com>;
> hotspot-compiler-dev at openjdk.java.net
> *Subject:* RE: RFR(L) 8149655: PPC64: Implement CompactString intrinsics
>
> Hi Götz,
>
> thanks for the review. I basically used small micro-benchmarks and tests
> and later our nightly tests which I have extended a little bit with this
> change. There were some match rules which I only hit with the change I
> made in TestStringIntrinsics2.
>
> I think you're right. The addition to the predicate for
> string_indexOf_imm1_charNodeshould not be needed because the AddP node
> for the immediate needle gets matched with the StrIndexOfNode.
>
> I have removed it again from this node and from the new nodes which
> match indexOf_imm1_char in the 3 different flavors.
>
> Spaces before comma are also fixed.
>
> The guarantee(needlecntval != 1, .) is not new. It was already there in
> the non-CompactStrings version. string_indexof wouldn't generate correct
> code. There's a separate match rule for that case.
>
> New webrev is here:
>
> http://cr.openjdk.java.net/~mdoerr/8149655_PPC64_StringIntrinsics/webrev.01/
>
> Best regards,
>
> Martin
>
> *From:*Lindenmaier, Goetz
> *Sent:* Donnerstag, 18. Februar 2016 20:50
> *To:* Doerr, Martin <martin.doerr at sap.com
> <mailto:martin.doerr at sap.com>>; hotspot-compiler-dev at openjdk.java.net
> <mailto:hotspot-compiler-dev at openjdk.java.net>
> *Subject:* RE: RFR(L) 8149655: PPC64: Implement CompactString intrinsics
>
> Hi Martin,
>
> I finally had a look at this change.  Good work!
>
> What did you test this with,  besides our hs-comp nighttests, which
>
> already is quite a lot?
>
> ppc.ad:
>
> I saw you added more conditions to the predicate of
> string_indexOf_imm1_char() etc.
>
> Isn't this obvious because needleImm is an immP?
>
> macroassmbler_ppc.cpp:
>
> if (stride1 == 1) { lbz(chr1, 0, str1); } else { lhz(chr1, 0 ,str1); }
>
> Space before comma.  There are more of these, search for '0 ,'
>
> guarantee(needlecntval != 1,
>
> not indented . or is this on purpose?
>
> Best regards,
>
>    Goetz.
>
> *From:*hotspot-compiler-dev
> [mailto:hotspot-compiler-dev-bounces at openjdk.java.net] *On Behalf Of
> *Doerr, Martin
> *Sent:* Thursday, February 11, 2016 4:11 PM
> *To:* hotspot-compiler-dev at openjdk.java.net
> <mailto:hotspot-compiler-dev at openjdk.java.net>
> *Subject:* RFR(L) 8149655: PPC64: Implement CompactString intrinsics
>
> Hi,
>
> I have created a webrev which adds the following String intrinsics to PPC64:
>
> 0 string_compareL
>
> 1 string_compareU
>
> 2 string_compareLU
>
> 3 string_compareUL
>
> 4 string_equalsL
>
> 5 string_equalsU
>
> 6 array_equalsB
>
> 7 array_equalsC
>
> 8 indexOf_imm1_char_U
>
> 9 indexOf_imm1_char_L
>
> 10 indexOf_imm1_char_UL
>
> 11 indexOf_imm1_U
>
> 12 indexOf_imm1_L
>
> 13 indexOf_imm1_UL
>
> 14 indexOfChar_U
>
> 15 indexOf_imm_U
>
> 16 indexOf_imm_L
>
> 17 indexOf_imm_UL
>
> 18 indexOf_U
>
> 19 indexOf_L
>
> 20 indexOf_UL
>
> 21 string_compress
>
> 22 string_inflate
>
> 23 has_negatives
>
> 24 encode_iso_array
>
> It also contains some other minor improvements.
>
> The webrev is here:
>
> http://cr.openjdk.java.net/~mdoerr/8149655_PPC64_StringIntrinsics/webrev.00/
>
> Please review.
>
> I will also need a sponsor from Oracle because the change touches one
> java test file (test/compiler/intrinsics/string/TestStringIntrinsics2.java).
>
> Best regards,
>
> Martin
>


More information about the hotspot-compiler-dev mailing list