702 stackmap_index = verify_stackmap_table(
703 stackmap_index, bci, ¤t_frame, &stackmap_table,
704 no_control_flow, CHECK_VERIFY(this));
705
706
707 bool this_uninit = false; // Set to true when invokespecial <init> initialized 'this'
708 bool verified_exc_handlers = false;
709
710 // Merge with the next instruction
711 {
712 u2 index;
713 int target;
714 VerificationType type, type2;
715 VerificationType atype;
716
717 LogTarget(Info, verification) lt;
718 if (lt.is_enabled()) {
719 ResourceMark rm(THREAD);
720 LogStream ls(lt);
721 current_frame.print_on(&ls);
722 lt.print("offset = %d, opcode = %s", bci, Bytecodes::name(opcode));
723 }
724
725 // Make sure wide instruction is in correct format
726 if (bcs.is_wide()) {
727 if (opcode != Bytecodes::_iinc && opcode != Bytecodes::_iload &&
728 opcode != Bytecodes::_aload && opcode != Bytecodes::_lload &&
729 opcode != Bytecodes::_istore && opcode != Bytecodes::_astore &&
730 opcode != Bytecodes::_lstore && opcode != Bytecodes::_fload &&
731 opcode != Bytecodes::_dload && opcode != Bytecodes::_fstore &&
732 opcode != Bytecodes::_dstore) {
733 /* Unreachable? RawBytecodeStream's raw_next() returns 'illegal'
734 * if we encounter a wide instruction that modifies an invalid
735 * opcode (not one of the ones listed above) */
736 verify_error(ErrorContext::bad_code(bci), "Bad wide instruction");
737 return;
738 }
739 }
740
741 // Look for possible jump target in exception handlers and see if it
742 // matches current_frame. Do this check here for astore*, dstore*,
|
702 stackmap_index = verify_stackmap_table(
703 stackmap_index, bci, ¤t_frame, &stackmap_table,
704 no_control_flow, CHECK_VERIFY(this));
705
706
707 bool this_uninit = false; // Set to true when invokespecial <init> initialized 'this'
708 bool verified_exc_handlers = false;
709
710 // Merge with the next instruction
711 {
712 u2 index;
713 int target;
714 VerificationType type, type2;
715 VerificationType atype;
716
717 LogTarget(Info, verification) lt;
718 if (lt.is_enabled()) {
719 ResourceMark rm(THREAD);
720 LogStream ls(lt);
721 current_frame.print_on(&ls);
722 lt.print("offset = %d, opcode = %s", bci,
723 opcode == Bytecodes::_illegal ? "illegal" : Bytecodes::name(opcode));
724 }
725
726 // Make sure wide instruction is in correct format
727 if (bcs.is_wide()) {
728 if (opcode != Bytecodes::_iinc && opcode != Bytecodes::_iload &&
729 opcode != Bytecodes::_aload && opcode != Bytecodes::_lload &&
730 opcode != Bytecodes::_istore && opcode != Bytecodes::_astore &&
731 opcode != Bytecodes::_lstore && opcode != Bytecodes::_fload &&
732 opcode != Bytecodes::_dload && opcode != Bytecodes::_fstore &&
733 opcode != Bytecodes::_dstore) {
734 /* Unreachable? RawBytecodeStream's raw_next() returns 'illegal'
735 * if we encounter a wide instruction that modifies an invalid
736 * opcode (not one of the ones listed above) */
737 verify_error(ErrorContext::bad_code(bci), "Bad wide instruction");
738 return;
739 }
740 }
741
742 // Look for possible jump target in exception handlers and see if it
743 // matches current_frame. Do this check here for astore*, dstore*,
|