equal
deleted
inserted
replaced
186 |
186 |
187 if (MacroAssembler::is_load_const_at(addr)) { |
187 if (MacroAssembler::is_load_const_at(addr)) { |
188 return MacroAssembler::get_const(addr); |
188 return MacroAssembler::get_const(addr); |
189 } else if (MacroAssembler::is_set_narrow_oop(addr, cb->content_begin())) { |
189 } else if (MacroAssembler::is_set_narrow_oop(addr, cb->content_begin())) { |
190 narrowOop no = (narrowOop)MacroAssembler::get_narrow_oop(addr, cb->content_begin()); |
190 narrowOop no = (narrowOop)MacroAssembler::get_narrow_oop(addr, cb->content_begin()); |
191 return (intptr_t)oopDesc::decode_heap_oop(no); |
191 return cast_from_oop<intptr_t>(oopDesc::decode_heap_oop(no)); |
192 } else { |
192 } else { |
193 assert(MacroAssembler::is_load_const_from_method_toc_at(addr), "must be load_const_from_pool"); |
193 assert(MacroAssembler::is_load_const_from_method_toc_at(addr), "must be load_const_from_pool"); |
194 |
194 |
195 address ctable = cb->content_begin(); |
195 address ctable = cb->content_begin(); |
196 int offset = MacroAssembler::get_offset_of_load_const_from_method_toc_at(addr); |
196 int offset = MacroAssembler::get_offset_of_load_const_from_method_toc_at(addr); |
256 while (iter.next()) { |
256 while (iter.next()) { |
257 if (iter.type() == relocInfo::oop_type) { |
257 if (iter.type() == relocInfo::oop_type) { |
258 oop_Relocation *r = iter.oop_reloc(); |
258 oop_Relocation *r = iter.oop_reloc(); |
259 if (oop_addr == NULL) { |
259 if (oop_addr == NULL) { |
260 oop_addr = r->oop_addr(); |
260 oop_addr = r->oop_addr(); |
261 *oop_addr = (oop)data; |
261 *oop_addr = cast_to_oop(data); |
262 } else { |
262 } else { |
263 assert(oop_addr == r->oop_addr(), "must be only one set-oop here") ; |
263 assert(oop_addr == r->oop_addr(), "must be only one set-oop here") ; |
264 } |
264 } |
265 } |
265 } |
266 if (iter.type() == relocInfo::metadata_type) { |
266 if (iter.type() == relocInfo::metadata_type) { |