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

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->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



More information about the hotspot-compiler-dev mailing list