On Mon, 14 Nov 2022 18:28:53 GMT, Vladimir Ivanov wrote:
>>> Also, I'd like to note that C2 auto-vectorization support is not too far
>>> away from being able to optimize hash code computations. At some point, I
>>> was able to achieve some promising results with modest tweaking of
>>>
On Thu, 22 Dec 2022 13:10:02 GMT, Claes Redestad wrote:
>> @cl4es Thanks for passing the constant node through, the code looks much
>> cleaner now. The attached patch should handle the signed bytes/shorts as
>> well. Please take a look.
>>
On Thu, 22 Dec 2022 13:10:02 GMT, Claes Redestad wrote:
>> @cl4es Thanks for passing the constant node through, the code looks much
>> cleaner now. The attached patch should handle the signed bytes/shorts as
>> well. Please take a look.
>>
On Wed, 21 Dec 2022 00:11:34 GMT, Sandhya Viswanathan
wrote:
>> Passing the constant node through as an input as suggested by @iwanowww and
>> @sviswa7 meant we could eliminate most of the `instruct` blocks, removing a
>> significant chunk of code and a little bit of complexity from the
On Tue, 20 Dec 2022 19:52:34 GMT, Claes Redestad wrote:
>> src/java.base/share/classes/java/lang/StringUTF16.java line 418:
>>
>>> 416: return 0;
>>> 417: } else {
>>> 418: return ArraysSupport.vectorizedHashCode(value,
>>> ArraysSupport.UTF16);
>>
>> Special
On Tue, 20 Dec 2022 21:11:18 GMT, Claes Redestad wrote:
>>> How far off is this ...?
>>
>> Back then it looked way too constrained (tight constraints on code shapes).
>> But I considered it as a generally applicable optimization.
>>
>>> ... do you think it'll be able to match the efficiency
On Mon, 14 Nov 2022 18:28:53 GMT, Vladimir Ivanov wrote:
>>> Also, I'd like to note that C2 auto-vectorization support is not too far
>>> away from being able to optimize hash code computations. At some point, I
>>> was able to achieve some promising results with modest tweaking of
>>>
On Fri, 16 Dec 2022 23:00:53 GMT, Sandhya Viswanathan
wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> src/hotspot/cpu/x86/stubRoutines_x86.cpp line 230:
>
>> 228:
On Fri, 16 Dec 2022 22:58:23 GMT, Sandhya Viswanathan
wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> src/hotspot/cpu/x86/vm_version_x86.cpp line 1671:
>
>> 1669:
On Sun, 13 Nov 2022 20:57:44 GMT, Claes Redestad wrote:
>> src/hotspot/cpu/x86/x86_64.ad line 12073:
>>
>>> 12071: legRegD tmp_vec13, rRegI tmp1, rRegI tmp2,
>>> rRegI tmp3, rFlagsReg cr)
>>> 12072: %{
>>> 12073: predicate(UseAVX >= 2 &&
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Wed, 16 Nov 2022 18:18:55 GMT, Claes Redestad wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> I'm getting pulled into other tasks and would request for this to be
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Sun, 13 Nov 2022 21:08:53 GMT, Claes Redestad wrote:
> How far off is this ...?
Back then it looked way too constrained (tight constraints on code shapes). But
I considered it as a generally applicable optimization.
> ... do you think it'll be able to match the efficiency we see here
On Sun, 13 Nov 2022 19:50:46 GMT, Claes Redestad wrote:
> ... several challenges were brought up to the table, including how to deal
> with all the different contingencies that might be the result of a safepoint,
> including deoptimization.
FTR if the intrinsic is represented as a stand-alone
On Sun, 13 Nov 2022 21:01:21 GMT, Claes Redestad wrote:
>> src/hotspot/share/opto/intrinsicnode.hpp line 175:
>>
>>> 173: // as well as adjusting for special treatment of various encoding of
>>> String
>>> 174: // arrays. Must correspond to declared constants in
>>>
On Sun, 13 Nov 2022 21:08:53 GMT, Claes Redestad wrote:
> Also, I'd like to note that C2 auto-vectorization support is not too far away
> from being able to optimize hash code computations. At some point, I was able
> to achieve some promising results with modest tweaking of SuperWord pass:
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Sat, 12 Nov 2022 02:08:19 GMT, Vladimir Ivanov wrote:
> Also, I'd like to note that C2 auto-vectorization support is not too far away
> from being able to optimize hash code computations. At some point, I was able
> to achieve some promising results with modest tweaking of SuperWord pass:
On Sat, 12 Nov 2022 01:35:39 GMT, Vladimir Ivanov wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> src/java.base/share/classes/jdk/internal/util/ArraysSupport.java
On Sat, 12 Nov 2022 01:28:51 GMT, Vladimir Ivanov wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> src/hotspot/share/opto/intrinsicnode.hpp line 175:
>
>> 173: //
On Sat, 12 Nov 2022 01:10:50 GMT, Vladimir Ivanov wrote:
>> src/hotspot/cpu/x86/x86_64.ad line 12081:
>>
>>> 12079: format %{ "Array HashCode byte[] $ary1,$cnt1 -> $result // KILL
>>> all" %}
>>> 12080: ins_encode %{
>>> 12081: __ arrays_hashcode($ary1$$Register, $cnt1$$Register,
On Sat, 12 Nov 2022 01:06:27 GMT, Vladimir Ivanov wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> src/hotspot/cpu/x86/x86_64.ad line 12073:
>
>> 12071:
On Sat, 12 Nov 2022 15:27:09 GMT, Piotr Tarsa wrote:
> Out of curiosity: how does this intrinsic affect time-to-safepoint? Does it
> matter? I don't see any safepoint poll, but then I don't precisely know how
> safepoints work, so I could be missing something. Theoretically, with 2^31
>
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Sat, 12 Nov 2022 00:55:56 GMT, Vladimir Ivanov wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> src/hotspot/cpu/x86/x86_64.ad line 12081:
>
>> 12079: format %{
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
On Fri, 11 Nov 2022 13:00:06 GMT, Claes Redestad wrote:
>> Continuing the work initiated by @luhenry to unroll and then intrinsify
>> polynomial hash loops.
>>
>> I've rewired the library changes to route via a single `@IntrinsicCandidate`
>> method. To make this work I've harmonized how they
> Continuing the work initiated by @luhenry to unroll and then intrinsify
> polynomial hash loops.
>
> I've rewired the library changes to route via a single `@IntrinsicCandidate`
> method. To make this work I've harmonized how they are invoked so that
> there's less special handling and
35 matches
Mail list logo