< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page
rev 52749 : Bootstrap method consolidation
* clean up and simplify JDK support code for BSM invocation
* simplify JVM bootstrap handshake: use BootstrapCallInfo only
* remove unused JVM paths and data fields
* move bootstrap argument processing from MethodHandleNatives to ConstantPool
* remove ConstantGroup; merge argument access into BootstrapCallInfo
* adjust BSM argument access: remove copyArguments, add argumentRef API
* add metadata-free BSM modes, including symbolic arguments from CP

*** 560,570 **** ref_index, CHECK); break; } case JVM_CONSTANT_Dynamic: { const int name_and_type_ref_index = ! cp->invoke_dynamic_name_and_type_ref_index_at(index); check_property(valid_cp_range(name_and_type_ref_index, length) && cp->tag_at(name_and_type_ref_index).is_name_and_type(), "Invalid constant pool index %u in class file %s", name_and_type_ref_index, CHECK); --- 560,570 ---- ref_index, CHECK); break; } case JVM_CONSTANT_Dynamic: { const int name_and_type_ref_index = ! cp->bootstrap_name_and_type_ref_index_at(index); check_property(valid_cp_range(name_and_type_ref_index, length) && cp->tag_at(name_and_type_ref_index).is_name_and_type(), "Invalid constant pool index %u in class file %s", name_and_type_ref_index, CHECK);
*** 575,585 **** cp->set_has_dynamic_constant(); break; } case JVM_CONSTANT_InvokeDynamic: { const int name_and_type_ref_index = ! cp->invoke_dynamic_name_and_type_ref_index_at(index); check_property(valid_cp_range(name_and_type_ref_index, length) && cp->tag_at(name_and_type_ref_index).is_name_and_type(), "Invalid constant pool index %u in class file %s", name_and_type_ref_index, CHECK); --- 575,585 ---- cp->set_has_dynamic_constant(); break; } case JVM_CONSTANT_InvokeDynamic: { const int name_and_type_ref_index = ! cp->bootstrap_name_and_type_ref_index_at(index); check_property(valid_cp_range(name_and_type_ref_index, length) && cp->tag_at(name_and_type_ref_index).is_name_and_type(), "Invalid constant pool index %u in class file %s", name_and_type_ref_index, CHECK);
< prev index next >