[PATCH] 8202414: Unsafe crash in C2
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Sep 11 01:20:17 UTC 2018
Hi Andy,
What I sent is *my* suggested fix because I think your fix (below) is not correct.
InitializeNode::complete_stores() assumes that call ClearArrayNode::clear_memory() will generate
code to zero the part of object and you change does not generate such code.
Thanks,
Vladimir
On 9/10/18 5:42 PM, Andy Law wrote:
> Hi Vladimir,
>
> Thank you for your reply:)
>
> However, I think my patch is as below
>
> diff --git a/src/share/vm/opto/memnode.cpp b/src/share/vm/opto/memnode.cpp
> --- a/src/share/vm/opto/memnode.cpp
> +++ b/src/share/vm/opto/memnode.cpp
> @@ -2923,8 +2923,11 @@
> return mem;
> }
>
> + if ((end_offset % BytesPerInt) != 0) {
> + return mem;
> + }
> +
> Compile* C = phase->C;
> - assert((end_offset % BytesPerInt) == 0, "odd end offset");
> intptr_t done_offset = end_offset;
> if ((done_offset % BytesPerLong) != 0) {
> done_offset -= BytesPerInt;
>
> Maybe I mis-submitted some code ...?
> Sorry for bothering :(
>
> Thanks,
> Andy
>
>
More information about the hotspot-compiler-dev
mailing list