RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Tue Jun 5 15:31:00 PDT 2012
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