765 case Bytecodes::_if_icmpeq:
766 case Bytecodes::_if_icmpne:
767 case Bytecodes::_if_icmplt:
768 case Bytecodes::_if_icmpge:
769 case Bytecodes::_if_icmpgt:
770 case Bytecodes::_if_icmple:
771 case Bytecodes::_lreturn:
772 case Bytecodes::_dreturn:
773 case Bytecodes::_if_acmpeq:
774 case Bytecodes::_if_acmpne:
775 case Bytecodes::_jsr:
776 case Bytecodes::_jsr_w:
777 case Bytecodes::_getstatic:
778 case Bytecodes::_putstatic:
779 case Bytecodes::_getfield:
780 case Bytecodes::_putfield:
781 case Bytecodes::_invokevirtual:
782 case Bytecodes::_invokespecial:
783 case Bytecodes::_invokestatic:
784 case Bytecodes::_invokeinterface:
785 case Bytecodes::_newarray:
786 case Bytecodes::_anewarray:
787 case Bytecodes::_checkcast:
788 case Bytecodes::_arraylength:
789 case Bytecodes::_instanceof:
790 case Bytecodes::_athrow:
791 case Bytecodes::_areturn:
792 case Bytecodes::_monitorenter:
793 case Bytecodes::_monitorexit:
794 case Bytecodes::_ifnull:
795 case Bytecodes::_ifnonnull:
796 case Bytecodes::_multianewarray:
797 case Bytecodes::_lookupswitch:
798 // These bytecodes have no effect on the method's locals.
799 break;
800
801 case Bytecodes::_return:
802 if (instruction->method()->intrinsic_id() == vmIntrinsics::_Object_init) {
803 // return from Object.init implicitly registers a finalizer
804 // for the receiver if needed, so keep it alive.
|
765 case Bytecodes::_if_icmpeq:
766 case Bytecodes::_if_icmpne:
767 case Bytecodes::_if_icmplt:
768 case Bytecodes::_if_icmpge:
769 case Bytecodes::_if_icmpgt:
770 case Bytecodes::_if_icmple:
771 case Bytecodes::_lreturn:
772 case Bytecodes::_dreturn:
773 case Bytecodes::_if_acmpeq:
774 case Bytecodes::_if_acmpne:
775 case Bytecodes::_jsr:
776 case Bytecodes::_jsr_w:
777 case Bytecodes::_getstatic:
778 case Bytecodes::_putstatic:
779 case Bytecodes::_getfield:
780 case Bytecodes::_putfield:
781 case Bytecodes::_invokevirtual:
782 case Bytecodes::_invokespecial:
783 case Bytecodes::_invokestatic:
784 case Bytecodes::_invokeinterface:
785 case Bytecodes::_invokedynamic:
786 case Bytecodes::_newarray:
787 case Bytecodes::_anewarray:
788 case Bytecodes::_checkcast:
789 case Bytecodes::_arraylength:
790 case Bytecodes::_instanceof:
791 case Bytecodes::_athrow:
792 case Bytecodes::_areturn:
793 case Bytecodes::_monitorenter:
794 case Bytecodes::_monitorexit:
795 case Bytecodes::_ifnull:
796 case Bytecodes::_ifnonnull:
797 case Bytecodes::_multianewarray:
798 case Bytecodes::_lookupswitch:
799 // These bytecodes have no effect on the method's locals.
800 break;
801
802 case Bytecodes::_return:
803 if (instruction->method()->intrinsic_id() == vmIntrinsics::_Object_init) {
804 // return from Object.init implicitly registers a finalizer
805 // for the receiver if needed, so keep it alive.
|