222 }
223
224 case Bytecodes::_jsr_w :
225 {
226 cur_block->set_control_bci(bci);
227 ciBlock *ret = make_block_at(s.next_bci());
228 int dest_bci = s.get_far_dest();
229 ciBlock *dest = make_block_at(dest_bci);
230 break;
231 }
232
233 case Bytecodes::_athrow :
234 cur_block->set_may_throw();
235 // fall-through
236 case Bytecodes::_ret :
237 case Bytecodes::_ireturn :
238 case Bytecodes::_lreturn :
239 case Bytecodes::_freturn :
240 case Bytecodes::_dreturn :
241 case Bytecodes::_areturn :
242 case Bytecodes::_vreturn :
243 case Bytecodes::_return :
244 cur_block->set_control_bci(bci);
245 if (s.next_bci() < limit_bci) {
246 (void) make_block_at(s.next_bci());
247 }
248 break;
249
250 default:
251 break;
252 }
253 }
254 // End the last block
255 cur_block->set_limit_bci(limit_bci);
256 }
257
258 ciMethodBlocks::ciMethodBlocks(Arena *arena, ciMethod *meth): _method(meth),
259 _arena(arena), _num_blocks(0), _code_size(meth->code_size()) {
260 int block_estimate = _code_size / 8;
261
262 _blocks = new(_arena) GrowableArray<ciBlock *>(_arena, block_estimate, 0, NULL);
|
222 }
223
224 case Bytecodes::_jsr_w :
225 {
226 cur_block->set_control_bci(bci);
227 ciBlock *ret = make_block_at(s.next_bci());
228 int dest_bci = s.get_far_dest();
229 ciBlock *dest = make_block_at(dest_bci);
230 break;
231 }
232
233 case Bytecodes::_athrow :
234 cur_block->set_may_throw();
235 // fall-through
236 case Bytecodes::_ret :
237 case Bytecodes::_ireturn :
238 case Bytecodes::_lreturn :
239 case Bytecodes::_freturn :
240 case Bytecodes::_dreturn :
241 case Bytecodes::_areturn :
242 case Bytecodes::_return :
243 cur_block->set_control_bci(bci);
244 if (s.next_bci() < limit_bci) {
245 (void) make_block_at(s.next_bci());
246 }
247 break;
248
249 default:
250 break;
251 }
252 }
253 // End the last block
254 cur_block->set_limit_bci(limit_bci);
255 }
256
257 ciMethodBlocks::ciMethodBlocks(Arena *arena, ciMethod *meth): _method(meth),
258 _arena(arena), _num_blocks(0), _code_size(meth->code_size()) {
259 int block_estimate = _code_size / 8;
260
261 _blocks = new(_arena) GrowableArray<ciBlock *>(_arena, block_estimate, 0, NULL);
|