[jdk16] RFR: 8260339: JVM crashes when executing PhaseIdealLoop::match_fill_loop

Wang Huang whuang at openjdk.java.net
Wed Jan 27 09:05:46 UTC 2021


On Tue, 26 Jan 2021 02:01:00 GMT, Wang Huang <whuang at openjdk.org> wrote:

> The reason is :
> 
>   BasicType t = store->as_Mem()->memory_type();
>   const char* fill_name;
>   if (msg == NULL &&
>       StubRoutines::select_fill_function(t, false, fill_name) == NULL) {
>     msg = "unsupported store";
>     msg_node = store;
>   }
> 
> If the `store` is a `StoreVectorNode` ,the `BasicType` is `T_VOID`. It seems that we don't need to intrinsify a `StoreVectorNode` filling here.
> 
> I add a new case here to avoid mistake:
>   case T_NARROWOOP:
>   case T_NARROWKLASS:
>   case T_ADDRESS:
> +  case T_VOID:
>     // Currently unsupported
>     return NULL;

> Hi @Wanghuang-Huawei,
> 
> given JDK16 is RDP2 and your patch changes the shared code, you are to integrate an automated jtreg test together with the fix. I've taken `TestLoopStoreVector.java` from 8260339 and added the minimal required jtreg test description, and double-checked that the test fails on linux-aarch64 w/o the fix and passes w/ it. you can take the jtreg-ified test from my [pull/132](https://github.com/iignatev/jdk16/tree/pull/132) branch (you will need to replace `$copyright-header` w/ the appropriate line), feel free to use it as-is or modify.
> 
> Thanks,
> -- Igor

Thank you very much. I will push a new commit which contains jtreg test.

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

PR: https://git.openjdk.java.net/jdk16/pull/132


More information about the hotspot-compiler-dev mailing list