提交 87e0faa4 编写于 作者: K kvn

6826960: C2 Sparc: assert(bb->_nodes(_bb_end)->is_Proj(),"skipping projections...

6826960: C2 Sparc: assert(bb->_nodes(_bb_end)->is_Proj(),"skipping projections after expected call")
Summary: Add the check when a Halt node is placed in a separate block.
Reviewed-by: twisti
上级 002d2198
......@@ -2256,7 +2256,8 @@ void Scheduling::DoScheduling() {
// bother scheduling them.
Node *last = bb->_nodes[_bb_end];
if( last->is_Catch() ||
(last->is_Mach() && last->as_Mach()->ideal_Opcode() == Op_Halt) ) {
// Exclude unreachable path case when Halt node is in a separate block.
(_bb_end > 1 && last->is_Mach() && last->as_Mach()->ideal_Opcode() == Op_Halt) ) {
// There must be a prior call. Skip it.
while( !bb->_nodes[--_bb_end]->is_Call() ) {
assert( bb->_nodes[_bb_end]->is_Proj(), "skipping projections after expected call" );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册