RFR(L) 8149655: PPC64: Implement CompactString intrinsics
Doerr, Martin
martin.doerr at sap.com
Fri Feb 19 10:37:34 UTC 2016
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_charNode should 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>; 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160219/88ba7b34/attachment.html>
More information about the hotspot-compiler-dev
mailing list