RFR (M): 8039298: assert(base == NULL || t_adr->isa_rawptr() || ...
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri May 2 19:46:31 UTC 2014
Thank you, Christian
I will correct the comment to avoid a confusion:
// Don't kill Root (RootNode extends LoopNode)
Thanks,
Vladimir
On 5/2/14 12:09 PM, Christian Thalinger wrote:
>
> On May 1, 2014, at 6:25 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>> On 5/1/14 8:59 PM, Christian Thalinger wrote:
>>> *+ use->is_Loop() && !use->is_Root() && // Root is also Loop*
>>>
>>> Is that correct?
>>
>> What do you mean?
>>
>> class RootNode : public LoopNode {
>
> Ah, got it. I was confused by the comment. It actually says that RootNode extends LoopNode. Then it looks good.
>
>>
>> And I don't want to kill Root.
>>
>> Vladimir
>>
>>>
>>> On May 1, 2014, at 7:52 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>> wrote:
>>>
>>>> http://cr.openjdk.java.net/~kvn/8039298/webrev
>>>> https://bugs.openjdk.java.net/browse/JDK-8039298
>>>>
>>>> This assert was added for 6711117 when we observed "NULL+off" non-raw address type. It was fixed by delaying a memory
>>>> node processing if its inputs are on IGVN worklist or address types do not match.
>>>>
>>>> Recently we start hitting this assert for big graphs when control path become dead but due to the nodes order in IGVN
>>>> worklist data nodes on dead path were processed first. As result we get TOP or NULL dead address base for memory nodes.
>>>>
>>>> I am suggesting 2 ways solution.
>>>> First, convert the assert into the runtime check to skip IGVN optimizations for such memory nodes. I ran performance
>>>> tests and did not see regression.
>>>> Second, eliminate dead nodes more aggressively. The method kill_dead_code() will eliminate dead loops (except
>>>> irreducible), dead regions and nodes which have only TOP or NULL inputs. I have to add the code to mark presence of
>>>> irreducible loops for that.
>>>>
>>>> Test ctw, jtreg, jprt.
>>>>
>>>> Thanks,
>>>> Vladimir
>>>
>
More information about the hotspot-compiler-dev
mailing list