355 assert(limit_bci >= start_bci, "valid range");
356 assert(!is_handler() && _ex_start_bci == -1 && _ex_limit_bci == -1, "must not be handler");
357 _ex_start_bci = start_bci;
358 _ex_limit_bci = limit_bci;
359 set_handler();
360 }
361
362 #ifndef PRODUCT
363 static const char *flagnames[] = {
364 "Processed",
365 "Handler",
366 "MayThrow",
367 "Jsr",
368 "Ret",
369 "RetTarget",
370 "HasHandler",
371 };
372
373 void ciBlock::dump() {
374 tty->print(" [%d .. %d), {", _start_bci, _limit_bci);
375 for (int i = 0; i < 8; i++) {
376 if ((_flags & (1 << i)) != 0) {
377 tty->print(" %s", flagnames[i]);
378 }
379 }
380 tty->print(" ]");
381 if (is_handler())
382 tty->print(" handles(%d..%d)", _ex_start_bci, _ex_limit_bci);
383 tty->cr();
384 }
385
386 // ------------------------------------------------------------------
387 // ciBlock::print_on
388 void ciBlock::print_on(outputStream* st) const {
389 st->print_cr("--------------------------------------------------------");
390 st->print ("ciBlock [%d - %d) control : ", start_bci(), limit_bci());
391 if (control_bci() == fall_through_bci) {
392 st->print_cr("%d:fall through", limit_bci());
393 } else {
394 st->print_cr("%d:%s", control_bci(),
395 Bytecodes::name(method()->java_code_at_bci(control_bci())));
|
355 assert(limit_bci >= start_bci, "valid range");
356 assert(!is_handler() && _ex_start_bci == -1 && _ex_limit_bci == -1, "must not be handler");
357 _ex_start_bci = start_bci;
358 _ex_limit_bci = limit_bci;
359 set_handler();
360 }
361
362 #ifndef PRODUCT
363 static const char *flagnames[] = {
364 "Processed",
365 "Handler",
366 "MayThrow",
367 "Jsr",
368 "Ret",
369 "RetTarget",
370 "HasHandler",
371 };
372
373 void ciBlock::dump() {
374 tty->print(" [%d .. %d), {", _start_bci, _limit_bci);
375 for (int i = 0; i < 7; i++) {
376 if ((_flags & (1 << i)) != 0) {
377 tty->print(" %s", flagnames[i]);
378 }
379 }
380 tty->print(" ]");
381 if (is_handler())
382 tty->print(" handles(%d..%d)", _ex_start_bci, _ex_limit_bci);
383 tty->cr();
384 }
385
386 // ------------------------------------------------------------------
387 // ciBlock::print_on
388 void ciBlock::print_on(outputStream* st) const {
389 st->print_cr("--------------------------------------------------------");
390 st->print ("ciBlock [%d - %d) control : ", start_bci(), limit_bci());
391 if (control_bci() == fall_through_bci) {
392 st->print_cr("%d:fall through", limit_bci());
393 } else {
394 st->print_cr("%d:%s", control_bci(),
395 Bytecodes::name(method()->java_code_at_bci(control_bci())));
|