1.1 --- a/src/share/vm/opto/live.cpp Mon Aug 05 15:03:40 2013 -0700 1.2 +++ b/src/share/vm/opto/live.cpp Wed Aug 07 17:56:19 2013 +0200 1.3 @@ -101,7 +101,7 @@ 1.4 for( uint k=1; k<cnt; k++ ) { 1.5 Node *nk = n->in(k); 1.6 uint nkidx = nk->_idx; 1.7 - if( _cfg._bbs[nkidx] != b ) { 1.8 + if (_cfg.get_block_for_node(nk) != b) { 1.9 uint u = _names[nkidx]; 1.10 use->insert( u ); 1.11 DEBUG_ONLY(def_outside->insert( u );) 1.12 @@ -121,7 +121,7 @@ 1.13 1.14 // Push these live-in things to predecessors 1.15 for( uint l=1; l<b->num_preds(); l++ ) { 1.16 - Block *p = _cfg._bbs[b->pred(l)->_idx]; 1.17 + Block *p = _cfg.get_block_for_node(b->pred(l)); 1.18 add_liveout( p, use, first_pass ); 1.19 1.20 // PhiNode uses go in the live-out set of prior blocks. 1.21 @@ -142,8 +142,10 @@ 1.22 assert( delta->count(), "missing delta set" ); 1.23 1.24 // Add new-live-in to predecessors live-out sets 1.25 - for( uint l=1; l<b->num_preds(); l++ ) 1.26 - add_liveout( _cfg._bbs[b->pred(l)->_idx], delta, first_pass ); 1.27 + for (uint l = 1; l < b->num_preds(); l++) { 1.28 + Block* block = _cfg.get_block_for_node(b->pred(l)); 1.29 + add_liveout(block, delta, first_pass); 1.30 + } 1.31 1.32 freeset(b); 1.33 } // End of while-worklist-not-empty