1669 } else if (tag.is_long()) { |
1669 } else if (tag.is_long()) { |
1670 current_frame->push_stack_2( |
1670 current_frame->push_stack_2( |
1671 VerificationType::long_type(), |
1671 VerificationType::long_type(), |
1672 VerificationType::long2_type(), CHECK_VERIFY(this)); |
1672 VerificationType::long2_type(), CHECK_VERIFY(this)); |
1673 } else if (tag.is_method_handle()) { |
1673 } else if (tag.is_method_handle()) { |
1674 Symbol* methodHandle_name = vmSymbols::java_lang_invoke_MethodHandle(); |
|
1675 if (AllowTransitionalJSR292 && !Universe::is_bootstrapping()) |
|
1676 methodHandle_name = SystemDictionaryHandles::MethodHandle_klass()->name(); |
|
1677 current_frame->push_stack( |
1674 current_frame->push_stack( |
1678 VerificationType::reference_type( |
1675 VerificationType::reference_type( |
1679 methodHandle_name), CHECK_VERIFY(this)); |
1676 vmSymbols::java_lang_invoke_MethodHandle()), CHECK_VERIFY(this)); |
1680 } else if (tag.is_method_type()) { |
1677 } else if (tag.is_method_type()) { |
1681 Symbol* methodType_name = vmSymbols::java_lang_invoke_MethodType(); |
|
1682 if (AllowTransitionalJSR292 && !Universe::is_bootstrapping()) |
|
1683 methodType_name = SystemDictionaryHandles::MethodType_klass()->name(); |
|
1684 current_frame->push_stack( |
1678 current_frame->push_stack( |
1685 VerificationType::reference_type( |
1679 VerificationType::reference_type( |
1686 methodType_name), CHECK_VERIFY(this)); |
1680 vmSymbols::java_lang_invoke_MethodType()), CHECK_VERIFY(this)); |
1687 } else { |
1681 } else { |
1688 verify_error(bci, "Invalid index in ldc"); |
1682 verify_error(bci, "Invalid index in ldc"); |
1689 return; |
1683 return; |
1690 } |
1684 } |
1691 } |
1685 } |
1948 u2 index = bcs->get_index_u2(); |
1942 u2 index = bcs->get_index_u2(); |
1949 Bytecodes::Code opcode = bcs->raw_code(); |
1943 Bytecodes::Code opcode = bcs->raw_code(); |
1950 unsigned int types = (opcode == Bytecodes::_invokeinterface |
1944 unsigned int types = (opcode == Bytecodes::_invokeinterface |
1951 ? 1 << JVM_CONSTANT_InterfaceMethodref |
1945 ? 1 << JVM_CONSTANT_InterfaceMethodref |
1952 : opcode == Bytecodes::_invokedynamic |
1946 : opcode == Bytecodes::_invokedynamic |
1953 ? ((AllowTransitionalJSR292 ? 1 << JVM_CONSTANT_NameAndType : 0) |
1947 ? 1 << JVM_CONSTANT_InvokeDynamic |
1954 |1 << JVM_CONSTANT_InvokeDynamic) |
|
1955 : 1 << JVM_CONSTANT_Methodref); |
1948 : 1 << JVM_CONSTANT_Methodref); |
1956 verify_cp_type(index, cp, types, CHECK_VERIFY(this)); |
1949 verify_cp_type(index, cp, types, CHECK_VERIFY(this)); |
1957 |
1950 |
1958 // Get method name and signature |
1951 // Get method name and signature |
1959 Symbol* method_name = cp->name_ref_at(index); |
1952 Symbol* method_name = cp->name_ref_at(index); |