1.1 --- a/src/share/vm/ci/bcEscapeAnalyzer.cpp Thu Jan 20 08:25:22 2011 -0800 1.2 +++ b/src/share/vm/ci/bcEscapeAnalyzer.cpp Fri Jan 21 01:16:13 2011 -0800 1.3 @@ -769,15 +769,15 @@ 1.4 case Bytecodes::_tableswitch: 1.5 { 1.6 state.spop(); 1.7 - Bytecode_tableswitch* switch_ = Bytecode_tableswitch_at(s.cur_bcp()); 1.8 - int len = switch_->length(); 1.9 + Bytecode_tableswitch sw(&s); 1.10 + int len = sw.length(); 1.11 int dest_bci; 1.12 for (int i = 0; i < len; i++) { 1.13 - dest_bci = s.cur_bci() + switch_->dest_offset_at(i); 1.14 + dest_bci = s.cur_bci() + sw.dest_offset_at(i); 1.15 assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block"); 1.16 successors.push(_methodBlocks->block_containing(dest_bci)); 1.17 } 1.18 - dest_bci = s.cur_bci() + switch_->default_offset(); 1.19 + dest_bci = s.cur_bci() + sw.default_offset(); 1.20 assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block"); 1.21 successors.push(_methodBlocks->block_containing(dest_bci)); 1.22 assert(s.next_bci() == limit_bci, "branch must end block"); 1.23 @@ -787,15 +787,15 @@ 1.24 case Bytecodes::_lookupswitch: 1.25 { 1.26 state.spop(); 1.27 - Bytecode_lookupswitch* switch_ = Bytecode_lookupswitch_at(s.cur_bcp()); 1.28 - int len = switch_->number_of_pairs(); 1.29 + Bytecode_lookupswitch sw(&s); 1.30 + int len = sw.number_of_pairs(); 1.31 int dest_bci; 1.32 for (int i = 0; i < len; i++) { 1.33 - dest_bci = s.cur_bci() + switch_->pair_at(i)->offset(); 1.34 + dest_bci = s.cur_bci() + sw.pair_at(i).offset(); 1.35 assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block"); 1.36 successors.push(_methodBlocks->block_containing(dest_bci)); 1.37 } 1.38 - dest_bci = s.cur_bci() + switch_->default_offset(); 1.39 + dest_bci = s.cur_bci() + sw.default_offset(); 1.40 assert(_methodBlocks->is_block_start(dest_bci), "branch destination must start a block"); 1.41 successors.push(_methodBlocks->block_containing(dest_bci)); 1.42 fall_through = false;