src/share/vm/opto/block.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/block.cpp Mon Jan 12 16:05:13 2009
--- new/src/share/vm/opto/block.cpp Mon Jan 12 16:05:13 2009
*** 892,907 ****
--- 892,913 ----
n->as_Mach()->ideal_Opcode() == Op_CreateEx ) {
assert( j == 1 || b->_nodes[j-1]->is_Phi(),
"CreateEx must be first instruction in block" );
}
for( uint k = 0; k < n->req(); k++ ) {
! Node *use = n->in(k);
! if( use && use != n ) {
! assert( _bbs[use->_idx] || use->is_Con(),
! Node *def = n->in(k);
! if( def && def != n ) {
! assert( _bbs[def->_idx] || def->is_Con(),
"must have block; constants for debug info ok" );
+ if( _bbs[def->_idx] == b &&
+ !(b->head()->is_Loop() && n->is_Phi()) &&
+ // See (+++) comment in reg_split.cpp
+ !(n->jvms() != NULL && n->jvms()->is_monitor_use(k)) ) {
+ assert( b->find_node(def) < j, "uses must follow definitions" );
}
}
+ }
}
j = b->end_idx();
Node *bp = (Node*)b->_nodes[b->_nodes.size()-1]->is_block_proj();
assert( bp, "last instruction must be a block proj" );
src/share/vm/opto/block.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File