mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
6827605: new String intrinsics may prevent EA scalar replacement
6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2 Modify String intrinsic methods to pass char[] pointers instead of string oops. Reviewed-by: never
This commit is contained in:
parent
c492f4cde5
commit
243514d483
13 changed files with 788 additions and 1214 deletions
|
@ -2206,6 +2206,20 @@ public:
|
|||
void movl2ptr(Register dst, Address src) { LP64_ONLY(movslq(dst, src)) NOT_LP64(movl(dst, src)); }
|
||||
void movl2ptr(Register dst, Register src) { LP64_ONLY(movslq(dst, src)) NOT_LP64(if (dst != src) movl(dst, src)); }
|
||||
|
||||
// IndexOf strings.
|
||||
void string_indexof(Register str1, Register str2,
|
||||
Register cnt1, Register cnt2, Register result,
|
||||
XMMRegister vec, Register tmp);
|
||||
|
||||
// Compare strings.
|
||||
void string_compare(Register str1, Register str2,
|
||||
Register cnt1, Register cnt2, Register result,
|
||||
XMMRegister vec1, XMMRegister vec2);
|
||||
|
||||
// Compare char[] arrays.
|
||||
void char_arrays_equals(bool is_array_equ, Register ary1, Register ary2,
|
||||
Register limit, Register result, Register chr,
|
||||
XMMRegister vec1, XMMRegister vec2);
|
||||
|
||||
#undef VIRTUAL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue