RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Jun 6 17:40:08 PDT 2012
Thank you, Vladimir
I will push this and an other your changes after I do sync with main repo tomorrow.
Thanks,
Vladimir
Vladimir Ivanov wrote:
> Vladimir, Chris, thanks for the review!
>
> FYI, I just finished full CTW run on linux-i586. Results are clean.
>
> Best regards,
> Vladimir Ivanov
>
> On 6/6/12 5:01 AM, Vladimir Kozlov wrote:
>> Looks good and thank you for adding regression test from old bug.
>> One thing about code style in Hotspot - we use 2 spaces indents and no
>> tabs:
>>
>> + if (igvn != NULL) {
>> + igvn->remove_dead_node(hook);
>> + } else {
>> + for (int i = 0; i < 4; i++) {
>> + hook->set_req(i, NULL);
>> + }
>> + }
>>
>> Also, please, run full CTW testing. And I will do the push for you
>> tomorrow.
>>
>> Thanks,
>> Vladimir
>>
>> On 6/5/12 3:31 PM, Vladimir Ivanov wrote:
>>> http://cr.openjdk.java.net/~vi/7169782/webrev.01/
>>>
>>> During compilation, u0 in long_by_long_mulhi can become dead during
>>> interim transformations. It makes locally cached
>>> node pointer useless and the compiler crashes when trying to traverse
>>> node's dependencies. The fix is to artificially
>>> keep u0 node alive till the end of the graph construction using dummy
>>> hook node trick.
>>>
>>> Also:
>>> - did a cleanup: fixed lifetimes of other shared interim nodes to
>>> avoid similar problems in the future
>>> - added a regression test for 6732154
>>>
>>> Testing: VM regression tests
>>>
>>> Thanks!
>>>
>>> Best regards,
>>> Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list