comparison src/share/vm/prims/jvmtiRedefineClasses.cpp @ 2011:dad31fc330cd

7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute Reviewed-by: twisti
author jrose
date Fri, 03 Dec 2010 15:53:57 -0800
parents f95d63e2154a
children 8012aa3ccede
comparison
equal deleted inserted replaced
2010:7601ab0e1e33 2011:dad31fc330cd
212 // these are direct CP entries so they can be directly appended, 212 // these are direct CP entries so they can be directly appended,
213 // but double and long take two constant pool entries 213 // but double and long take two constant pool entries
214 case JVM_CONSTANT_Double: // fall through 214 case JVM_CONSTANT_Double: // fall through
215 case JVM_CONSTANT_Long: 215 case JVM_CONSTANT_Long:
216 { 216 {
217 scratch_cp->copy_entry_to(scratch_i, *merge_cp_p, *merge_cp_length_p, 217 constantPoolOopDesc::copy_entry_to(scratch_cp, scratch_i, *merge_cp_p, *merge_cp_length_p,
218 THREAD); 218 THREAD);
219 219
220 if (scratch_i != *merge_cp_length_p) { 220 if (scratch_i != *merge_cp_length_p) {
221 // The new entry in *merge_cp_p is at a different index than 221 // The new entry in *merge_cp_p is at a different index than
222 // the new entry in scratch_cp so we need to map the index values. 222 // the new entry in scratch_cp so we need to map the index values.
237 // These were indirect CP entries, but they have been changed into 237 // These were indirect CP entries, but they have been changed into
238 // symbolOops so these entries can be directly appended. 238 // symbolOops so these entries can be directly appended.
239 case JVM_CONSTANT_UnresolvedClass: // fall through 239 case JVM_CONSTANT_UnresolvedClass: // fall through
240 case JVM_CONSTANT_UnresolvedString: 240 case JVM_CONSTANT_UnresolvedString:
241 { 241 {
242 scratch_cp->copy_entry_to(scratch_i, *merge_cp_p, *merge_cp_length_p, 242 constantPoolOopDesc::copy_entry_to(scratch_cp, scratch_i, *merge_cp_p, *merge_cp_length_p,
243 THREAD); 243 THREAD);
244 244
245 if (scratch_i != *merge_cp_length_p) { 245 if (scratch_i != *merge_cp_length_p) {
246 // The new entry in *merge_cp_p is at a different index than 246 // The new entry in *merge_cp_p is at a different index than
247 // the new entry in scratch_cp so we need to map the index values. 247 // the new entry in scratch_cp so we need to map the index values.
1091 1091
1092 case JVM_CONSTANT_Double: 1092 case JVM_CONSTANT_Double:
1093 case JVM_CONSTANT_Long: 1093 case JVM_CONSTANT_Long:
1094 // just copy the entry to *merge_cp_p, but double and long take 1094 // just copy the entry to *merge_cp_p, but double and long take
1095 // two constant pool entries 1095 // two constant pool entries
1096 old_cp->copy_entry_to(old_i, *merge_cp_p, old_i, CHECK_0); 1096 constantPoolOopDesc::copy_entry_to(old_cp, old_i, *merge_cp_p, old_i, CHECK_0);
1097 old_i++; 1097 old_i++;
1098 break; 1098 break;
1099 1099
1100 default: 1100 default:
1101 // just copy the entry to *merge_cp_p 1101 // just copy the entry to *merge_cp_p
1102 old_cp->copy_entry_to(old_i, *merge_cp_p, old_i, CHECK_0); 1102 constantPoolOopDesc::copy_entry_to(old_cp, old_i, *merge_cp_p, old_i, CHECK_0);
1103 break; 1103 break;
1104 } 1104 }
1105 } // end for each old_cp entry 1105 } // end for each old_cp entry
1106 1106
1107 // We don't need to sanity check that *merge_cp_length_p is within 1107 // We don't need to sanity check that *merge_cp_length_p is within