RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool) (original) (raw)
Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Jun 5 15:31:00 PDT 2012
- Previous message: RFR (L): 7173584: Implement arraycopy as a macro node
- Next message: RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: RFR (L): 7173584: Implement arraycopy as a macro node
- Next message: RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list