comparison src/share/vm/c1/c1_Runtime1.cpp @ 12337:d0cfa6502dfe

Merge
author jprovino
date Thu, 03 Oct 2013 10:25:54 -0400
parents 190899198332 5186dcaca431
children cefad50507d8 8b80b262e501
comparison
equal deleted inserted replaced
12321:31f0118ea584 12337:d0cfa6502dfe
1076 #endif 1076 #endif
1077 if (do_patch) { 1077 if (do_patch) {
1078 // replace instructions 1078 // replace instructions
1079 // first replace the tail, then the call 1079 // first replace the tail, then the call
1080 #ifdef ARM 1080 #ifdef ARM
1081 if(load_klass_or_mirror_patch_id && !VM_Version::supports_movw()) { 1081 if((load_klass_or_mirror_patch_id ||
1082 stub_id == Runtime1::load_appendix_patching_id) &&
1083 !VM_Version::supports_movw()) {
1082 nmethod* nm = CodeCache::find_nmethod(instr_pc); 1084 nmethod* nm = CodeCache::find_nmethod(instr_pc);
1083 address addr = NULL; 1085 address addr = NULL;
1084 assert(nm != NULL, "invalid nmethod_pc"); 1086 assert(nm != NULL, "invalid nmethod_pc");
1085 RelocIterator mds(nm, copy_buff, copy_buff + 1); 1087 RelocIterator mds(nm, copy_buff, copy_buff + 1);
1086 while (mds.next()) { 1088 while (mds.next()) {
1087 if (mds.type() == relocInfo::oop_type) { 1089 if (mds.type() == relocInfo::oop_type) {
1088 assert(stub_id == Runtime1::load_mirror_patching_id, "wrong stub id"); 1090 assert(stub_id == Runtime1::load_mirror_patching_id ||
1091 stub_id == Runtime1::load_appendix_patching_id, "wrong stub id");
1089 oop_Relocation* r = mds.oop_reloc(); 1092 oop_Relocation* r = mds.oop_reloc();
1090 addr = (address)r->oop_addr(); 1093 addr = (address)r->oop_addr();
1091 break; 1094 break;
1092 } else if (mds.type() == relocInfo::metadata_type) { 1095 } else if (mds.type() == relocInfo::metadata_type) {
1093 assert(stub_id == Runtime1::load_klass_patching_id, "wrong stub id"); 1096 assert(stub_id == Runtime1::load_klass_patching_id, "wrong stub id");