518 if (handler->handler_bci() == -1) {
519 // insert a wildcard handler at scope depth 0 so that the
520 // exception lookup logic with find it.
521 scope_depths->append(0);
522 } else {
523 scope_depths->append(handler->scope_count());
524 }
525 pcos->append(handler->entry_pco());
526
527 // stop processing once we hit a catch any
528 if (handler->is_catch_all()) {
529 assert(i == handlers->length() - 1, "catch all must be last handler");
530 }
531 }
532 exception_handler_table()->add_subtable(info->pco(), bcis, scope_depths, pcos);
533 }
534 }
535
536
537 Compilation::Compilation(AbstractCompiler* compiler, ciEnv* env, ciMethod* method,
538 int osr_bci, BufferBlob* buffer_blob, DirectiveSet* directive)
539 : _compiler(compiler)
540 , _env(env)
541 , _directive(directive)
542 , _log(env->log())
543 , _method(method)
544 , _osr_bci(osr_bci)
545 , _hir(NULL)
546 , _max_spills(-1)
547 , _frame_map(NULL)
548 , _masm(NULL)
549 , _has_exception_handlers(false)
550 , _has_fpu_code(true) // pessimistic assumption
551 , _would_profile(false)
552 , _has_unsafe_access(false)
553 , _has_method_handle_invokes(false)
554 , _has_reserved_stack_access(method->has_reserved_stack_access())
555 , _bailout_msg(NULL)
556 , _exception_info_list(NULL)
557 , _allocator(NULL)
558 , _next_id(0)
559 , _next_block_id(0)
560 , _code(buffer_blob)
561 , _has_access_indexed(false)
|
518 if (handler->handler_bci() == -1) {
519 // insert a wildcard handler at scope depth 0 so that the
520 // exception lookup logic with find it.
521 scope_depths->append(0);
522 } else {
523 scope_depths->append(handler->scope_count());
524 }
525 pcos->append(handler->entry_pco());
526
527 // stop processing once we hit a catch any
528 if (handler->is_catch_all()) {
529 assert(i == handlers->length() - 1, "catch all must be last handler");
530 }
531 }
532 exception_handler_table()->add_subtable(info->pco(), bcis, scope_depths, pcos);
533 }
534 }
535
536
537 Compilation::Compilation(AbstractCompiler* compiler, ciEnv* env, ciMethod* method,
538 int osr_bci, BufferBlob* buffer_blob)
539 : _compiler(compiler)
540 , _env(env)
541 , _directive(env->directive())
542 , _log(env->log())
543 , _method(method)
544 , _osr_bci(osr_bci)
545 , _hir(NULL)
546 , _max_spills(-1)
547 , _frame_map(NULL)
548 , _masm(NULL)
549 , _has_exception_handlers(false)
550 , _has_fpu_code(true) // pessimistic assumption
551 , _would_profile(false)
552 , _has_unsafe_access(false)
553 , _has_method_handle_invokes(false)
554 , _has_reserved_stack_access(method->has_reserved_stack_access())
555 , _bailout_msg(NULL)
556 , _exception_info_list(NULL)
557 , _allocator(NULL)
558 , _next_id(0)
559 , _next_block_id(0)
560 , _code(buffer_blob)
561 , _has_access_indexed(false)
|