RFR(S): 8235762: JVM crash in SWPointer during C2 compilation
Christian Hagedorn
christian.hagedorn at oracle.com
Wed Dec 18 14:44:15 UTC 2019
Hi Felix
> Yes, orig_msize is 0 for the test case in my webrev.
> For the else case, I find it hard to manually create a test case for it.
> Another choice is asserting that this else case never happens. I am not going that way as I haven't got a strong reason for that.
Ok, maybe we could really just assert and bailout if the else case
happens if you cannot find a test case which covers it? Might be best if
someone else can comment on that, too, what to do in this case.
Best regards,
Christian
>> Thanks for explaining. Following your analysis with the provided test case,
>> orig_msize is 0 in the end. Can you also provide a test case or show an example
>> which covers the else case in this test:
>>
>> 717 if (orig_msize == 0) {
>> 718 best_align_to_mem_ref =
>> memops.at(max_idx)->as_Mem();
>> 719 } else {
>> 720 for (uint i = 0; i < orig_msize; i++) {
>> 721 memops.remove(0);
>> 722 }
>> 723 best_align_to_mem_ref = find_align_to_ref(memops,
>> max_idx);
>> 724 assert(best_align_to_mem_ref == NULL, "sanity");
>> 725 best_align_to_mem_ref =
>> memops.at(max_idx)->as_Mem();
>> 726 }
More information about the hotspot-compiler-dev
mailing list