提交 b0231de6 编写于 作者: J jiangli

Merge

...@@ -1554,19 +1554,23 @@ bool VM_RedefineClasses::rewrite_cp_refs(instanceKlassHandle scratch_class, ...@@ -1554,19 +1554,23 @@ bool VM_RedefineClasses::rewrite_cp_refs(instanceKlassHandle scratch_class,
return false; return false;
} }
// rewrite sourc file name index: // rewrite source file name index:
u2 source_file_name_idx = scratch_class->source_file_name_index(); u2 source_file_name_idx = scratch_class->source_file_name_index();
if (source_file_name_idx != 0) { if (source_file_name_idx != 0) {
u2 new_source_file_name_idx = find_new_index(source_file_name_idx); u2 new_source_file_name_idx = find_new_index(source_file_name_idx);
if (new_source_file_name_idx != 0) {
scratch_class->set_source_file_name_index(new_source_file_name_idx); scratch_class->set_source_file_name_index(new_source_file_name_idx);
} }
}
// rewrite class generic signature index: // rewrite class generic signature index:
u2 generic_signature_index = scratch_class->generic_signature_index(); u2 generic_signature_index = scratch_class->generic_signature_index();
if (generic_signature_index != 0) { if (generic_signature_index != 0) {
u2 new_generic_signature_index = find_new_index(generic_signature_index); u2 new_generic_signature_index = find_new_index(generic_signature_index);
if (new_generic_signature_index != 0) {
scratch_class->set_generic_signature_index(new_generic_signature_index); scratch_class->set_generic_signature_index(new_generic_signature_index);
} }
}
return true; return true;
} // end rewrite_cp_refs() } // end rewrite_cp_refs()
...@@ -1737,7 +1741,10 @@ void VM_RedefineClasses::rewrite_cp_refs_in_method(methodHandle method, ...@@ -1737,7 +1741,10 @@ void VM_RedefineClasses::rewrite_cp_refs_in_method(methodHandle method,
for (int i = 0; i < len; i++) { for (int i = 0; i < len; i++) {
const u2 cp_index = elem[i].name_cp_index; const u2 cp_index = elem[i].name_cp_index;
elem[i].name_cp_index = find_new_index(cp_index); const u2 new_cp_index = find_new_index(cp_index);
if (new_cp_index != 0) {
elem[i].name_cp_index = new_cp_index;
}
} }
} }
} // end rewrite_cp_refs_in_method() } // end rewrite_cp_refs_in_method()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册