RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed Jun 6 17:35:07 PDT 2012


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