Mercurial > hg > truffle
comparison src/share/vm/opto/callnode.cpp @ 1634:60a14ad85270
6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
Summary: Execute IGVN optimization before and after Escape Analysis
Reviewed-by: never
author | kvn |
---|---|
date | Fri, 02 Jul 2010 17:30:30 -0700 |
parents | c18cbe5936b8 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1633:65b0c03b165d | 1634:60a14ad85270 |
---|---|
1522 // If we are locking an unescaped object, the lock/unlock is unnecessary | 1522 // If we are locking an unescaped object, the lock/unlock is unnecessary |
1523 // | 1523 // |
1524 ConnectionGraph *cgr = phase->C->congraph(); | 1524 ConnectionGraph *cgr = phase->C->congraph(); |
1525 PointsToNode::EscapeState es = PointsToNode::GlobalEscape; | 1525 PointsToNode::EscapeState es = PointsToNode::GlobalEscape; |
1526 if (cgr != NULL) | 1526 if (cgr != NULL) |
1527 es = cgr->escape_state(obj_node(), phase); | 1527 es = cgr->escape_state(obj_node()); |
1528 if (es != PointsToNode::UnknownEscape && es != PointsToNode::GlobalEscape) { | 1528 if (es != PointsToNode::UnknownEscape && es != PointsToNode::GlobalEscape) { |
1529 // Mark it eliminated to update any counters | 1529 // Mark it eliminated to update any counters |
1530 this->set_eliminated(); | 1530 this->set_eliminated(); |
1531 return result; | 1531 return result; |
1532 } | 1532 } |
1625 // If we are unlocking an unescaped object, the lock/unlock is unnecessary. | 1625 // If we are unlocking an unescaped object, the lock/unlock is unnecessary. |
1626 // | 1626 // |
1627 ConnectionGraph *cgr = phase->C->congraph(); | 1627 ConnectionGraph *cgr = phase->C->congraph(); |
1628 PointsToNode::EscapeState es = PointsToNode::GlobalEscape; | 1628 PointsToNode::EscapeState es = PointsToNode::GlobalEscape; |
1629 if (cgr != NULL) | 1629 if (cgr != NULL) |
1630 es = cgr->escape_state(obj_node(), phase); | 1630 es = cgr->escape_state(obj_node()); |
1631 if (es != PointsToNode::UnknownEscape && es != PointsToNode::GlobalEscape) { | 1631 if (es != PointsToNode::UnknownEscape && es != PointsToNode::GlobalEscape) { |
1632 // Mark it eliminated to update any counters | 1632 // Mark it eliminated to update any counters |
1633 this->set_eliminated(); | 1633 this->set_eliminated(); |
1634 } | 1634 } |
1635 } | 1635 } |