510 // this is an indirect CP entry so it needs special handling |
510 // this is an indirect CP entry so it needs special handling |
511 case JVM_CONSTANT_Dynamic: // fall through |
511 case JVM_CONSTANT_Dynamic: // fall through |
512 case JVM_CONSTANT_InvokeDynamic: |
512 case JVM_CONSTANT_InvokeDynamic: |
513 { |
513 { |
514 // Index of the bootstrap specifier in the operands array |
514 // Index of the bootstrap specifier in the operands array |
515 int old_bs_i = scratch_cp->invoke_dynamic_bootstrap_specifier_index(scratch_i); |
515 int old_bs_i = scratch_cp->bootstrap_methods_attribute_index(scratch_i); |
516 int new_bs_i = find_or_append_operand(scratch_cp, old_bs_i, merge_cp_p, |
516 int new_bs_i = find_or_append_operand(scratch_cp, old_bs_i, merge_cp_p, |
517 merge_cp_length_p, THREAD); |
517 merge_cp_length_p, THREAD); |
518 // The bootstrap method NameAndType_info index |
518 // The bootstrap method NameAndType_info index |
519 int old_ref_i = scratch_cp->invoke_dynamic_name_and_type_ref_index_at(scratch_i); |
519 int old_ref_i = scratch_cp->bootstrap_name_and_type_ref_index_at(scratch_i); |
520 int new_ref_i = find_or_append_indirect_entry(scratch_cp, old_ref_i, merge_cp_p, |
520 int new_ref_i = find_or_append_indirect_entry(scratch_cp, old_ref_i, merge_cp_p, |
521 merge_cp_length_p, THREAD); |
521 merge_cp_length_p, THREAD); |
522 if (new_bs_i != old_bs_i) { |
522 if (new_bs_i != old_bs_i) { |
523 log_trace(redefine, class, constantpool) |
523 log_trace(redefine, class, constantpool) |
524 ("Dynamic entry@%d bootstrap_method_attr_index change: %d to %d", |
524 ("Dynamic entry@%d bootstrap_method_attr_index change: %d to %d", |