Mercurial > hg > graal-compiler
diff src/share/vm/prims/jvmtiRedefineClasses.cpp @ 12067:e22ee8e7ae62
8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes.
Summary: Change InstanceKlass::_source_file_name and _generic_signature to u2 fields.
Reviewed-by: coleenp, iklam
author | jiangli |
---|---|
date | Mon, 19 Aug 2013 14:59:54 -0400 |
parents | 85147f28faba |
children | ff2520b97b00 |
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiRedefineClasses.cpp Fri Aug 16 10:06:58 2013 -0700 +++ b/src/share/vm/prims/jvmtiRedefineClasses.cpp Mon Aug 19 14:59:54 2013 -0400 @@ -1554,6 +1554,20 @@ return false; } + // rewrite sourc file name index: + u2 source_file_name_idx = scratch_class->source_file_name_index(); + if (source_file_name_idx != 0) { + u2 new_source_file_name_idx = find_new_index(source_file_name_idx); + scratch_class->set_source_file_name_index(new_source_file_name_idx); + } + + // rewrite class generic signature index: + u2 generic_signature_index = scratch_class->generic_signature_index(); + if (generic_signature_index != 0) { + u2 new_generic_signature_index = find_new_index(generic_signature_index); + scratch_class->set_generic_signature_index(new_generic_signature_index); + } + return true; } // end rewrite_cp_refs() @@ -3370,7 +3384,8 @@ // Leave arrays of jmethodIDs and itable index cache unchanged // Copy the "source file name" attribute from new class version - the_class->set_source_file_name(scratch_class->source_file_name()); + the_class->set_source_file_name_index( + scratch_class->source_file_name_index()); // Copy the "source debug extension" attribute from new class version the_class->set_source_debug_extension(