RFR: 8305056: Avoid unaligned access in emit_intX methods if it's unsupported [v7]

Andrew Haley aph at openjdk.org
Sat Apr 22 10:21:49 UTC 2023


On Fri, 21 Apr 2023 13:50:57 GMT, Vladimir Kempik <vkempik at openjdk.org> wrote:

>> Please review this change which attempts to eliminate unaligned memory stores generated by emit_int16/32/64 methods on some platforms.
>> 
>> Primary aim is risc-v platform. But I had to change some code in ppc/arm32/x86 to prevent possible perf degradation.
>
> Vladimir Kempik has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision:
> 
>  - Merge
>  - Rewrite few more helpers
>  - Add APH's suggestions and remove some whitespace
>  - Rework the fix to use memcpy in codeBuffer.hpp
>  - Reduce code duplication
>  - Fix 32-bit archs
>  - Fix typo
>  - change long to ulong in type convertion
>  - Fix includes
>  - 8305056: Avoid unaligned access in emit_intX methods if not enabled

This looks good. I'm sure GCC and LLVM will be fine, but it might be worth checking that Windows doesn't generate awful code for `put_native()`.If you don't have a Microsoft box, ping George.Adams at microsoft.com and Bruno Borges <Bruno.Borges at microsoft.com> ?

-------------

PR Review: https://git.openjdk.org/jdk/pull/13227#pullrequestreview-1396664977


More information about the hotspot-compiler-dev mailing list