RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool) (original) (raw)
Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed Jun 6 17:35:07 PDT 2012
- Previous message: RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
- Next message: RFR (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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->removedeadnode(hook); + } else { + for (int i = 0; i < 4; i++) {_ _+ hook->setreq(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 longbylongmulhi 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 (S): 7169782: C2: SIGSEGV in LShiftLNode::Ideal(PhaseGVN*, bool)
- 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